diff --git a/.version b/.version index af805b45bd8..d3a61dbd830 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -14.04 \ No newline at end of file +14.10 \ No newline at end of file diff --git a/README.md b/README.md index 8ded8807ede..e59b15425e9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ 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) +* [NixOS installation instructions](http://nixos.org/nixos/manual/#ch-installation) * [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) diff --git a/doc/meta.xml b/doc/meta.xml index 00e9b8ac67a..6c8e458509a 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/quick-start.xml b/doc/quick-start.xml index 35983f0b114..49c674052b9 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/lib/composable-derivation.nix b/lib/composable-derivation.nix index 1099bd152bf..8e8faae3982 100644 --- a/lib/composable-derivation.nix +++ b/lib/composable-derivation.nix @@ -1,15 +1,74 @@ {lib, pkgs} : let inherit (lib) nv nvs; in { - # see for example: - # - development/interpreters/php_configurable/default.nix - # - .. search composableDerivation in all-packages.nix .. + + # composableDerivation basically mixes these features: + # - fix function + # - mergeAttrBy + # - provides shortcuts for "options" such as "--enable-foo" and adding + # buildInputs, see php example # - # You should be able to override anything you like easily - # grep the mailinglist by title "python proposal" (dec 08) - # -> http://mail.cs.uu.nl/pipermail/nix-dev/2008-December/001571.html - # to see why this got complicated when using all its features - # TODO add newer example using new syntax (kernel derivation proposal -> mailinglist) + # It predates styles which are common today, such as + # * the config attr + # * mkDerivation.override feature + # * overrideDerivation (lib/customization.nix) + # + # Some of the most more important usage examples (which could be rewritten if it was important): + # * php + # * postgis + # * vim_configurable + # + # A minimal example illustrating most features would look like this: + # let base = composableDerivation { (fixed : let inherit (fixed.fixed) name in { + # src = fetchurl { + # } + # buildInputs = [A]; + # preConfigre = "echo ${name}"; + # # attention, "name" attr is missing, thus you cannot instantiate "base". + # } + # in { + # # These all add name attribute, thus you can instantiate those: + # v1 = base.merge ({ name = "foo-add-B"; buildInputs = [B]; }); // B gets merged into buildInputs + # v2 = base.merge ({ name = "mix-in-pre-configure-lines" preConfigre = ""; }); + # v3 = base.replace ({ name = "foo-no-A-only-B;" buildInputs = [B]; }); + # } + # + # So yes, you can think about it being something like nixos modules, and + # you'd be merging "features" in one at a time using .merge or .replace + # Thanks Shea for telling me that I rethink the documentation .. + # + # issues: + # * its complicated to understand + # * some "features" such as exact merge behaviour are burried in mergeAttrBy + # and defaultOverridableDelayableArgs assuming the default behaviour does + # the right thing in the common case + # * Eelco once said using such fix style functions are slow to evaluate + # * Too quick & dirty. Hard to understand for others. The benefit was that + # you were able to create a kernel builder like base derivation and replace + # / add patches the way you want without having to declare function arguments + # + # nice features: + # declaring "optional featuers" is modular. For instance: + # flags.curl = { + # configureFlags = ["--with-curl=${curl}" "--with-curlwrappers"]; + # buildInputs = [curl openssl]; + # }; + # flags.other = { .. } + # (Example taken from PHP) + # + # alternative styles / related features: + # * Eg see function supporting building the kernel + # * versionedDerivation (discussion about this is still going on - or ended) + # * composedArgsAndFun + # * mkDerivation.override + # * overrideDerivation + # * using { .., *Support ? false }: like configurable options. + # To find those examples use grep + # + # To sum up: It exists for historical reasons - and for most commonly used + # tasks the alternatives should be used + # + # If you have questions about this code ping Marc Weber. composableDerivation = { mkDerivation ? pkgs.stdenv.mkDerivation, diff --git a/lib/licenses.nix b/lib/licenses.nix index 603fddcb857..e49528f2a2e 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -64,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 "; @@ -202,6 +208,12 @@ url = https://www.mozilla.org/MPL/2.0; }; + ofl = { + shortName = "OFL"; + fullName = "SIL Open Font License"; + url = "http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web"; + }; + openssl = { shortName = "openssl"; fullName = "OpenSSL license"; @@ -254,4 +266,22 @@ fullName = "Sleepycat Public License"; url = "https://en.wikipedia.org/wiki/Sleepycat_License"; }; + + cecill-c = { + shortName = "CeCILL-C"; + fullName = "CEA CNRS INRIA Logiciel Libre"; + url = "http://www.cecill.info/licences.en.html"; + }; + + msrla = { + shortName = "MSR-LA"; + fullName = "Microsoft Research License Agreement"; + url = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt"; + }; + + inria = { + shortName = "INRIA-NCLA"; + fullName = "INRIA Non-Commercial License Agreement"; + url = "http://compcert.inria.fr/doc/LICENSE"; + }; } diff --git a/lib/lists.nix b/lib/lists.nix index 6c7773304de..4b5f04a6758 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -227,6 +227,4 @@ in rec { crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f]; - # List difference, xs - ys. Removes elements of ys from xs. - difference = xs: ys: filter (y: !(builtins.elem y ys)) xs; } diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 34896dfaeac..8a98cb14651 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -14,23 +14,29 @@ AndersonTorres = "Anderson Torres "; andres = "Andres Loeh "; antono = "Antono Vasiljev "; + arobyn = "Alexei Robyn "; astsmtl = "Alexander Tsamutali "; aszlig = "aszlig "; bbenoist = "Baptist BENOIST "; bennofs = "Benno Fünfstück "; + berdario = "Dario Bertini "; bjg = "Brian Gough "; bjornfor = "Bjørn Forsman "; bluescreen303 = "Mathijs Kwik "; bodil = "Bodil Stokke "; calrama = "Moritz Maxeiner "; + cfouche = "Chaddaï Fouché "; chaoflow = "Florian Friesdorf "; coconnor = "Corey O'Connor "; coroa = "Jonas Hörsch "; + cstrahan = "Charles Strahan "; + ederoyd46 = "Matthew Brown "; edwtjo = "Edward Tjörnhammar "; eelco = "Eelco Dolstra "; - emery = "Emery Hemingawy "; + emery = "Emery Hemingway "; ertes = "Ertugrul Söylemez "; falsifian = "James Cook "; + fuuzetsu = "Mateusz Kowalczyk "; garbas = "Rok Garbas "; goibhniu = "Cillian de Róiste "; guibert = "David Guibert "; @@ -39,6 +45,8 @@ iElectric = "Domen Kozar "; iyzsong = "Song Wenwu "; jcumming = "Jack Cummings "; + joelteon = "Joel Taylor "; + jwiegley = "John Wiegley "; kkallio = "Karn Kallio "; ktosiek = "Tomasz Kontusz "; lethalman = "Luca Bruno "; @@ -59,10 +67,12 @@ pierron = "Nicolas B. Pierron "; piotr = "Piotr Pietraszkiewicz "; pkmx = "Chih-Mao Chen "; + plcplc = "Philip Lykke Carlsen "; pSub = "Pascal Wittmann "; qknight = "Joachim Schiele "; raskin = "Michael Raskin <7c6f434c@mail.ru>"; redbaron = "Maxim Ivanov "; + relrod = "Ricky Elrod "; rickynils = "Rickard Nilsson "; rob = "Rob Vermaas "; roconnor = "Russell O'Connor "; @@ -80,12 +90,14 @@ tomberek = "Thomas Bereknyei "; ttuegel = "Thomas Tuegel "; urkud = "Yury G. Kudryashov "; + vbmithr = "Vincent Bernardoff "; 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 "; + wmertens = "Wout Mertens "; z77z = "Marco Maggesi "; zef = "Zef Hemel "; zimbatm = "zimbatm "; diff --git a/lib/modules.nix b/lib/modules.nix index 017c9255246..633b6fc05b2 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -319,6 +319,8 @@ rec { mkForce = mkOverride 50; mkVMOverride = mkOverride 10; # used by ‘nixos-rebuild build-vm’ + mkStrict = builtins.trace "`mkStrict' is obsolete; use `mkOverride 0' instead." (mkOverride 0); + mkFixStrictness = id; # obsolete, no-op mkOrder = priority: content: diff --git a/lib/strings.nix b/lib/strings.nix index cd748f02cc6..5f76da5c33c 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -56,12 +56,14 @@ rec { optionalString = cond: string: if cond then string else ""; - # Determine whether a filename ends in the given suffix. - hasSuffix = ext: fileName: - let lenFileName = stringLength fileName; - lenExt = stringLength ext; - in !(lessThan lenFileName lenExt) && - substring (sub lenFileName lenExt) lenFileName fileName == ext; + # Determine whether a string has given prefix/suffix. + hasPrefix = pref: str: + substring 0 (stringLength pref) str == pref; + hasSuffix = suff: str: + let lenStr = stringLength str; + lenSuff = stringLength suff; + in lenStr >= lenSuff && + substring (lenStr - lenSuff) lenStr str == suff; # Convert a string to a list of characters (i.e. singleton strings). @@ -155,8 +157,18 @@ rec { preLen = stringLength pre; sLen = stringLength s; in - if pre == substring 0 preLen s then - substring preLen (sub sLen preLen) s + if hasPrefix pre s then + substring preLen (sLen - preLen) s + else + s; + + removeSuffix = suf: s: + let + sufLen = stringLength suf; + sLen = stringLength s; + in + if sufLen <= sLen && suf == substring (sLen - sufLen) sufLen s then + substring 0 (sLen - sufLen) s else s; diff --git a/lib/types.nix b/lib/types.nix index baf8aa5e574..f5700ab0269 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -194,6 +194,12 @@ rec { args = { name = ""; }; }).options; }; + enum = values: mkOptionType { + name = "one of ${concatStringsSep ", " values}"; + check = flip elem values; + merge = mergeOneOption; + }; + # Obsolete alternative to configOf. It takes its option # declarations from the ‘options’ attribute of containing option # declaration. diff --git a/maintainers/scripts/copy-tarballs.pl b/maintainers/scripts/copy-tarballs.pl index 0746fb21069..c6d77529dd4 100755 --- a/maintainers/scripts/copy-tarballs.pl +++ b/maintainers/scripts/copy-tarballs.pl @@ -75,7 +75,6 @@ foreach my $file (@{$data->{list}->{attrs}}) { 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; @@ -92,4 +91,7 @@ foreach my $file (@{$data->{list}->{attrs}}) { my $sha256 = hashFile("sha256", 0, $storePath) or die; symlink("../$fn", "$tarballsCache/sha256/$sha256"); + + $sha256 = hashFile("sha256", 1, $storePath) or die; + symlink("../$fn", "$tarballsCache/sha256/$sha256"); } diff --git a/nixos/doc/manual/configuration.xml b/nixos/doc/manual/configuration.xml index 246ab11587a..803a3393d15 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 @@ -538,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 @@ -730,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: @@ -935,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"; @@ -1183,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: @@ -1195,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. -hardware.opengl.videoDrivers = [ "r128" ]; +services.xserver.videoDrivers = [ "r128" ]; to enable X.org’s xf86-video-r128 driver. @@ -1238,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: -hardware.opengl.videoDrivers = [ "nvidia" ]; +services.xserver.videoDrivers = [ "nvidia" ]; You may need to reboot after enabling this driver to prevent a clash with other kernel modules. @@ -1275,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: @@ -1305,7 +1305,7 @@ users.extraUsers.alice.openssh.authorizedKeys.keys =
-
IPv4 configuration +
IPv4 configuration By default, NixOS uses DHCP (specifically, dhcpcd) to automatically configure network @@ -1348,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 @@ -1363,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 ]; @@ -1395,7 +1397,7 @@ always allowed.)
-
Wireless networks +
Wireless networks NixOS will start wpa_supplicant for you if you enable this setting: @@ -1456,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 index b8f170fc614..2530d519521 100644 --- a/nixos/doc/manual/containers.xml +++ b/nixos/doc/manual/containers.xml @@ -213,8 +213,8 @@ $ ping -c1 10.233.4.2 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 +called ve-container-name +(e.g., ve-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 @@ -228,11 +228,11 @@ on the host: networking.nat.enable = true; -networking.nat.internalInterfaces = ["c-+"]; +networking.nat.internalInterfaces = ["ve-+"]; networking.nat.externalInterface = "eth0"; where eth0 should be replaced with the desired -external interface. Note that c-+ is a wildcard +external interface. Note that ve-+ is a wildcard that matches all container interfaces.
diff --git a/nixos/doc/manual/development.xml b/nixos/doc/manual/development.xml index be1cbc97d5e..2f0c2a7aa8d 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 @@ -38,7 +39,37 @@ This will check out the latest NixOS sources to and the Nixpkgs sources to /my/sources/nixpkgs. (The NixOS source tree lives in a subdirectory of the Nixpkgs -repository.) If you want to rebuild your system using your (modified) +repository.) + +It’s often inconvenient to develop directly on the master +branch, since if somebody has just committed (say) a change to GCC, +then the binary cache may not have caught up yet and you’ll have to +rebuild everything from source. So you may want to create a local +branch based on your current NixOS version: + + +$ nixos-version +14.04.273.ea1952b (Baboon) + +$ git checkout -b local ea1952b + + +Or, to base your local branch on the latest version available in the +NixOS channel: + + +$ curl -sI http://nixos.org/channels/nixos-unstable/ | grep Location +Location: http://releases.nixos.org/nixos/unstable/nixos-14.10pre43986.acaf4a6/ + +$ git checkout -b local acaf4a6 + + +You can then use git rebase to sync your local +branch with the upstream branch, and use git +cherry-pick to copy commits from your local branch to the +upstream branch. + +If you want to rebuild your system using your (modified) sources, you need to tell nixos-rebuild about them using the flag: @@ -74,7 +105,7 @@ in nixos/ as packages. -
+
Writing NixOS modules @@ -188,9 +219,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 +610,7 @@ systemd.services.dhcpcd = -
+
Building specific parts of NixOS @@ -692,7 +723,7 @@ $ systemctl start tmp-httpd.service -
+
Building your own NixOS CD @@ -728,18 +759,22 @@ $ mount -o loop -t iso9660 ./result/iso/cd.iso /mnt/iso Testing the installer -Building, burning, and -booting from an installation CD is rather +Building, burning, and booting from an installation CD is rather tedious, so here is a quick way to see if the installer works properly: $ nix-build -A config.system.build.nixos-install -$ dd if=/dev/zero of=diskimage seek=2G count=0 bs=1 -$ yes | mke2fs -j diskimage -$ mount -o loop diskimage /mnt +$ mount -t tmpfs none /mnt $ ./result/bin/nixos-install +To start a login shell in the new NixOS installation in +/mnt: + + +$ ./result/bin/nixos-install --chroot + +
@@ -748,57 +783,310 @@ $ ./result/bin/nixos-install -
Whole-system testing using virtual machines +
-Complete NixOS GNU/Linux systems can be tested in virtual -machines (VMs). This makes it possible to test a system upgrade or -configuration change before rebooting into it, using the -nixos-rebuild build-vm or nixos-rebuild -build-vm-with-bootloader command. +NixOS tests - -The tests/ directory in the NixOS source -tree contains several whole-system unit tests. -These tests can be runNixOS tests can be run both from -NixOS and from a non-NixOS GNU/Linux distribution, provided the Nix -package manager is installed. from the NixOS source -tree as follows: +When you add some feature to NixOS, you should write a test for +it. NixOS tests are kept in the directory nixos/tests, +and are executed (using Nix) by a testing framework that automatically +starts one or more virtual machines containing the NixOS system(s) +required for the test. + +Writing tests + +A NixOS test is a Nix expression that has the following structure: + + +import ./make-test.nix { + + # Either the configuration of a single machine: + machine = + { config, pkgs, ... }: + { configuration… + }; + + # Or a set of machines: + nodes = + { machine1 = + { config, pkgs, ... }: { }; + machine2 = + { config, pkgs, ... }: { }; + … + }; + + testScript = + '' + Perl code… + ''; +} + + +The attribute testScript is a bit of Perl code that +executes the test (described below). During the test, it will start +one or more virtual machines, the configuration of which is described +by the attribute machine (if you need only one +machine in your test) or by the attribute nodes (if +you need multiple machines). For instance, login.nix +only needs a single machine to test whether users can log in on the +virtual console, whether device ownership is correctly maintained when +switching between consoles, and so on. On the other hand, nfs.nix, +which tests NFS client and server functionality in the Linux kernel +(including whether locks are maintained across server crashes), +requires three machines: a server and two clients. + +There are a few special NixOS configuration options for test +VMs: + + + + + + + + The memory of the VM in + megabytes. + + + + + The virtual networks to which the VM is + connected. See nat.nix + for an example. + + + + + By default, the Nix store in the VM is not + writable. If you enable this option, a writable union file system + is mounted on top of the Nix store to make it appear + writable. This is necessary for tests that run Nix operations that + modify the store. + + + + +For more options, see the module qemu-vm.nix. + +The test script is a sequence of Perl statements that perform +various actions, such as starting VMs, executing commands in the VMs, +and so on. Each virtual machine is represented as an object stored in +the variable $name, +where name is the identifier of the machine +(which is just machine if you didn’t specify +multiple machines using the nodes attribute). For +instance, the following starts the machine, waits until it has +finished booting, then executes a command and checks that the output +is more-or-less correct: + + +$machine->start; +$machine->waitForUnit("default.target"); +$machine->succeed("uname") =~ /Linux/; + + +The first line is actually unnecessary; machines are implicitly +started when you first execute an action on them (such as +waitForUnit or succeed). If you +have multiple machines, you can speed up the test by starting them in +parallel: + + +startAll; + + + + +The following methods are available on machine objects: + + + + + start + Start the virtual machine. This method is + asynchronous — it does not wait for the machine to finish + booting. + + + + shutdown + Shut down the machine, waiting for the VM to + exit. + + + + crash + Simulate a sudden power failure, by telling the VM + to exit immediately. + + + + block + Simulate unplugging the Ethernet cable that + connects the machine to the other machines. + + + + unblock + Undo the effect of + block. + + + + screenshot + Take a picture of the display of the virtual + machine, in PNG format. The screenshot is linked from the HTML + log. + + + + sendMonitorCommand + Send a command to the QEMU monitor. This is rarely + used, but allows doing stuff such as attaching virtual USB disks + to a running machine. + + + + sendKeys + Simulate pressing keys on the virtual keyboard, + e.g., sendKeys("ctrl-alt-delete"). + + + + sendChars + Simulate typing a sequence of characters on the + virtual keyboard, e.g., sendKeys("foobar\n") + will type the string foobar followed by the + Enter key. + + + + execute + Execute a shell command, returning a list + (status, + stdout). + + + + succeed + Execute a shell command, raising an exception if + the exit status is not zero, otherwise returning the standard + output. + + + + fail + Like succeed, but raising + an exception if the command returns a zero status. + + + + waitUntilSucceeds + Repeat a shell command with 1-second intervals + until it succeeds. + + + + waitUntilFails + Repeat a shell command with 1-second intervals + until it fails. + + + + waitForUnit + Wait until the specified systemd unit has reached + the “active” state. + + + + waitForFile + Wait until the specified file + exists. + + + + waitForOpenPort + Wait until a process is listening on the given TCP + port (on localhost, at least). + + + + waitForClosedPort + Wait until nobody is listening on the given TCP + port. + + + + waitForX + Wait until the X11 server is accepting + connections. + + + + waitForWindow + Wait until an X11 window has appeared whose name + matches the given regular expression, e.g., + waitForWindow(qr/Terminal/). + + + + + + + + + +Running tests + +You can run tests using nix-build. For +example, to run the test login.nix, +you just do: -$ nix-build tests/ -A nfs.test +$ nix-build '<nixpkgs/nixos/tests/login.nix>' -This performs an automated test of the NFS client and server -functionality in the Linux kernel, including file locking semantics -(e.g., whether locks are maintained across server crashes). It will -first build or download all the dependencies of the test (e.g., all -packages needed to run a NixOS VM). The test is defined in -tests/nfs.nix. If the test succeeds, -nix-build will place a symlink -./result in the current directory pointing at the -location in the Nix store of the test results (e.g., screenshots, test -reports, and so on). In particular, a pretty-printed log of the test -is written to log.html, which can be viewed using -a web browser like this: +or, if you don’t want to rely on NIX_PATH: + + +$ cd /my/nixpkgs/nixos/tests +$ nix-build login.nix +… +running the VM test script +machine: QEMU running (pid 8841) +… +6 out of 6 tests succeeded + + +After building/downloading all required dependencies, this will +perform a build that starts a QEMU/KVM virtual machine containing a +NixOS system. The virtual machine mounts the Nix store of the host; +this makes VM creation very fast, as no disk image needs to be +created. Afterwards, you can view a pretty-printed log of the test: $ firefox result/log.html + It is also possible to run the test environment interactively, allowing you to experiment with the VMs. For example: -$ nix-build tests/ -A nfs.driver +$ nix-build login.nix -A driver $ ./result/bin/nixos-run-vms -The script nixos-run-vms starts the three virtual -machines defined in the NFS test using QEMU/KVM. The root file system -of the VMs is created on the fly and kept across VM restarts in +The script nixos-run-vms starts the virtual +machines defined by test. The root file system of the VMs is created +on the fly and kept across VM restarts in ./hostname.qcow2. Finally, the test itself can be run interactively. This is @@ -811,17 +1099,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 +1111,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 f6b477ed69b..fa4b89e6ba8 100644 --- a/nixos/doc/manual/installation.xml +++ b/nixos/doc/manual/installation.xml @@ -1,13 +1,13 @@ + xml:id="ch-installation"> Installing NixOS -
+
Obtaining NixOS @@ -51,7 +51,7 @@ running NixOS system through several other means: -
+
Installation @@ -209,7 +209,20 @@ $ nixos-install a network issue while downloading binaries from the NixOS binary cache), you can just re-run nixos-install. Otherwise, fix your configuration.nix and - then re-run nixos-install. + then re-run nixos-install. + + As the last step, nixos-install will ask + you to set the password for the root user, e.g. + + +setting root password... +Enter new UNIX password: *** +Retype new UNIX password: *** + + + + + If everything went well: @@ -318,8 +331,7 @@ changes: You must set to - true, and - to false. nixos-generate-config + true. nixos-generate-config should do this automatically for new configurations when booted in UEFI mode. @@ -339,7 +351,7 @@ changes:
-Booting from a USB stick +Booting from a USB stick For systems withoua CD drive, the NixOS livecd can be booted from a usb stick. For non-UEFI installations, @@ -473,7 +485,7 @@ been built. These channels are: Stable channels, such as nixos-13.10. + xlink:href="http://nixos.org/channels/nixos-14.04">nixos-14.04. These only get conservative bug fixes and package upgrades. For instance, a channel update may cause the Linux kernel on your system to be upgraded from 3.4.66 to 3.4.67 (a minor bug fix), but @@ -499,8 +511,8 @@ appliances.) When you first install NixOS, you’re automatically subscribed to the NixOS channel that corresponds to your installation source. For -instance, if you installed from a 13.10 ISO, you will be subscribed to -the nixos-13.10 channel. To see which NixOS +instance, if you installed from a 14.04 ISO, you will be subscribed to +the nixos-14.04 channel. To see which NixOS channel you’re subscribed to, run the following as root: @@ -515,10 +527,10 @@ $ nix-channel --add http://nixos.org/channels/channel-name (Be sure to include the nixos parameter at the -end.) For instance, to use the NixOS 13.10 stable channel: +end.) For instance, to use the NixOS 14.04 stable channel: -$ nix-channel --add http://nixos.org/channels/nixos-13.10 nixos +$ nix-channel --add http://nixos.org/channels/nixos-14.04 nixos But it you want to live on the bleeding edge: diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml index d5157859857..0ebee7d23f9 100644 --- a/nixos/doc/manual/man-nixos-install.xml +++ b/nixos/doc/manual/man-nixos-install.xml @@ -42,6 +42,9 @@ the following steps: and generates a GRUB configuration file that boots into the NixOS configuration just installed. + It prompts you for a password for the root + account. + diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml index 5753a8ff9e7..8d7c28dee73 100644 --- a/nixos/doc/manual/manual.xml +++ b/nixos/doc/manual/manual.xml @@ -60,7 +60,7 @@ - List of options + Configuration options diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl index 9647aae0f2f..bb65a49217f 100644 --- a/nixos/doc/manual/options-to-docbook.xsl +++ b/nixos/doc/manual/options-to-docbook.xsl @@ -18,13 +18,12 @@ + - + + diff --git a/nixos/doc/manual/release-notes.xml b/nixos/doc/manual/release-notes.xml index 10815ba613a..52e88bb4c86 100644 --- a/nixos/doc/manual/release-notes.xml +++ b/nixos/doc/manual/release-notes.xml @@ -1,16 +1,40 @@ Release notes -
+
-Release 14.04 (“Baboon”, 2014/04/??) +Release 14.10 (“Caterpillar”, 2014/10/??) -This is the second stable release branch of NixOS. The main -enhancements are the following: +When upgrading from a previous release, please be aware of the +following incompatible changes: + + + + The host side of a container virtual Ethernet pair + is now called ve-container-name + rather than c-container-name. + + + + + +
+ + + + +
+ +Release 14.04 (“Baboon”, 2014/04/30) + +This is the second stable release branch of NixOS. In addition +to numerous new and upgraded packages and modules, this release has +the following highlights: @@ -18,9 +42,65 @@ enhancements are the following: for details. + Systemd has been updated to version 212, which has + numerous + improvements. NixOS now automatically starts systemd user + instances when you log in. You can define global user units through + the options. + NixOS is now based on Glibc 2.19 and GCC 4.8. + The default Linux kernel has been updated to + 3.12. + + KDE has been updated to 4.12. + + GNOME 3.10 experimental support has been added. + + Nix has been updated to 1.7 (details). + + NixOS now supports fully declarative management of + users and groups. If you set to + false, then the contents of + /etc/passwd and /etc/group + will be congruent + to your NixOS configuration. For instance, if you remove a user from + and run + nixos-rebuild, the user account will cease to + exist. Also, imperative commands for managing users and groups, such + as useradd, are no longer available. If + is true (the + default), then behaviour is unchanged from NixOS + 13.10. + + NixOS now has basic container support, meaning you + can easily run a NixOS instance as a container in a NixOS host + system. These containers are suitable for testing and + experimentation but not production use, since they’re not fully + isolated from the host. See for + details. + + Systemd units provided by packages can now be + overridden from the NixOS configuration. For instance, if a package + foo provides systemd units, you can say: + + +systemd.packages = [ pkgs.foo ]; + + + to enable those units. You can then set or override unit options in + the usual way, e.g. + + +systemd.services.foo.wantedBy = [ "multi-user.target" ]; +systemd.services.foo.serviceConfig.MemoryLimit = "512M"; + + + + @@ -47,6 +127,18 @@ error: package ‘nvidia-x11-331.49-3.12.17’ in ‘…/nvidia-x11/default.nix: + The Adobe Flash player is no longer enabled by + default in the Firefox and Chromium wrappers. To enable it, you must + set: + + +nixpkgs.config.allowUnfree = true; +nixpkgs.config.firefox.enableAdobeFlash = true; # for Firefox +nixpkgs.config.chromium.enableAdobeFlash = true; # for Chromium + + + + The firewall is now enabled by default. If you don’t want this, you need to disable it explicitly: @@ -65,6 +157,28 @@ networking.firewall.enable = false; sets a default for the option . + Package variants are now differentiated by suffixing + the name, rather than the version. For instance, + sqlite-3.8.4.3-interactive is now called + sqlite-interactive-3.8.4.3. This ensures that + nix-env -i sqlite is unambiguous, and that + nix-env -u won’t “upgrade” + sqlite to sqlite-interactive + or vice versa. Notably, this change affects the Firefox wrapper + (which provides plugins), as it is now called + firefox-wrapper. So when using + nix-env, you should do nix-env -e + firefox; nix-env -i firefox-wrapper if you want to keep + using the wrapper. This change does not affect declarative package + management, since attribute names like + pkgs.firefoxWrapper were already + unambiguous. + + The symlink /etc/ca-bundle.crt + is gone. Programs should instead use the environment variable + OPENSSL_X509_CERT_FILE (which points to + /etc/ssl/certs/ca-bundle.crt). + diff --git a/nixos/doc/manual/running.xml b/nixos/doc/manual/running.xml index e50099707cc..e1a358df2aa 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 c6e0a3a7888..c7d65112b64 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 e082b174454..0fa00637a93 100644 --- a/nixos/lib/eval-config.nix +++ b/nixos/lib/eval-config.nix @@ -58,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 99810f87750..e2bd3393d87 100644 --- a/nixos/lib/test-driver/Machine.pm +++ b/nixos/lib/test-driver/Machine.pm @@ -495,7 +495,7 @@ sub waitForX { my ($self, $regexp) = @_; $self->nest("waiting for the X11 server", sub { retry sub { - my ($status, $out) = $self->execute("journalctl -bu systemd-logind | grep Linked"); + 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 358c29e515f..8ad0d67f68c 100644 --- a/nixos/lib/test-driver/test-driver.pl +++ b/nixos/lib/test-driver/test-driver.pl @@ -52,12 +52,12 @@ sub createMachine { my ($args) = @_; my $vm = Machine->new({%{$args}, log => $log, redirectSerial => ($ENV{USE_SERIAL} // "0") ne "1"}); $vms{$vm->name} = $vm; + $context .= "my \$" . $vm->name . " = \$vms{'" . $vm->name . "'}; "; return $vm; } foreach my $vmScript (@ARGV) { my $vm = createMachine({startCommand => $vmScript}); - $context .= "my \$" . $vm->name . " = \$vms{'" . $vm->name . "'}; "; } diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index d5338bc04ca..942a2158b15 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -67,57 +67,55 @@ rec { }; - makeTest = testFun: complete (call testFun); - makeTests = testsFun: lib.mapAttrs (name: complete) (call testsFun); + makeTest = + { testScript, makeCoverageReport ? false, ... } @ t: - apply = makeTest; # compatibility - call = f: f { inherit pkgs system; }; + let - complete = { testScript, ... } @ t: t // rec { + nodes = buildVirtualNetwork ( + t.nodes or (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 testScript + then testScript { inherit nodes; } + else testScript; - testScript = - # Call the test script with the computed nodes. - if builtins.isFunction t.testScript - then t.testScript { inherit nodes; } - else t.testScript; + vlans = map (m: m.config.virtualisation.vlans) (lib.attrValues nodes); - 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]; + 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"} + ''; # " - # 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; - test = runTests driver; + report = releaseTools.gcovReport { coverageRuns = [ test ]; }; - report = releaseTools.gcovReport { coverageRuns = [ test ]; }; - }; + in (if makeCoverageReport then report else test) // { inherit driver test; }; runInMachine = @@ -147,7 +145,7 @@ rec { exit $? ''; - testscript = '' + testScript = '' startAll; $client->waitForUnit("multi-user.target"); ${preBuild} @@ -160,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 ''; # */ @@ -198,6 +196,6 @@ rec { } // args); - simpleTest = as: (makeTest ({ ... }: as)).test; + simpleTest = as: (makeTest as).test; } diff --git a/nixos/maintainers/scripts/ec2/amazon-base-config.nix b/nixos/maintainers/scripts/ec2/amazon-base-config.nix new file mode 100644 index 00000000000..d23f15e828b --- /dev/null +++ b/nixos/maintainers/scripts/ec2/amazon-base-config.nix @@ -0,0 +1,5 @@ +{ modulesPath, ...}: +{ + imports = [ "${modulesPath}/virtualisation/amazon-config.nix" ]; + services.journald.rateLimitBurst = 0; +} diff --git a/nixos/maintainers/scripts/ec2/amazon-hvm-config.nix b/nixos/maintainers/scripts/ec2/amazon-hvm-config.nix new file mode 100644 index 00000000000..d0c7f3a6a6c --- /dev/null +++ b/nixos/maintainers/scripts/ec2/amazon-hvm-config.nix @@ -0,0 +1,5 @@ +{ config, pkgs, ...}: +{ + imports = [ ./amazon-base-config.nix ]; + ec2.hvm = true; +} diff --git a/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix b/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix new file mode 100644 index 00000000000..d9feba164a7 --- /dev/null +++ b/nixos/maintainers/scripts/ec2/amazon-hvm-install-config.nix @@ -0,0 +1,33 @@ +{ config, pkgs, lib, ...}: +let + cloudUtils = pkgs.fetchurl { + url = "https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz"; + sha256 = "16shlmg36lidp614km41y6qk3xccil02f5n3r4wf6d1zr5n4v8vd"; + }; + growpart = pkgs.stdenv.mkDerivation { + name = "growpart"; + src = cloudUtils; + buildPhase = '' + cp bin/growpart $out + sed -i 's|awk|gawk|' $out + sed -i 's|sed|gnused|' $out + ''; + dontInstall = true; + dontPatchShebangs = true; + }; +in +{ + imports = [ ./amazon-base-config.nix ]; + ec2.hvm = true; + boot.loader.grub.device = lib.mkOverride 0 "nodev"; + + boot.initrd.extraUtilsCommands = '' + cp -v ${pkgs.gawk}/bin/gawk $out/bin/gawk + cp -v ${pkgs.gnused}/bin/sed $out/bin/gnused + cp -v ${pkgs.utillinux}/sbin/sfdisk $out/bin/sfdisk + cp -v ${growpart} $out/bin/growpart + ''; + boot.initrd.postDeviceCommands = '' + [ -e /dev/xvda ] && [ -e /dev/xvda1 ] && TMPDIR=/run sh $(type -P growpart) /dev/xvda 1 + ''; +} diff --git a/nixos/maintainers/scripts/ec2/create-ebs-amis.py b/nixos/maintainers/scripts/ec2/create-ebs-amis.py index eab111a2665..14607b9a367 100755 --- a/nixos/maintainers/scripts/ec2/create-ebs-amis.py +++ b/nixos/maintainers/scripts/ec2/create-ebs-amis.py @@ -8,15 +8,17 @@ import nixops.util from nixops import deployment from boto.ec2.blockdevicemapping import BlockDeviceMapping, BlockDeviceType import boto.ec2 +from nixops.statefile import StateFile, get_default_state_file parser = argparse.ArgumentParser(description='Create an EBS-backed NixOS AMI') parser.add_argument('--region', dest='region', required=True, help='EC2 region to create the image in') +parser.add_argument('--channel', dest='channel', default="13.10", help='Channel to use') parser.add_argument('--keep', dest='keep', action='store_true', help='Keep NixOps machine after use') parser.add_argument('--hvm', dest='hvm', action='store_true', help='Create HVM image') parser.add_argument('--key', dest='key_name', action='store_true', help='Keypair used for HVM instance creation', default="rob") args = parser.parse_args() -instance_type = "m3.xlarge" if args.hvm else "m1.small" +instance_type = "m3.medium" if args.hvm else "m1.small" ebs_size = 8 if args.hvm else 20 @@ -37,11 +39,11 @@ f.write('''{{ '''.format(args.region, ebs_size)) f.close() -db = deployment.open_database(deployment.get_default_state_file()) +db = StateFile(get_default_state_file()) try: - depl = deployment.open_deployment(db, "ebs-creator") + depl = db.open_deployment("ebs-creator") except Exception: - depl = deployment.create_deployment(db) + depl = db.create_deployment() depl.name = "ebs-creator" depl.auto_response = "y" depl.nix_exprs = [os.path.abspath("./ebs-creator.nix"), os.path.abspath("./ebs-creator-config.nix")] @@ -50,7 +52,6 @@ depl.deploy(allow_reboot=True) m = depl.machines['machine'] - # Do the installation. device="/dev/xvdg" if args.hvm: @@ -64,24 +65,27 @@ m.run_command("mkdir -p /mnt") m.run_command("mount {0} /mnt".format(device)) m.run_command("touch /mnt/.ebs") m.run_command("mkdir -p /mnt/etc/nixos") -m.run_command("nix-channel --add http://nixos.org/channels/nixos-unstable") + +m.run_command("nix-channel --add http://nixos.org/channels/nixos-{} nixos".format(args.channel)) m.run_command("nix-channel --update") -m.run_command("nixos-rebuild switch") -version = m.run_command("nixos-version", capture_stdout=True).split(' ')[0] + +version = m.run_command("nix-instantiate --eval-only -A lib.nixpkgsVersion ''", capture_stdout=True).split(' ')[0].replace('"','').strip() print >> sys.stderr, "NixOS version is {0}".format(version) -m.upload_file("./amazon-base-config.nix", "/mnt/etc/nixos/configuration.nix") -m.run_command("nixos-install") if args.hvm: + m.upload_file("./amazon-base-config.nix", "/mnt/etc/nixos/amazon-base-config.nix") + m.upload_file("./amazon-hvm-config.nix", "/mnt/etc/nixos/configuration.nix") + m.upload_file("./amazon-hvm-install-config.nix", "/mnt/etc/nixos/amazon-hvm-install-config.nix") + m.run_command("NIXOS_CONFIG=/etc/nixos/amazon-hvm-install-config.nix nixos-install") m.run_command('nix-env -iA nixos.pkgs.grub') m.run_command('cp /nix/store/*-grub-0.97*/lib/grub/i386-pc/* /mnt/boot/grub') - m.run_command('sed -i "s|hd0|hd0,0|" /mnt/boot/grub/menu.lst') m.run_command('echo "(hd1) /dev/xvdg" > device.map') m.run_command('echo -e "root (hd1,0)\nsetup (hd1)" | grub --device-map=device.map --batch') - +else: + m.upload_file("./amazon-base-config.nix", "/mnt/etc/nixos/configuration.nix") + m.run_command("nixos-install") m.run_command("umount /mnt") - if args.hvm: ami_name = "nixos-{0}-x86_64-ebs-hvm".format(version) description = "NixOS {0} (x86_64; EBS root; hvm)".format(version) diff --git a/nixos/maintainers/scripts/ec2/ebs-creator.nix b/nixos/maintainers/scripts/ec2/ebs-creator.nix index 43dbd86f675..37795d5d5b4 100644 --- a/nixos/maintainers/scripts/ec2/ebs-creator.nix +++ b/nixos/maintainers/scripts/ec2/ebs-creator.nix @@ -4,10 +4,11 @@ machine = { config, pkgs, resources, ... }: { deployment.targetEnv = "ec2"; - deployment.ec2.instanceType = "m1.large"; + deployment.ec2.instanceType = "c3.large"; deployment.ec2.securityGroups = [ "admin" ]; deployment.ec2.ebsBoot = false; deployment.ec2.keyPair = resources.ec2KeyPairs.keypair.name; + deployment.ec2.zone = "us-east-1e"; environment.systemPackages = [ pkgs.parted ]; }; } diff --git a/nixos/maintainers/scripts/gce/create-gce.sh b/nixos/maintainers/scripts/gce/create-gce.sh new file mode 100755 index 00000000000..8bf36f33c7d --- /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 7de95200cfa..ad797087932 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; { @@ -25,7 +25,7 @@ with pkgs.lib; config = mkIf config.fonts.enableCoreFonts { - fonts.extraFonts = [ pkgs.corefonts ]; + fonts.fonts = [ pkgs.corefonts ]; }; diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix index 987bb1088c0..cf70ca264d6 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 a4f69809b2a..c78b52fe29e 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 f43784f6d03..49b1e1d42a3 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; { @@ -10,40 +10,37 @@ with pkgs.lib; # TODO: find another name for it. fonts = mkOption { - default = [ - # - the user's .fonts directory - "~/.fonts" - # - the user's current profile - "~/.nix-profile/lib/X11/fonts" - "~/.nix-profile/share/fonts" - # - the default profile - "/nix/var/nix/profiles/default/lib/X11/fonts" - "/nix/var/nix/profiles/default/share/fonts" - ]; - description = "List of primary font paths."; - apply = list: list ++ [ - # - a few statically built locations - pkgs.xorg.fontbhttf - pkgs.xorg.fontbhlucidatypewriter100dpi - pkgs.xorg.fontbhlucidatypewriter75dpi - pkgs.ttf_bitstream_vera - pkgs.freefont_ttf - pkgs.liberation_ttf - pkgs.xorg.fontbh100dpi - pkgs.xorg.fontmiscmisc - pkgs.xorg.fontcursormisc - ] - ++ config.fonts.extraFonts; - }; - - extraFonts = mkOption { - default = []; + type = types.listOf types.path; example = [ pkgs.dejavu_fonts ]; - description = "List of packages with additional fonts."; + description = "List of primary font paths."; + apply = list: list ++ + [ # - the user's current profile + "~/.nix-profile/lib/X11/fonts" + "~/.nix-profile/share/fonts" + # - the default profile + "/nix/var/nix/profiles/default/lib/X11/fonts" + "/nix/var/nix/profiles/default/share/fonts" + ]; }; }; }; + config = { + + fonts.fonts = + [ pkgs.xorg.fontbhttf + pkgs.xorg.fontbhlucidatypewriter100dpi + pkgs.xorg.fontbhlucidatypewriter75dpi + pkgs.ttf_bitstream_vera + pkgs.freefont_ttf + pkgs.liberation_ttf + pkgs.xorg.fontbh100dpi + pkgs.xorg.fontmiscmisc + pkgs.xorg.fontcursormisc + ]; + + }; + } diff --git a/nixos/modules/config/fonts/ghostscript.nix b/nixos/modules/config/fonts/ghostscript.nix index 9ef00396808..1c62a525de9 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; { @@ -25,7 +25,7 @@ with pkgs.lib; config = mkIf config.fonts.enableGhostscriptFonts { - fonts.extraFonts = [ "${pkgs.ghostscript}/share/ghostscript/fonts" ]; + fonts.fonts = [ "${pkgs.ghostscript}/share/ghostscript/fonts" ]; }; diff --git a/nixos/modules/config/gnu.nix b/nixos/modules/config/gnu.nix index 6f5d2950463..f8c35b440d1 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 310739aa170..8182b8ae808 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 @@ -76,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 3323046ac5b..bb5a95ebc84 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 113f5d8bcbd..8171f460385 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 9ac68b42819..43717697ebd 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 ec7bf3fea7b..f91dbb4cc28 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 2e2125d44f7..45695d9cb89 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 c80b1ec3ddc..17f3ed00b9b 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,11 +65,7 @@ in config = mkIf cfg.enable { - 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 db4f1b43a11..9802b898a5d 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -1,24 +1,26 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; with pkgs; let cfg = config.hardware.pulseaudio; + systemWide = cfg.enable && cfg.systemWide; + nonSystemWide = cfg.enable && !cfg.systemWide; + uid = config.ids.uids.pulseaudio; gid = config.ids.gids.pulseaudio; - pulseRuntimePath = "/var/run/pulse"; + stateDir = "/run/pulse"; # Create pulse/client.conf even if PulseAudio is disabled so # that we can disable the autospawn feature in programs that # are built with PulseAudio support (like KDE). clientConf = writeText "client.conf" '' - autospawn=${if (cfg.enable && !cfg.systemWide) then "yes" else "no"} - ${optionalString (cfg.enable && !cfg.systemWide) - "daemon-binary=${cfg.package}/bin/pulseaudio"} + autospawn=${if nonSystemWide then "yes" else "no"} + ${optionalString nonSystemWide "daemon-binary=${cfg.package}/bin/pulseaudio"} ''; # Write an /etc/asound.conf that causes all ALSA applications to @@ -68,7 +70,7 @@ in { configFile = mkOption { type = types.uniq types.path; - default = "${pulseaudio}/etc/pulse/default.pa"; + default = "${cfg.package}/etc/pulse/default.pa"; description = '' The path to the configuration the PulseAudio server should use. By default, the "default.pa" configuration @@ -86,6 +88,17 @@ in { default PulseAudio in Nixpkgs. ''; }; + + daemon = { + logLevel = mkOption { + type = types.str; + default = "notice"; + description = '' + The log level that the system-wide pulseaudio daemon should use, + if activated. + ''; + }; + }; }; }; @@ -111,21 +124,20 @@ in { security.rtkit.enable = true; }) - (mkIf (cfg.enable && !cfg.systemWide) { + (mkIf nonSystemWide { environment.etc = singleton { target = "pulse/default.pa"; source = cfg.configFile; }; }) - (mkIf (cfg.enable && cfg.systemWide) { + (mkIf systemWide { users.extraUsers.pulse = { # For some reason, PulseAudio wants UID == GID. uid = assert uid == gid; uid; group = "pulse"; extraGroups = [ "audio" ]; description = "PulseAudio system service user"; - home = pulseRuntimePath; }; users.extraGroups.pulse.gid = gid; @@ -134,15 +146,15 @@ in { description = "PulseAudio System-Wide Server"; wantedBy = [ "sound.target" ]; before = [ "sound.target" ]; - path = [ cfg.package ]; - environment.PULSE_RUNTIME_PATH = pulseRuntimePath; + environment.PULSE_RUNTIME_PATH = stateDir; preStart = '' - mkdir -p --mode 755 ${pulseRuntimePath} - chown -R pulse:pulse ${pulseRuntimePath} - ''; - script = '' - exec pulseaudio --system -n --file="${cfg.configFile}" + mkdir -p --mode 755 ${stateDir} + chown -R pulse:pulse ${stateDir} ''; + serviceConfig = { + ExecStart = "${cfg.package}/bin/pulseaudio -D --log-level=${cfg.daemon.logLevel} --system --use-pid-file -n --file=${cfg.configFile}"; + PIDFile = "${stateDir}/pid"; + }; }; }) ]; diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix index 0b4f75a3521..9e212847e48 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 65d7722abfa..ac1c32387c5 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; { @@ -106,6 +106,7 @@ with utils; if [ ! -e "${sw.device}" ]; then fallocate -l ${toString sw.size}M "${sw.device}" || dd if=/dev/zero of="${sw.device}" bs=1M count=${toString sw.size} + chmod 0600 ${sw.device} mkswap ${sw.device} fi ''; diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix index a910c699cc9..54236021919 100644 --- a/nixos/modules/config/sysctl.nix +++ b/nixos/modules/config/sysctl.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -45,19 +45,8 @@ in ) 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 diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 1913e17f929..2ea998bbb63 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 @@ -135,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 42fbe841d07..65703d8bb08 100644 --- a/nixos/modules/config/timezone.nix +++ b/nixos/modules/config/timezone.nix @@ -1,6 +1,12 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; + +let + + tzdir = "${pkgs.tzdata}/share/zoneinfo"; + +in { options = { @@ -26,8 +32,10 @@ with pkgs.lib; environment.variables.TZDIR = "/etc/zoneinfo"; + systemd.globalEnvironment.TZDIR = tzdir; + environment.etc.localtime = - { source = "${pkgs.tzdata}/share/zoneinfo/${config.time.timeZone}"; + { source = "${tzdir}/${config.time.timeZone}"; mode = "direct-symlink"; }; diff --git a/nixos/modules/config/unix-odbc-drivers.nix b/nixos/modules/config/unix-odbc-drivers.nix index 0f608469058..b725e6cae73 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 c27a94a22d5..5de81a77342 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -1,6 +1,6 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -55,13 +55,27 @@ let type = with types; nullOr int; default = null; description = '' - The account UID. If the mutableUsers option + The account UID. If the 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). ''; }; + isSystemUser = mkOption { + type = types.bool; + default = false; + description = '' + Indicates if the user is a system user or not. This option + only has an effect if is + true and is + , in which case it determines whether + the user's UID is allocated in the range for system users + (below 500) or in the range for normal users (starting at + 1000). + ''; + }; + group = mkOption { type = types.str; default = "nogroup"; @@ -360,8 +374,8 @@ in { security.initialRootPassword = mkOption { type = types.str; - default = ""; - example = "!"; + default = "!"; + example = ""; description = '' The (hashed) password for the root account set on initial installation. The empty string denotes that root can login @@ -369,9 +383,9 @@ in { as SSH, or indirectly via su or sudo). The string ! prevents root from logging in using a password. - Note, setting this option sets + Note that setting this option sets users.extraUsers.root.hashedPassword. - Note, if users.mutableUsers is false + Also, 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. @@ -459,17 +473,17 @@ in { ''; 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}" \ + -G "${concatStringsSep "," u.extraGroups}" \ -s "${u.shell}" \ -d "${u.home}" \ + ${optionalString u.isSystemUser "--system"} \ "${u.name}" echo "${u.name}:x" | ${pkgs.shadow}/sbin/chpasswd -e fi @@ -495,7 +509,7 @@ in { message = "uids and gids must be unique!"; } { assertion = cfg.mutableUsers || (nonUidUsers == {}); - message = "When mutableUsers is false, no uid can be null"; + message = "When mutableUsers is false, no uid can be null: ${toString (attrNames nonUidUsers)}"; } { 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 027dd827b4d..3820a95b12e 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 5720a63834f..86a3df5da21 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 9046ddf83bb..800c391b293 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 03f81f92ef0..e63f2d04d1a 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/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix index 603012cb109..096f7e2c097 100644 --- a/nixos/modules/hardware/opengl.nix +++ b/nixos/modules/hardware/opengl.nix @@ -1,14 +1,31 @@ -{ config, pkgs, pkgs_i686, ... }: +{ config, lib, pkgs, pkgs_i686, ... }: + +with lib; + let - inherit (pkgs.lib) mkOption types mkIf optional optionals elem optionalString optionalAttrs; cfg = config.hardware.opengl; kernelPackages = config.boot.kernelPackages; -in { + + videoDrivers = config.services.xserver.videoDrivers; + + makePackage = 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) + p.udev + ]; + }; + +in + +{ options = { hardware.opengl.enable = mkOption { - description = "Whether this configuration requires opengl."; + description = "Whether this configuration requires OpenGL."; type = types.bool; default = false; internal = true; @@ -39,83 +56,70 @@ in { 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. ''; }; - - 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" ]; + hardware.opengl.package = mkOption { + type = types.package; + internal = true; description = '' - The names of the opengl video drivers the configuration - supports. They will be tried in order until one that - supports your card is found. + The package that provides the OpenGL implementation. ''; }; + + hardware.opengl.package32 = mkOption { + type = types.package; + internal = true; + description = '' + The package that provides the 32-bit OpenGL implementation on + 64-bit systems. Used when is + set. + ''; + }; + }; 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."; + message = "Option driSupport32Bit only makes sense on a 64-bit system."; }; - system.activationScripts.setup-opengl.deps = []; - system.activationScripts.setup-opengl.text = '' - rm -f /run/opengl-driver{,-32} - ${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 - "ln -sf ${pkgs_i686.linuxPackages.nvidia_x11.override { libsOnly = true; kernel = null; } } /run/opengl-driver-32"} - '' - else if elem "nvidiaLegacy173" cfg.videoDrivers then - "ln -sf ${kernelPackages.nvidia_x11_legacy173} /run/opengl-driver" - else if elem "nvidiaLegacy304" cfg.videoDrivers then - '' - ln -sf ${kernelPackages.nvidia_x11_legacy304} /run/opengl-driver - ${optionalString cfg.driSupport32Bit - "ln -sf ${pkgs_i686.linuxPackages.nvidia_x11_legacy304.override { libsOnly = true; kernel = null; } } /run/opengl-driver-32"} - '' - else if elem "ati_unfree" cfg.videoDrivers then - "ln -sf ${kernelPackages.ati_drivers_x11} /run/opengl-driver" - else - '' - ${optionalString cfg.driSupport "ln -sf ${pkgs.mesa_drivers} /run/opengl-driver"} - ${optionalString cfg.driSupport32Bit - "ln -sf ${pkgs_i686.mesa_drivers} /run/opengl-driver-32"} - '' - ); + system.activationScripts.setup-opengl = + '' + ln -sfn ${cfg.package} /run/opengl-driver + ${if pkgs.stdenv.isi686 then '' + ln -sfn opengl-driver /run/opengl-driver-32 + '' else if cfg.driSupport32Bit then '' + ln -sfn ${cfg.package32} /run/opengl-driver-32 + '' else '' + rm -f /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" ]; + + # FIXME: move this into card-specific modules. + hardware.opengl.package = mkDefault + (if elem "ati_unfree" videoDrivers then + kernelPackages.ati_drivers_x11 + else + makePackage pkgs); + + hardware.opengl.package32 = mkDefault (makePackage pkgs_i686); boot.extraModulePackages = - optional (elem "nvidia" cfg.videoDrivers) kernelPackages.nvidia_x11 ++ - optional (elem "nvidiaLegacy173" cfg.videoDrivers) kernelPackages.nvidia_x11_legacy173 ++ - optional (elem "nvidiaLegacy304" cfg.videoDrivers) kernelPackages.nvidia_x11_legacy304 ++ - optional (elem "virtualbox" cfg.videoDrivers) kernelPackages.virtualboxGuestAdditions ++ - optional (elem "ati_unfree" cfg.videoDrivers) kernelPackages.ati_drivers_x11; + optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions ++ + optional (elem "ati_unfree" videoDrivers) kernelPackages.ati_drivers_x11; - boot.blacklistedKernelModules = - optionals (elem "nvidia" cfg.videoDrivers) [ "nouveau" "nvidiafb" ]; - - environment.etc = (optionalAttrs (elem "ati_unfree" cfg.videoDrivers) { + environment.etc = + optionalAttrs (elem "ati_unfree" videoDrivers) { "ati".source = "${kernelPackages.ati_drivers_x11}/etc/ati"; - }) - // (optionalAttrs (elem "nvidia" cfg.videoDrivers) { - "OpenCL/vendors/nvidia.icd".source = "${kernelPackages.nvidia_x11}/lib/vendors/nvidia.icd"; - }); + }; }; } diff --git a/nixos/modules/hardware/pcmcia.nix b/nixos/modules/hardware/pcmcia.nix index 20684656750..d7d002ae6c8 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 index 504da2cde85..52dea798f87 100644 --- a/nixos/modules/hardware/video/bumblebee.nix +++ b/nixos/modules/hardware/video/bumblebee.nix @@ -1,7 +1,7 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: let kernel = config.boot.kernelPackages; in -with pkgs.lib; +with lib; { @@ -17,6 +17,12 @@ with pkgs.lib; Only nvidia driver is supported so far. ''; }; + hardware.bumblebee.group = mkOption { + default = "wheel"; + example = "video"; + type = types.uniq types.str; + description = ''Group for bumblebee socket''; + }; }; config = mkIf config.hardware.bumblebee.enable { @@ -29,13 +35,15 @@ with pkgs.lib; systemd.services.bumblebeed = { description = "Bumblebee Hybrid Graphics Switcher"; wantedBy = [ "display-manager.service" ]; - script = "bumblebeed --use-syslog"; + script = "bumblebeed --use-syslog -g ${config.hardware.bumblebee.group}"; path = [ kernel.bbswitch pkgs.bumblebee ]; serviceConfig = { Restart = "always"; RestartSec = 60; CPUSchedulingPolicy = "idle"; }; + environment.LD_LIBRARY_PATH="/run/opengl-driver/lib/"; + environment.MODULE_DIR="/run/current-system/kernel-modules/lib/modules/"; }; }; } diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix new file mode 100644 index 00000000000..2b9221ec5d7 --- /dev/null +++ b/nixos/modules/hardware/video/nvidia.nix @@ -0,0 +1,54 @@ +# This module provides the proprietary NVIDIA X11 / OpenGL drivers. + +{ config, lib, pkgs, pkgs_i686, ... }: + +with lib; + +let + + drivers = config.services.xserver.videoDrivers; + + # FIXME: should introduce an option like + # ‘hardware.video.nvidia.package’ for overriding the default NVIDIA + # driver. + enabled = elem "nvidia" drivers || elem "nvidiaLegacy173" drivers || elem "nvidiaLegacy304" drivers; + + nvidia_x11 = + if elem "nvidia" drivers then + config.boot.kernelPackages.nvidia_x11 + else if elem "nvidiaLegacy173" drivers then + config.boot.kernelPackages.nvidia_x11_legacy173 + else if elem "nvidiaLegacy304" drivers then + config.boot.kernelPackages.nvidia_x11_legacy304 + else throw "impossible"; + +in + +{ + + config = mkIf enabled { + + services.xserver.drivers = singleton + { name = "nvidia"; modules = [ nvidia_x11 ]; libPath = [ nvidia_x11 ]; }; + + services.xserver.screenSection = + '' + Option "RandRRotation" "on" + ''; + + hardware.opengl.package = nvidia_x11; + hardware.opengl.package32 = pkgs_i686.linuxPackages.nvidia_x11.override { libsOnly = true; kernel = null; }; + + environment.systemPackages = [ nvidia_x11 ]; + + boot.extraModulePackages = [ nvidia_x11 ]; + + boot.blacklistedKernelModules = [ "nouveau" "nvidiafb" ]; + + services.acpid.enable = true; + + environment.etc."OpenCL/vendors/nvidia.icd".source = "${nvidia_x11}/lib/vendors/nvidia.icd"; + + }; + +} diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix index 74428f66dfa..ca0e233f9e3 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 diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix index 74a2f50f027..eb7c4026857 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 = @@ -39,6 +39,9 @@ with pkgs.lib; # Add Memtest86+ to the CD. boot.loader.grub.memtest86.enable = true; - # Get a console as soon as the initrd loads fbcon on EFI boot + # Get a console as soon as the initrd loads fbcon on EFI boot. boot.initrd.kernelModules = [ "fbcon" ]; + + # Allow the user to log in as root without a password. + security.initialRootPassword = ""; } diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix index debf3e7db90..65aa1167089 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 00a9e91c733..28c42d64f6f 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 @@ -67,7 +67,7 @@ let ${config.boot.kernelPackages.kernel}/bzImage ::boot/bzImage mcopy -v -i "$out" \ ${config.system.build.initialRamdisk}/initrd ::boot/initrd - ''; + ''; # */ targetArch = if pkgs.stdenv.isi686 then "ia32" @@ -177,39 +177,45 @@ in # recognise that. boot.kernelParams = [ "root=LABEL=${config.isoImage.volumeID}" ]; - # Note that /dev/root is a symlink to the actual root device - # specified on the kernel command line, created in the stage 1 init - # script. - fileSystems."/".device = "/dev/root"; + fileSystems."/" = + { fsType = "tmpfs"; + device = "none"; + options = "mode=0755"; + }; - fileSystems."/nix/store" = + # Note that /dev/root is a symlink to the actual root device + # specified on the kernel command line, created in the stage 1 + # init script. + fileSystems."/iso" = + { device = "/dev/root"; + neededForBoot = true; + noCheck = true; + }; + + fileSystems."/nix/.ro-store" = { fsType = "squashfs"; - device = "/nix-store.squashfs"; + device = "/iso/nix-store.squashfs"; options = "loop"; + neededForBoot = true; + }; + + fileSystems."/nix/.rw-store" = + { fsType = "tmpfs"; + device = "none"; + options = "mode=0755"; + neededForBoot = true; }; boot.initrd.availableKernelModules = [ "squashfs" "iso9660" ]; boot.initrd.kernelModules = [ "loop" ]; - # In stage 1, mount a tmpfs on top of / (the ISO image) and - # /nix/store (the squashfs image) to make this a live CD. + # In stage 1, mount a tmpfs on top of /nix/store (the squashfs + # image) to make this a live CD. boot.initrd.postMountCommands = '' - mkdir -p /unionfs-chroot/ro-root - mount --rbind $targetRoot /unionfs-chroot/ro-root - - mkdir /unionfs-chroot/rw-root - mount -t tmpfs -o "mode=755" none /unionfs-chroot/rw-root - mkdir /mnt-root-union - unionfs -o allow_other,cow,chroot=/unionfs-chroot,max_files=32768 /rw-root=RW:/ro-root=RO /mnt-root-union - oldTargetRoot=$targetRoot - targetRoot=/mnt-root-union - - mkdir /unionfs-chroot/rw-store - mount -t tmpfs -o "mode=755" none /unionfs-chroot/rw-store - mkdir -p $oldTargetRoot/nix/store - unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot,max_files=32768 /rw-store=RW:/ro-root/nix/store=RO /mnt-root-union/nix/store + mkdir -p $targetRoot/nix/store + unionfs -o allow_other,cow,nonempty,chroot=$targetRoot,max_files=32768 /nix/.rw-store=RW:/nix/.ro-store=RO $targetRoot/nix/store ''; # Closures to be copied to the Nix store on the CD, namely the init @@ -253,10 +259,6 @@ in { source = config.system.build.squashfsStore; target = "/nix-store.squashfs"; } - { # Quick hack: need a mount point for the store. - source = pkgs.runCommand "empty" {} "mkdir -p $out"; - target = "/nix/store"; - } ] ++ optionals config.isoImage.makeEfiBootable [ { source = efiImg; target = "/boot/efi.img"; diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix index 13ed95d4ceb..c274970c553 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 fcb96f7a24f..0357bf80196 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 c3ced849001..3626308bff8 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,7 +138,8 @@ in }; # Setting vesa, we don't get the nvidia driver, which can't work in arm. - hardware.opengl.videoDrivers = [ "vesa" ]; + services.xserver.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 8d678fba71f..eaecbe1381f 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 09d04608e68..f350cd986af 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 814858fdffd..b30c569ed2a 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/get-version-suffix b/nixos/modules/installer/tools/get-version-suffix index 461fbf4d3d8..b8972cd57d2 100644 --- a/nixos/modules/installer/tools/get-version-suffix +++ b/nixos/modules/installer/tools/get-version-suffix @@ -17,6 +17,6 @@ getVersion() { if nixpkgs=$(nix-instantiate --find-file nixpkgs "$@"); then getVersion $nixpkgs if [ -n "$rev" ]; then - echo "pre-$rev" + echo ".git.$rev" fi fi diff --git a/nixos/modules/installer/tools/nixos-checkout.nix b/nixos/modules/installer/tools/nixos-checkout.nix index 41899855686..3338e5119ac 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 da1d2688277..ab058efc709 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -1,9 +1,11 @@ #! @perl@ +use Cwd 'abs_path'; use File::Spec; use File::Path; use File::Basename; use File::Slurp; +use File::stat; sub uniq { @@ -130,13 +132,14 @@ 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" || $device eq "0x4329" || $device eq "0x432a" || $device eq "0x432b" || $device eq "0x432c" || $device eq "0x432d" || $device eq "0x4353" || - $device eq "0x4357" || $device eq "0x4358" || $device eq "0x4359" ) ) + $device eq "0x4357" || $device eq "0x4358" || $device eq "0x4359" || + $device eq "0x4331" || $device eq "0x43a0" || $device eq "0x43b1" + ) ) { push @modulePackages, "config.boot.kernelPackages.broadcom_sta"; push @kernelModules, "wl"; @@ -158,14 +161,14 @@ 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/; + #$videoDriver = "nvidia" if $vendor eq "0x10de" && $class =~ /^0x03/; } foreach my $path (glob "/sys/bus/pci/devices/*") { pciCheck $path; } -push @attrs, "hardware.opengl.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver; +push @attrs, "services.xserver.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver; # Idem for USB devices. @@ -218,22 +221,41 @@ foreach my $path (glob "/sys/class/block/*") { } -my $dmi = `@dmidecode@/sbin/dmidecode`; +my $virt = `systemd-detect-virt`; +chomp $virt; # Check if we're a VirtualBox guest. If so, enable the guest # additions. -if ($dmi =~ /Manufacturer: innotek/) { +if ($virt eq "oracle") { push @attrs, "services.virtualbox.enable = true;" } # Likewise for QEMU. -if ($dmi =~ /Manufacturer: Bochs/) { +if ($virt eq "qemu" || $virt eq "kvm" || $virt eq "bochs") { push @imports, ""; } +# For a device name like /dev/sda1, find a more stable path like +# /dev/disk/by-uuid/X or /dev/disk/by-label/Y. +sub findStableDevPath { + my ($dev) = @_; + return $dev if substr($dev, 0, 1) ne "/"; + return $dev unless -e $dev; + + my $st = stat($dev) or return $dev; + + foreach my $dev2 (glob("/dev/disk/by-uuid/*"), glob("/dev/mapper/*"), glob("/dev/disk/by-label/*")) { + my $st2 = stat($dev2) or next; + return $dev2 if $st->rdev == $st2->rdev; + } + + return $dev; +} + + # Generate the swapDevices option from the currently activated swap # devices. my @swaps = read_file("/proc/swaps"); @@ -241,7 +263,9 @@ shift @swaps; my @swapDevices; foreach my $swap (@swaps) { $swap =~ /^(\S+)\s/; - push @swapDevices, "{ device = \"$1\"; }"; + next unless -e $1; + my $dev = findStableDevPath $1; + push @swapDevices, "{ device = \"$dev\"; }"; } @@ -267,6 +291,7 @@ foreach my $fs (read_file("/proc/self/mountinfo")) { # Skip special filesystems. next if in($mountPoint, "/proc") || in($mountPoint, "/dev") || in($mountPoint, "/sys") || in($mountPoint, "/run") || $mountPoint eq "/var/lib/nfs/rpc_pipefs"; + next if $mountPoint eq "/var/setuid-wrappers"; # Skip the optional fields. my $n = 6; $n++ while $fields[$n] ne "-"; $n++; @@ -280,9 +305,11 @@ foreach my $fs (read_file("/proc/self/mountinfo")) { # Maybe this is a bind-mount of a filesystem we saw earlier? if (defined $fsByDev{$fields[2]}) { my $path = $fields[3]; $path = "" if $path eq "/"; + my $base = $fsByDev{$fields[2]}; + $base = "" if $base eq "/"; $fileSystems .= < -# * run the activation script of the configuration (also installs Grub) +# * install the boot loader + +# Re-exec ourselves in a private mount namespace so that our bind +# mounts get cleaned up automatically. +if [ "$(id -u)" = 0 ]; then + if [ -z "$NIXOS_INSTALL_REEXEC" ]; then + export NIXOS_INSTALL_REEXEC=1 + exec unshare --mount --uts -- "$0" "$@" + else + mount --make-rprivate / + fi +fi # Parse the command line for the -I flag extraBuildFlags=() +chrootCommand=(/run/current-system/sw/bin/bash) while [ "$#" -gt 0 ]; do i="$1"; shift 1 @@ -19,6 +30,14 @@ while [ "$#" -gt 0 ]; do absolute_path=$(readlink -m $given_path) extraBuildFlags+=("$i" "/mnt$absolute_path") ;; + --show-trace) + extraBuildFlags+=("$i") + ;; + --chroot) + runChroot=1 + chrootCommand=("$@") + break + ;; --help) exec man nixos-install exit 1 @@ -37,10 +56,6 @@ if test -z "$mountPoint"; then mountPoint=/mnt fi -if test -z "$NIXOS_CONFIG"; then - NIXOS_CONFIG=/etc/nixos/configuration.nix -fi - if ! test -e "$mountPoint"; then echo "mount point $mountPoint doesn't exist" exit 1 @@ -51,53 +66,45 @@ if ! grep -F -q " $mountPoint " /proc/mounts; then exit 1 fi + +# Mount some stuff in the target root directory. +mkdir -m 0755 -p $mountPoint/dev $mountPoint/proc $mountPoint/sys $mountPoint/etc $mountPoint/run $mountPoint/home +mkdir -m 01777 -p $mountPoint/tmp +mkdir -m 0755 -p $mountPoint/tmp/root +mkdir -m 0755 -p $mountPoint/var/setuid-wrappers +mount --rbind /dev $mountPoint/dev +mount --rbind /proc $mountPoint/proc +mount --rbind /sys $mountPoint/sys +mount --rbind / $mountPoint/tmp/root +mount -t tmpfs -o "mode=0755" none $mountPoint/run +mount -t tmpfs -o "mode=0755" none $mountPoint/var/setuid-wrappers +rm -rf $mountPoint/var/run +ln -s /run $mountPoint/var/run +rm -f $mountPoint/etc/{resolv.conf,hosts} +cp -f /etc/resolv.conf /etc/hosts $mountPoint/etc/ + + +if [ -n "$runChroot" ]; then + if ! [ -L $mountPoint/nix/var/nix/profiles/system ]; then + echo "$0: installation not finished; cannot chroot into installation directory" + exit 1 + fi + ln -s /nix/var/nix/profiles/system $mountPoint/run/current-system + exec chroot $mountPoint "${chrootCommand[@]}" +fi + + +# Get the path of the NixOS configuration file. +if test -z "$NIXOS_CONFIG"; then + NIXOS_CONFIG=/etc/nixos/configuration.nix +fi + if ! test -e "$mountPoint/$NIXOS_CONFIG"; then echo "configuration file $mountPoint/$NIXOS_CONFIG doesn't exist" exit 1 fi - -# Mount some stuff in the target root directory. We bind-mount /etc -# into the chroot because we need networking and the nixbld user -# accounts in /etc/passwd. But we do need the target's /etc/nixos. -mkdir -m 0755 -p $mountPoint/dev $mountPoint/proc $mountPoint/sys $mountPoint/mnt $mountPoint/mnt2 $mountPoint/mnt-nixpkgs $mountPoint/etc /etc/nixos -mount --make-private / # systemd makes / shared, which is annoying -mount --bind / $mountPoint/mnt -mount --bind /nix $mountPoint/mnt/nix -mount --bind /nix/store $mountPoint/mnt/nix/store -mount --bind /dev $mountPoint/dev -mount --bind /dev/shm $mountPoint/dev/shm -mount --bind /proc $mountPoint/proc -mount --bind /sys $mountPoint/sys -mount --bind /sys/firmware/efi/efivars $mountPoint/sys/firmware/efi/efivars &>/dev/null || true -mount --bind $mountPoint/etc/nixos $mountPoint/mnt2 -mount --bind /etc $mountPoint/etc -mount --bind $mountPoint/mnt2 $mountPoint/etc/nixos - -cleanup() { - set +e - mountpoint -q $mountPoint/etc/nixos && umount $mountPoint/etc/nixos - mountpoint -q $mountPoint/etc && umount $mountPoint/etc - umount $mountPoint/mnt2 - umount $mountPoint/mnt-nixpkgs - umount $mountPoint/sys/firmware/efi/efivars &>/dev/null || true - umount $mountPoint/sys - umount $mountPoint/proc - umount $mountPoint/dev/shm - umount $mountPoint/dev - umount $mountPoint/mnt/nix/store - umount $mountPoint/mnt/nix - umount $mountPoint/mnt - rmdir $mountPoint/mnt $mountPoint/mnt2 $mountPoint/mnt-nixpkgs -} - -trap "cleanup" EXIT - -mkdir -m 01777 -p $mountPoint/tmp -mkdir -m 0755 -p $mountPoint/var - - # Create the necessary Nix directories on the target device, if they # don't already exist. mkdir -m 0755 -p \ @@ -110,25 +117,11 @@ mkdir -m 0755 -p \ $mountPoint/nix/var/log/nix/drvs mkdir -m 1775 -p $mountPoint/nix/store -build_users_group=$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"build-users-group"};') -if test -n "$build_users_group"; then - chown root:"$build_users_group" $mountPoint/nix/store -else - chown root $mountPoint/nix/store -fi +chown root:nixbld $mountPoint/nix/store -# Get the store paths to copy from the references graph. -storePaths=$(@perl@/bin/perl @pathsFromGraph@ @nixClosure@) - - -# Copy Nix to the Nix store on the target device. -echo "copying Nix to $mountPoint...." -for i in $storePaths; do - echo " $i" - chattr -R -i $mountPoint/$i 2> /dev/null || true # clear immutable bit - rsync -a $i $mountPoint/nix/store/ -done +# There is no daemon in the chroot. +unset NIX_REMOTE # We don't have locale-archive in the chroot, so clear $LANG. @@ -137,28 +130,36 @@ export LC_ALL= export LC_TIME= -# There is no daemon in the chroot -unset NIX_REMOTE - - # Create a temporary Nix config file that causes the nixbld users to # be used. -if test -n "$build_users_group"; then - echo "build-users-group = $build_users_group" > $mountPoint/tmp/nix.conf -fi +echo "build-users-group = nixbld" > $mountPoint/tmp/nix.conf # FIXME: remove in Nix 1.8 binary_caches=$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"binary-caches"};') if test -n "$binary_caches"; then echo "binary-caches = $binary_caches" >> $mountPoint/tmp/nix.conf fi export NIX_CONF_DIR=/tmp +touch $mountPoint/etc/passwd $mountPoint/etc/group +mount --bind -o ro /etc/passwd $mountPoint/etc/passwd +mount --bind -o ro /etc/group $mountPoint/etc/group -# Register the paths in the Nix closure as valid. This is necessary -# to prevent them from being deleted the first time we install -# something. (I.e., Nix will see that, e.g., the glibc path is not -# valid, delete it to get it out of the way, but as a result nothing -# will work anymore.) -chroot $mountPoint @nix@/bin/nix-store --register-validity < @nixClosure@ + +# Copy Nix to the Nix store on the target device, unless it's already there. +if ! NIX_DB_DIR=$mountPoint/nix/var/nix/db nix-store --check-validity @nix@ 2> /dev/null; then + echo "copying Nix to $mountPoint...." + for i in $(@perl@/bin/perl @pathsFromGraph@ @nixClosure@); do + echo " $i" + chattr -R -i $mountPoint/$i 2> /dev/null || true # clear immutable bit + rsync -a $i $mountPoint/nix/store/ + done + + # Register the paths in the Nix closure as valid. This is necessary + # to prevent them from being deleted the first time we install + # something. (I.e., Nix will see that, e.g., the glibc path is not + # valid, delete it to get it out of the way, but as a result nothing + # will work anymore.) + chroot $mountPoint @nix@/bin/nix-store --register-validity < @nixClosure@ +fi # Create the required /bin/sh symlink; otherwise lots of things @@ -168,15 +169,9 @@ mkdir -m 0755 -p $mountPoint/bin ln -sf @shell@ $mountPoint/bin/sh -if test -n "$NIXOS_PREPARE_CHROOT_ONLY"; then - echo "User requested only to prepare chroot. Exiting." - exit 0 -fi - - # Make the build below copy paths from the CD if possible. Note that -# /mnt in the chroot is the root of the CD. -export NIX_OTHER_STORES=/mnt/nix:$NIX_OTHER_STORES +# /tmp/root in the chroot is the root of the CD. +export NIX_OTHER_STORES=/tmp/root/nix:$NIX_OTHER_STORES p=@nix@/libexec/nix/substituters export NIX_SUBSTITUTERS=$p/copy-from-other-stores.pl:$p/download-from-binary-cache.pl @@ -191,15 +186,15 @@ done # Get the absolute path to the NixOS/Nixpkgs sources. -mount --bind $(readlink -f $(nix-instantiate --find-file nixpkgs)) $mountPoint/mnt-nixpkgs +nixpkgs="$(readlink -f $(nix-instantiate --find-file nixpkgs))" # Build the specified Nix expression in the target store and install # it into the system configuration profile. echo "building the system configuration..." -NIX_PATH="nixpkgs=/mnt-nixpkgs:nixos=/mnt-nixpkgs/nixos:nixos-config=$NIXOS_CONFIG" NIXOS_CONFIG= \ +NIX_PATH="nixpkgs=/tmp/root/$nixpkgs:nixos-config=$NIXOS_CONFIG" NIXOS_CONFIG= \ chroot $mountPoint @nix@/bin/nix-env \ - "${extraBuildFlags[@]}" -p /nix/var/nix/profiles/system -f '' --set -A system --show-trace + "${extraBuildFlags[@]}" -p /nix/var/nix/profiles/system -f '' --set -A system # Copy the NixOS/Nixpkgs sources to the target as the initial contents @@ -217,10 +212,8 @@ mkdir -m 0700 -p $mountPoint/root/.nix-defexpr ln -sfn /nix/var/nix/profiles/per-user/root/channels $mountPoint/root/.nix-defexpr/channels -# We're done building/downloading, so we don't need the /etc bind -# mount anymore. In fact, below we want to modify the target's /etc. -umount $mountPoint/etc/nixos -umount $mountPoint/etc +# Get rid of the /etc bind mounts. +umount $mountPoint/etc/passwd $mountPoint/etc/group # Grub needs an mtab. @@ -238,3 +231,17 @@ touch $mountPoint/etc/NIXOS echo "finalising the installation..." NIXOS_INSTALL_GRUB=1 chroot $mountPoint \ /nix/var/nix/profiles/system/bin/switch-to-configuration boot + + +# Run the activation script. +chroot $mountPoint /nix/var/nix/profiles/system/activate + + +# Ask the user to set a root password. +if [ -t 0 ] ; then + echo "setting root password..." + chroot $mountPoint passwd +fi + + +echo "installation finished!" diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 2a1c397553b..d7b749573fa 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 @@ -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 652bfa917df..5ebf05e340f 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -38,7 +38,6 @@ let name = "nixos-generate-config"; src = ./nixos-generate-config.pl; perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; - inherit (pkgs) dmidecode; }; nixos-option = makeProg { @@ -80,9 +79,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 9ef41e47074..f68f8dc40aa 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. - hardware.opengl.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" ]; + services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" ]; } diff --git a/nixos/modules/misc/assertions.nix b/nixos/modules/misc/assertions.nix index 5fb88308b77..c1be36e98cb 100644 --- a/nixos/modules/misc/assertions.nix +++ b/nixos/modules/misc/assertions.nix @@ -1,14 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; - -let - - failed = map (x: x.message) (filter (x: !x.assertion) config.assertions); - - showWarnings = res: fold (w: x: builtins.trace "warning: ${w}" x) res config.warnings; - -in +with lib; { @@ -38,15 +30,5 @@ in }; }; - - config = { - - # This option is evaluated always. Thus the assertions are checked - # as well. Hacky! - environment.systemPackages = showWarnings ( - if [] == failed then [] - else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}"); - - }; - + # impl of assertions is in } diff --git a/nixos/modules/misc/check-config.nix b/nixos/modules/misc/check-config.nix index f759c88d3a1..e9803de2196 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 6e71baa9a43..d68f38bae2f 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 c6581fee551..db50a010e7d 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -52,13 +52,13 @@ osgi = 34; tor = 35; cups = 36; - foldingAtHome = 37; + foldingathome = 37; sabnzbd = 38; kdm = 39; - ghostOne = 40; + ghostone = 40; git = 41; - fourStore = 42; - fourStoreEndpoint = 43; + fourstore = 42; + fourstorehttp = 43; virtuoso = 44; rtkit = 45; dovecot2 = 46; @@ -84,7 +84,7 @@ postgres = 71; smbguest = 74; varnish = 75; - dd-agent = 76; + datadog = 76; lighttpd = 77; lightdm = 78; freenet = 79; @@ -129,8 +129,12 @@ foundationdb = 118; newrelic = 119; starbound = 120; + hydra = 122; + spiped = 123; + teamspeak = 124; + influxdb = 125; - # When adding a uid, make sure it doesn't match an existing gid. + # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! nixbld = 30000; # start of range of uids nobody = 65534; @@ -171,8 +175,8 @@ osgi = 34; ghostOne = 40; git = 41; - fourStore = 42; - fourStoreEndpoint = 43; + fourstore = 42; + fourstorehttpd = 43; virtuoso = 44; dovecot2 = 46; prayer = 49; @@ -199,7 +203,7 @@ vboxsf = 73; smbguest = 74; varnish = 75; - dd-agent = 76; + datadog = 76; lighttpd = 77; lightdm = 78; freenet = 79; @@ -232,8 +236,12 @@ newrelic = 119; starbound = 120; grsecurity = 121; + hydra = 122; + spiped = 123; + teamspeak = 124; + influxdb = 125; - # When adding a gid, make sure it doesn't match an existing uid. + # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399! users = 100; nixbld = 30000; diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix index b6408be5844..45da0df7967 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 7433fab168e..f41c8817ba4 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: @@ -62,8 +62,7 @@ in type = types.str; description = '' Specifies the Nix platform type for which NixOS should be built. - If unset, it defaults to the platform type of your host system - (${builtins.currentSystem}). + If unset, it defaults to the platform type of your host system. Specifying this option is useful when doing distributed multi-platform deployment, or when building virtual machines. ''; diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index ae9fb5fb2a0..f4271cea853 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; { @@ -53,7 +53,7 @@ with pkgs.lib; mkDefault (if pathExists fn then readFile fn else "master"); # Note: code names must only increase in alphabetical order. - system.nixosCodeName = "Baboon"; + system.nixosCodeName = "Caterpillar"; # Generate /etc/os-release. See # http://0pointer.de/public/systemd-man/os-release.html for the diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b2f530474b5..4ceb48989be 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -32,6 +32,7 @@ ./hardware/opengl.nix ./hardware/pcmcia.nix ./hardware/video/bumblebee.nix + ./hardware/video/nvidia.nix ./installer/tools/nixos-checkout.nix ./installer/tools/tools.nix ./misc/assertions.nix @@ -97,10 +98,20 @@ ./services/databases/postgresql.nix ./services/databases/virtuoso.nix ./services/databases/monetdb.nix + ./services/databases/influxdb.nix ./services/desktops/accountservice.nix + ./services/desktops/geoclue2.nix ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix + ./services/desktops/gnome3/gnome-documents.nix + ./services/desktops/gnome3/gnome-keyring.nix + ./services/desktops/gnome3/gnome-online-accounts.nix + ./services/desktops/gnome3/gnome-online-miners.nix + ./services/desktops/gnome3/gnome-user-share.nix + ./services/desktops/gnome3/gvfs.nix + ./services/desktops/gnome3/seahorse.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 @@ -112,7 +123,6 @@ ./services/hardware/pommed.nix ./services/hardware/sane.nix ./services/hardware/udev.nix - ./services/hardware/udisks.nix ./services/hardware/udisks2.nix ./services/hardware/upower.nix ./services/hardware/thinkfan.nix @@ -128,7 +138,7 @@ ./services/mail/opensmtpd.nix ./services/mail/postfix.nix ./services/mail/spamassassin.nix - ./services/misc/autofs.nix + #./services/misc/autofs.nix ./services/misc/cgminer.nix ./services/misc/dictd.nix ./services/misc/disnix.nix @@ -159,6 +169,7 @@ ./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 @@ -207,10 +218,12 @@ ./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/teamspeak3.nix ./services/networking/tftpd.nix ./services/networking/unbound.nix ./services/networking/vsftpd.nix @@ -242,6 +255,7 @@ ./services/ttys/agetty.nix ./services/ttys/kmscon.nix ./services/web-servers/apache-httpd/default.nix + ./services/web-servers/fcgiwrap.nix ./services/web-servers/jboss/default.nix ./services/web-servers/lighttpd/default.nix ./services/web-servers/lighttpd/cgit.nix @@ -296,17 +310,20 @@ ./tasks/filesystems.nix ./tasks/filesystems/btrfs.nix ./tasks/filesystems/ext.nix + ./tasks/filesystems/f2fs.nix ./tasks/filesystems/nfs.nix ./tasks/filesystems/reiserfs.nix ./tasks/filesystems/unionfs-fuse.nix ./tasks/filesystems/vfat.nix ./tasks/filesystems/xfs.nix ./tasks/filesystems/zfs.nix + ./tasks/encrypted-devices.nix ./tasks/kbd.nix ./tasks/lvm.nix ./tasks/network-interfaces.nix ./tasks/scsi-link-power-management.nix ./tasks/swraid.nix + ./tasks/trackpoint.nix ./testing/service-runner.nix ./virtualisation/container-config.nix ./virtualisation/containers.nix diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index 20b808c29e0..562419b3fac 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -34,6 +34,7 @@ pkgs.dosfstools pkgs.xfsprogs pkgs.jfsutils + pkgs.f2fs-tools #pkgs.jfsrec # disabled because of Boost dependency # Some compression/archiver tools. @@ -50,6 +51,6 @@ ]; # Include support for various filesystems. - boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" ]; + boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" ]; } diff --git a/nixos/modules/profiles/clone-config.nix b/nixos/modules/profiles/clone-config.nix index 04ee76d8d3e..f0d60bb6c42 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/headless.nix b/nixos/modules/profiles/headless.nix index 541c46ca50c..4be0fb44216 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; @@ -12,6 +12,8 @@ with pkgs.lib; # Don't start a tty on the serial consoles. systemd.services."serial-getty@ttyS0".enable = false; systemd.services."serial-getty@hvc0".enable = false; + systemd.services."getty@tty1".enable = false; + systemd.services."autovt@".enable = false; # Since we can't manually respond to a panic, just reboot. boot.kernelParams = [ "panic=1" "boot.panic_on_fail" ]; diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix index 3b058c6e971..5aab2a2954e 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 821b9f93465..5067622aaf1 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 0a92b7ace50..79890aa7f17 100644 --- a/nixos/modules/profiles/qemu-guest.nix +++ b/nixos/modules/profiles/qemu-guest.nix @@ -5,7 +5,7 @@ { boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_blk" "9p" "9pnet_virtio" ]; - boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" ]; + boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" ]; boot.initrd.postDeviceCommands = '' diff --git a/nixos/modules/programs/atop.nix b/nixos/modules/programs/atop.nix index 7fdaab9d67d..e457db22333 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 9d33e26c495..c5c0f9d0121 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 @@ -40,6 +40,7 @@ in programs.bash = { + /* enable = mkOption { default = true; description = '' @@ -52,6 +53,7 @@ in ''; type = types.bool; }; + */ shellAliases = mkOption { default = config.environment.shellAliases // { which = "type -P"; }; @@ -114,7 +116,7 @@ in }; - config = mkIf cfg.enable { + config = /* mkIf cfg.enable */ { programs.bash = { diff --git a/nixos/modules/programs/bash/command-not-found.nix b/nixos/modules/programs/bash/command-not-found.nix index 502320446a3..8c86d48b080 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 489a7a4d269..aa9aec07834 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" diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index 15b083b72d2..27a18c726a3 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 @@ -10,12 +10,12 @@ let '' DEFAULT_HOME yes - SYS_UID_MIN 100 + SYS_UID_MIN 400 SYS_UID_MAX 499 UID_MIN 1000 UID_MAX 29999 - SYS_GID_MIN 100 + SYS_GID_MIN 400 SYS_GID_MAX 499 GID_MIN 1000 GID_MAX 29999 diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix index 226105a0c97..80d40a7c708 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 diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index 89333533465..fdb9dfd4b8c 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; @@ -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 904989d57a0..34eafd4fa84 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 7ab653dd19f..2b70a795f4f 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 340fec0496a..10e657abd3c 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 da3f7dce98a..8e7d0e51a4e 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 69a56ff69a0..1857371ebe8 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 @@ -26,11 +26,6 @@ in default = false; description = '' Whenever to configure Zsh as an interactive shell. - Note that this tries to make Zsh the default - , - which in turn means that you might need to explicitly - set this variable if you have another shell configured - with NixOS. ''; type = types.bool; }; @@ -168,7 +163,7 @@ in environment.systemPackages = [ pkgs.zsh ]; - users.defaultUserShell = mkDefault "/run/current-system/sw/bin/zsh"; + #users.defaultUserShell = mkDefault "/run/current-system/sw/bin/zsh"; environment.shells = [ "/run/current-system/sw/bin/zsh" diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index 72093aab5cd..0ee2caa28ea 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 @@ -17,7 +17,7 @@ let inherit from to; name = "Obsolete name"; 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; + define = x: builtins.trace "Obsolete option `${showOption from}' is used. It was renamed to `${showOption to}'." x; }; # abort if deprecated option is used @@ -25,7 +25,7 @@ let inherit from to; name = "Deprecated name"; 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}'."; + define = x: abort "Deprecated option `${showOption from}' is used. It was renamed to `${showOption to}'."; }; showOption = concatStringsSep "."; @@ -74,6 +74,7 @@ in zipModules ([] ++ obsolete [ "environment" "x11Packages" ] [ "environment" "systemPackages" ] ++ obsolete [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ] ++ obsolete [ "environment" "nix" ] [ "nix" "package" ] +++ obsolete [ "fonts" "extraFonts" ] [ "fonts" "fonts" ] ++ obsolete [ "security" "extraSetuidPrograms" ] [ "security" "setuidPrograms" ] ++ obsolete [ "networking" "enableWLAN" ] [ "networking" "wireless" "enable" ] @@ -103,6 +104,7 @@ 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 @@ -119,12 +121,13 @@ in zipModules ([] ++ 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 [ "hardware" "opengl" "videoDrivers" ] [ "services" "xserver" "videoDrivers" ] ++ obsolete [ "services" "mysql55" ] [ "services" "mysql" ] # Options that are obsolete and have no replacement. ++ obsolete' [ "boot" "loader" "grub" "bootDevice" ] ++ obsolete' [ "boot" "initrd" "luks" "enable" ] +++ obsolete' [ "programs" "bash" "enable" ] ) diff --git a/nixos/modules/security/apparmor-suid.nix b/nixos/modules/security/apparmor-suid.nix index bc661164fdc..b89b379ae66 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 b9f15159002..f29e7a5ad81 100644 --- a/nixos/modules/security/apparmor.nix +++ b/nixos/modules/security/apparmor.nix @@ -1,55 +1,32 @@ -{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 { 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 +38,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 05cd1c3ecc1..f159e359f96 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; { diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix index 989bd13d101..9893e63fb24 100644 --- a/nixos/modules/security/duosec.nix +++ b/nixos/modules/security/duosec.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.security.duosec; @@ -165,6 +165,17 @@ in whitelist. ''; }; + + allowTcpForwarding = mkOption { + type = types.bool; + default = false; + description = '' + By default, when SSH forwarding, enabling Duo Security will + disable TCP forwarding. By enabling this, you potentially + undermine some of the SSH based login security. Note this is + not needed if you use PAM. + ''; + }; }; }; @@ -192,7 +203,9 @@ in # Duo Security configuration ForceCommand ${config.security.wrapperDir}/login_duo PermitTunnel no - AllowTcpForwarding no + ${optionalString (!cfg.allowTcpForwarding) '' + AllowTcpForwarding no + ''} ''); }; } diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index 913a0afc452..f4af04247fe 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -1,132 +1,17 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +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} - '' + customGrsecPkg = + (import ../../../pkgs/build-support/grsecurity + { + inherit lib pkgs; + grsecOptions = cfg; } - - 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); + ).grsecPackage; in { options = { @@ -434,9 +319,9 @@ in chmod -R 0600 /etc/grsec ''; - # Enable apparmor support, gradm udev rules, and utilities + # Enable AppArmor, gradm udev rules, and utilities security.apparmor.enable = true; - boot.kernelPackages = grsecPackage; + boot.kernelPackages = customGrsecPkg; 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 93d12d292e4..6a5eb4c720f 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 4cc99995fbc..11708a1f016 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 dbec4ad98d1..95b659d96f0 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" ]; @@ -95,10 +98,6 @@ in '' # Probably no more needed, clean up rm -rf /var/lib/{polkit-1,PolicyKit} - - # Force polkitd to be restarted so that it reloads its - # configuration. - ${pkgs.procps}/bin/pkill -INT -u root -x polkitd ''; users.extraUsers.polkituser = { diff --git a/nixos/modules/security/prey.nix b/nixos/modules/security/prey.nix index 75b95d5fbb0..e29fa5395a1 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 720ac02f2e8..c31e57e6f6f 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 164ad9b3aa7..afe93f24273 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; { @@ -25,8 +25,13 @@ with pkgs.lib; config = mkIf config.security.rtkit.enable { + security.polkit.enable = true; + + # To make polkit pickup rtkit policies environment.systemPackages = [ pkgs.rtkit ]; + systemd.packages = [ pkgs.rtkit ]; + services.dbus.packages = [ pkgs.rtkit ]; users.extraUsers = singleton diff --git a/nixos/modules/security/setuid-wrapper.c b/nixos/modules/security/setuid-wrapper.c index 007ffbc34fe..ffd0b65b762 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 62df85816e5..4cdc1023baa 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 215a8ecd601..6cfeac0d7dc 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 @@ -62,6 +62,7 @@ in Defaults:root,%wheel env_keep+=NIX_CONF_DIR Defaults:root,%wheel env_keep+=NIX_PATH Defaults:root,%wheel env_keep+=TERMINFO_DIRS + Defaults:root,%wheel env_keep+=TERMINFO # Keep SSH_AUTH_SOCK so that pam_ssh_agent_auth.so can do its magic. Defaults env_keep+=SSH_AUTH_SOCK diff --git a/nixos/modules/services/amqp/activemq/default.nix b/nixos/modules/services/amqp/activemq/default.nix index 915d179e699..f1f3d005f30 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 dc1a68aefbb..bef15fb64b7 100644 --- a/nixos/modules/services/amqp/rabbitmq.nix +++ b/nixos/modules/services/amqp/rabbitmq.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.rabbitmq; diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix index c9a2ef4589b..653c0ed5d70 100644 --- a/nixos/modules/services/audio/alsa.nix +++ b/nixos/modules/services/audio/alsa.nix @@ -1,14 +1,12 @@ # ALSA sound support. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let inherit (pkgs) alsaUtils; - soundState = "/var/lib/alsa/asound.state"; - in { @@ -35,6 +33,17 @@ in ''; }; + extraConfig = mkOption { + type = types.lines; + default = ""; + example = '' + defaults.pcm.!card 3 + ''; + description = '' + Set addition configuration for system-wide alsa. + ''; + }; + }; }; @@ -46,6 +55,13 @@ in environment.systemPackages = [ alsaUtils ]; + environment.etc = mkIf (config.sound.extraConfig != "") + [ + { source = pkgs.writeText "asound.conf" config.sound.extraConfig; + target = "asound.conf"; + } + ]; + # ALSA provides a udev rule for restoring volume settings. services.udev.packages = [ alsaUtils ]; diff --git a/nixos/modules/services/audio/fuppes.nix b/nixos/modules/services/audio/fuppes.nix index 3eb0732bae2..4a975ed5f53 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 a9880dee20c..1b50f06bf30 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 8fdcdd6c7be..5ce215c5c4b 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; diff --git a/nixos/modules/services/backup/bacula.nix b/nixos/modules/services/backup/bacula.nix index 272903c99e3..c2255f68818 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 3ff9978fbb9..28f607861f7 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 e68ad794a96..1f7b123eca3 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 178ba3ec720..48ad7582b7e 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 5c7f7ffae5b..5d3675fa3e9 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 index ac8f008069a..1b0bcadca15 100644 --- a/nixos/modules/services/backup/tarsnap.nix +++ b/nixos/modules/services/backup/tarsnap.nix @@ -1,15 +1,15 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +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} + configFile = cfg: '' + cachedir ${config.services.tarsnap.cachedir} + keyfile ${config.services.tarsnap.keyfile} ${optionalString cfg.nodump "nodump"} ${optionalString cfg.printStats "print-stats"} ${optionalNullStr cfg.checkpointBytes "checkpoint-bytes "+cfg.checkpointBytes} @@ -39,15 +39,15 @@ in ''; }; - label = mkOption { - type = types.str; - default = "nixos"; + keyfile = mkOption { + type = types.path; + default = "/root/tarsnap.key"; 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. + 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. ''; }; @@ -55,122 +55,158 @@ in 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. + 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. + config = mkOption { + type = types.attrsOf (types.submodule ( + { + options = { + 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. + ''; + }; + }; + } + )); + + default = {}; + + example = literalExample '' + { + nixos = + { directories = [ "/home" "/root/ssl" ]; + }; + + gamedata = + { directories = [ "/var/lib/minecraft "]; + period = "*/30 * * * *"; + }; + } ''; - }; - 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. + Configuration of a Tarsnap archive. In the example, your + machine will have two tarsnap archives: + gamedata (backed up every 30 minutes) and + nixos (backed up at 1:15 AM every night by + default). You can control individual archive backups using + systemctl, using the + tarsnap@nixos or + tarsnap@gamedata units. For example, + systemctl start tarsnap@nixos will + immediately create a new NixOS archive. By default, archives + are suffixed with the timestamp of when they were started, + down to second resolution. This means you can use GNU + sort to sort output easily. ''; }; }; @@ -178,26 +214,40 @@ in config = mkIf cfg.enable { assertions = - [ { assertion = cfg.directories != []; + (mapAttrsToList (name: cfg: + { assertion = cfg.directories != []; message = "Must specify directories for Tarsnap to back up"; - } + }) cfg.config) ++ + (mapAttrsToList (name: cfg: { assertion = cfg.lowmem -> !cfg.verylowmem && (cfg.verylowmem -> !cfg.lowmem); message = "You cannot set both lowmem and verylowmem"; - } - ]; + }) cfg.config); + + systemd.services."tarsnap@" = { + description = "Tarsnap Backup of '%i'"; + requires = [ "network.target" ]; - systemd.services.tarsnap-backup = { - description = "Tarsnap Backup process"; path = [ pkgs.tarsnap pkgs.coreutils ]; + scriptArgs = "%i"; 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} + DIRS=`cat /etc/tarsnap/$1.dirs` + exec tarsnap --configfile /etc/tarsnap/$1.conf -c -f $1-$(date +"%Y%m%d%H%M%S") $DIRS ''; }; - services.cron.systemCronJobs = optional cfg.enable - "${cfg.period} root ${config.systemd.package}/bin/systemctl start tarsnap-backup.service"; + services.cron.systemCronJobs = mapAttrsToList (name: cfg: + "${cfg.period} root ${config.systemd.package}/bin/systemctl start tarsnap@${name}" + ) cfg.config; + + environment.etc = + (mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.conf" + { text = configFile cfg; + }) cfg.config) // + (mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.dirs" + { text = concatStringsSep " " cfg.directories; + }) cfg.config); environment.systemPackages = [ pkgs.tarsnap ]; }; diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index 23fa32ef511..b01b5c3245a 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -1,5 +1,5 @@ -{ config, pkgs, ... }: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let cfg = config.services.jenkins; in { diff --git a/nixos/modules/services/continuous-integration/jenkins/slave.nix b/nixos/modules/services/continuous-integration/jenkins/slave.nix index 9d952b2d2be..5836d92a4fc 100644 --- a/nixos/modules/services/continuous-integration/jenkins/slave.nix +++ b/nixos/modules/services/continuous-integration/jenkins/slave.nix @@ -1,5 +1,5 @@ -{ config, pkgs, ... }: -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; let cfg = config.services.jenkinsSlave; masterCfg = config.services.jenkins; diff --git a/nixos/modules/services/databases/4store-endpoint.nix b/nixos/modules/services/databases/4store-endpoint.nix index 7872ea2dc6a..f2d64b6891d 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 @@ -54,7 +54,7 @@ with pkgs.lib; users.extraUsers = singleton { name = endpointUser; - uid = config.ids.uids.fourStoreEndpoint; + uid = config.ids.uids.fourstorehttp; description = "4Store SPARQL endpoint user"; # home = stateDir; }; diff --git a/nixos/modules/services/databases/4store.nix b/nixos/modules/services/databases/4store.nix index 412d14b050c..469fef69c95 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 @@ -45,7 +45,7 @@ with pkgs.lib; users.extraUsers = singleton { name = fourStoreUser; - uid = config.ids.uids.fourStore; + uid = config.ids.uids.fourstore; description = "4Store database user"; home = stateDir; }; diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix index b48d3a64767..e1fe6be6f6a 100644 --- a/nixos/modules/services/databases/couchdb.nix +++ b/nixos/modules/services/databases/couchdb.nix @@ -1,5 +1,6 @@ -{ config, pkgs, ... }: - with pkgs.lib; +{ config, lib, pkgs, ... }: + +with lib; let cfg = config.services.couchdb; @@ -125,6 +126,16 @@ in { Extra configuration. Overrides any other cofiguration. ''; }; + + configFile = mkOption { + type = types.string; + default = "/var/lib/couchdb/couchdb.ini"; + description = '' + Custom configuration file. File needs to be readable and writable + from couchdb user/group. + ''; + }; + }; }; @@ -145,11 +156,13 @@ in { mkdir -p `dirname ${cfg.logFile}`; mkdir -p ${cfg.databaseDir}; mkdir -p ${cfg.viewIndexDir}; + touch ${cfg.configFile} if [ "$(id -u)" = 0 ]; then - chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}` + chown ${cfg.user}:${cfg.group} ${cfg.uriFile} chown ${cfg.user}:${cfg.group} ${cfg.databaseDir} chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir} + chown ${cfg.user}:${cfg.group} ${cfg.configFile} fi ''; @@ -157,7 +170,7 @@ in { PermissionsStartOnly = true; User = cfg.user; Group = cfg.group; - ExecStart = "${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig}"; + ExecStart = "${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} -a ${cfg.configFile}"; }; }; diff --git a/nixos/modules/services/databases/firebird.nix b/nixos/modules/services/databases/firebird.nix index f9f7e9d7c51..83dd4951170 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 diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix new file mode 100644 index 00000000000..61fe96d5d64 --- /dev/null +++ b/nixos/modules/services/databases/influxdb.nix @@ -0,0 +1,241 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.influxdb; + + influxdbConfig = pkgs.writeText "config.toml" '' + bind-address = "${cfg.bindAddress}" + + [logging] + level = "info" + file = "stdout" + + [admin] + port = ${toString cfg.adminPort} + assets = "${pkgs.influxdb}/share/influxdb/admin" + + [api] + port = ${toString cfg.apiPort} + ${cfg.apiExtraConfig} + + [input_plugins] + ${cfg.inputPluginsConfig} + + [raft] + dir = "${cfg.dataDir}/raft" + ${cfg.raftConfig} + + [storage] + dir = "${cfg.dataDir}/db" + ${cfg.storageConfig} + + [cluster] + ${cfg.clusterConfig} + + [sharding] + ${cfg.shardingConfig} + + [wal] + dir = "${cfg.dataDir}/wal" + ${cfg.walConfig} + + ${cfg.extraConfig} + ''; +in +{ + + ###### interface + + options = { + + services.influxdb = { + + enable = mkOption { + default = false; + description = "Whether to enable the influxdb server"; + type = types.uniq types.bool; + }; + + package = mkOption { + default = pkgs.influxdb; + description = "Which influxdb derivation to use"; + type = types.package; + }; + + user = mkOption { + default = "influxdb"; + description = "User account under which influxdb runs"; + type = types.string; + }; + + group = mkOption { + default = "influxdb"; + description = "Group under which influxdb runs"; + type = types.string; + }; + + dataDir = mkOption { + default = "/var/db/influxdb"; + description = "Data directory for influxd data files."; + type = types.path; + }; + + bindAddress = mkOption { + default = "127.0.0.1"; + description = "Address where influxdb listens"; + type = types.str; + }; + + adminPort = mkOption { + default = 8083; + description = "The port where influxdb admin listens"; + type = types.int; + }; + + apiPort = mkOption { + default = 8086; + description = "The port where influxdb api listens"; + type = types.int; + }; + + apiExtraConfig = mkOption { + default = '' + read-timeout = "5s" + ''; + description = "Extra influxdb api configuration"; + example = '' + ssl-port = 8084 + ssl-cert = /path/to/cert.pem + read-timeout = "5s" + ''; + type = types.lines; + }; + + inputPluginsConfig = mkOption { + default = ""; + description = "Configuration of influxdb extra plugins"; + example = '' + [input_plugins.graphite] + enabled = true + port = 2003 + database = "graphite" + ''; + }; + + raftConfig = mkOption { + default = '' + port = 8090 + ''; + description = "Influxdb raft configuration"; + type = types.lines; + }; + + storageConfig = mkOption { + default = '' + write-buffer-size = 10000 + ''; + description = "Influxdb raft configuration"; + type = types.lines; + }; + + clusterConfig = mkOption { + default = '' + protobuf_port = 8099 + protobuf_timeout = "2s" + protobuf_heartbeat = "200ms" + protobuf_min_backoff = "1s" + protobuf_max_backoff = "10s" + + write-buffer-size = 10000 + max-response-buffer-size = 100 + + concurrent-shard-query-limit = 10 + ''; + description = "Influxdb cluster configuration"; + type = types.lines; + }; + + leveldbConfig = mkOption { + default = '' + max-open-files = 40 + lru-cache-size = "200m" + max-open-shards = 0 + point-batch-size = 100 + write-batch-size = 5000000 + ''; + description = "Influxdb leveldb configuration"; + type = types.lines; + }; + + shardingConfig = mkOption { + default = '' + replication-factor = 1 + + [sharding.short-term] + duration = "7d" + split = 1 + + [sharding.long-term] + duration = "30d" + split = 1 + ''; + description = "Influxdb sharding configuration"; + type = types.lines; + }; + + walConfig = mkOption { + default = '' + flush-after = 1000 + bookmark-after = 1000 + index-after = 1000 + requests-per-logfile = 10000 + ''; + description = "Influxdb write-ahead log configuration"; + type = types.lines; + }; + + extraConfig = mkOption { + default = ""; + description = "Extra configuration options for influxdb"; + type = types.string; + }; + }; + + }; + + + ###### implementation + + config = mkIf config.services.influxdb.enable { + + systemd.services.influxdb = { + description = "InfluxDB Server"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-interfaces.target" ]; + serviceConfig = { + ExecStart = ''${cfg.package}/bin/influxdb -config "${influxdbConfig}"''; + User = "${cfg.user}"; + Group = "${cfg.group}"; + PermissionsStartOnly = true; + }; + preStart = '' + mkdir -m 0770 -p ${cfg.dataDir} + if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi + ''; + }; + + users.extraUsers = optional (cfg.user == "influxdb") { + name = "influxdb"; + uid = config.ids.uids.influxdb; + description = "Influxdb daemon user"; + }; + + users.extraGroups = optional (cfg.group == "influxdb") { + name = "influxdb"; + gid = config.ids.gids.influxdb; + }; + }; + +} diff --git a/nixos/modules/services/databases/memcached.nix b/nixos/modules/services/databases/memcached.nix index 505253229c9..c6875af506d 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 index 9d3059c7f45..9f09c71e005 100644 --- a/nixos/modules/services/databases/monetdb.nix +++ b/nixos/modules/services/databases/monetdb.nix @@ -1,9 +1,9 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: let cfg = config.services.monetdb; monetdbUser = "monetdb"; in -with pkgs.lib; +with lib; { ###### interface diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix index a2f2593e797..fe82ca430e1 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 diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 44fb0062f92..b94a3fbf3de 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 @@ -21,6 +21,7 @@ let myCnf = pkgs.writeText "my.cnf" '' [mysqld] + port = ${toString cfg.port} ${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" && !is55) diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix index 0fc8b88c652..c95238b3451 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 cc4230d4d6a..ad83cb553e1 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 @@ -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 9a4ce36a5cb..4ef48df9831 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; diff --git a/nixos/modules/services/databases/virtuoso.nix b/nixos/modules/services/databases/virtuoso.nix index 6a29fc13211..f955cb74b6b 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 index b21207f05a1..386dfe98bd2 100644 --- a/nixos/modules/services/desktops/accountservice.nix +++ b/nixos/modules/services/desktops/accountservice.nix @@ -1,8 +1,8 @@ # AccountsService daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix new file mode 100644 index 00000000000..6bdd5edff1f --- /dev/null +++ b/nixos/modules/services/desktops/geoclue2.nix @@ -0,0 +1,39 @@ +# GeoClue 2 daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.geoclue2 = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GeoClue 2 daemon, a DBus service + that provides location informationfor accessing. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.geoclue2.enable { + + environment.systemPackages = [ pkgs.geoclue2 ]; + + services.dbus.packages = [ pkgs.geoclue2 ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/at-spi2-core.nix b/nixos/modules/services/desktops/gnome3/at-spi2-core.nix index 7a25a794c2e..615f272e7b9 100644 --- a/nixos/modules/services/desktops/gnome3/at-spi2-core.nix +++ b/nixos/modules/services/desktops/gnome3/at-spi2-core.nix @@ -1,9 +1,12 @@ # at-spi2-core daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; +let + gnome3 = config.environment.gnome3.packageSet; +in { ###### interface @@ -30,9 +33,9 @@ with pkgs.lib; config = mkIf config.services.gnome3.at-spi2-core.enable { - environment.systemPackages = [ pkgs.gnome3.at_spi2_core ]; + environment.systemPackages = [ gnome3.at_spi2_core ]; - services.dbus.packages = [ pkgs.gnome3.at_spi2_core ]; + services.dbus.packages = [ 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 index 64592133666..a8f8da0eed5 100644 --- a/nixos/modules/services/desktops/gnome3/evolution-data-server.nix +++ b/nixos/modules/services/desktops/gnome3/evolution-data-server.nix @@ -1,9 +1,12 @@ # Evolution Data Server daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; +let + gnome3 = config.environment.gnome3.packageSet; +in { ###### interface @@ -30,9 +33,9 @@ with pkgs.lib; config = mkIf config.services.gnome3.evolution-data-server.enable { - environment.systemPackages = [ pkgs.evolution_data_server ]; + environment.systemPackages = [ gnome3.evolution_data_server ]; - services.dbus.packages = [ pkgs.evolution_data_server ]; + services.dbus.packages = [ gnome3.evolution_data_server ]; }; diff --git a/nixos/modules/services/desktops/gnome3/gnome-documents.nix b/nixos/modules/services/desktops/gnome3/gnome-documents.nix new file mode 100644 index 00000000000..2279ef48fb9 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-documents.nix @@ -0,0 +1,46 @@ +# GNOME Documents daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + gnome3 = config.environment.gnome3.packageSet; +in +{ + + ###### interface + + options = { + + services.gnome3.gnome-documents = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Documents services, a document + manager application for GNOME. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-documents.enable { + + environment.systemPackages = [ gnome3.gnome-documents ]; + + services.dbus.packages = [ gnome3.gnome-documents ]; + + services.gnome3.gnome-online-accounts.enable = true; + + services.gnome3.gnome-online-miners.enable = true; + + }; + +} 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 00000000000..be14f1fcbc0 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix @@ -0,0 +1,43 @@ +# GNOME Keyring daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + gnome3 = config.environment.gnome3.packageSet; +in +{ + + ###### 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 = [ gnome3.gnome_keyring ]; + + services.dbus.packages = [ 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 00000000000..a41fb0101f0 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix @@ -0,0 +1,42 @@ +# GNOME Online Accounts daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + gnome3 = config.environment.gnome3.packageSet; +in +{ + + ###### 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 = [ gnome3.gnome_online_accounts ]; + + services.dbus.packages = [ gnome3.gnome_online_accounts ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/gnome-online-miners.nix b/nixos/modules/services/desktops/gnome3/gnome-online-miners.nix new file mode 100644 index 00000000000..030d4bac6a7 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-online-miners.nix @@ -0,0 +1,42 @@ +# GNOME Online Miners daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + gnome3 = config.environment.gnome3.packageSet; +in +{ + + ###### interface + + options = { + + services.gnome3.gnome-online-miners = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Online Miners, a service that + crawls through your online content. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-online-miners.enable { + + environment.systemPackages = [ gnome3.gnome-online-miners ]; + + services.dbus.packages = [ gnome3.gnome-online-miners ]; + + }; + +} 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 00000000000..3b6c713f7be --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-user-share.nix @@ -0,0 +1,45 @@ +# GNOME User Share daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + gnome3 = config.environment.gnome3.packageSet; +in +{ + + ###### 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 = [ gnome3.gnome-user-share ]; + + services.xserver.displayManager.sessionCommands = with 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/gvfs.nix b/nixos/modules/services/desktops/gnome3/gvfs.nix new file mode 100644 index 00000000000..1a003ddd1ef --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gvfs.nix @@ -0,0 +1,42 @@ +# gvfs backends + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + gnome3 = config.environment.gnome3.packageSet; +in +{ + + ###### interface + + options = { + + services.gnome3.gvfs = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable gvfs backends, userspace virtual filesystem used + by GNOME components via D-Bus. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gvfs.enable { + + environment.systemPackages = [ gnome3.gvfs ]; + + services.dbus.packages = [ gnome3.gvfs ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/seahorse.nix b/nixos/modules/services/desktops/gnome3/seahorse.nix new file mode 100644 index 00000000000..01e4a24f267 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/seahorse.nix @@ -0,0 +1,41 @@ +# Seahorse daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + gnome3 = config.environment.gnome3.packageSet; +in +{ + + ###### interface + + options = { + + services.gnome3.seahorse = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Seahorse search provider for the GNOME Shell activity search. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.seahorse.enable { + + environment.systemPackages = [ gnome3.seahorse ]; + + services.dbus.packages = [ gnome3.seahorse ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/sushi.nix b/nixos/modules/services/desktops/gnome3/sushi.nix index 7fe37e26f43..ff7f484602c 100644 --- a/nixos/modules/services/desktops/gnome3/sushi.nix +++ b/nixos/modules/services/desktops/gnome3/sushi.nix @@ -1,9 +1,12 @@ # GNOME Sushi daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; +let + gnome3 = config.environment.gnome3.packageSet; +in { ###### interface @@ -29,9 +32,9 @@ with pkgs.lib; config = mkIf config.services.gnome3.sushi.enable { - environment.systemPackages = [ pkgs.gnome3.sushi ]; + environment.systemPackages = [ gnome3.sushi ]; - services.dbus.packages = [ pkgs.gnome3.sushi ]; + services.dbus.packages = [ 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 00000000000..670e585c6f5 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/tracker.nix @@ -0,0 +1,42 @@ +# Tracker daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + gnome3 = config.environment.gnome3.packageSet; +in +{ + + ###### 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 = [ gnome3.tracker ]; + + services.dbus.packages = [ gnome3.tracker ]; + + }; + +} diff --git a/nixos/modules/services/desktops/telepathy.nix b/nixos/modules/services/desktops/telepathy.nix index bd417db88af..2554f3a1666 100644 --- a/nixos/modules/services/desktops/telepathy.nix +++ b/nixos/modules/services/desktops/telepathy.nix @@ -1,8 +1,8 @@ # Telepathy daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/games/ghost-one.nix b/nixos/modules/services/games/ghost-one.nix index 92c9112eeb6..07d7287ed88 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; @@ -57,14 +57,14 @@ in users.extraUsers = singleton { name = ghostUser; - uid = config.ids.uids.ghostOne; + uid = config.ids.uids.ghostone; description = "Ghost One game server user"; home = stateDir; }; users.extraGroups = singleton { name = ghostUser; - gid = config.ids.gids.ghostOne; + gid = config.ids.gids.ghostone; }; services.ghostOne.config = '' diff --git a/nixos/modules/services/games/minecraft-server.nix b/nixos/modules/services/games/minecraft-server.nix index ac70bc53473..4c734aefa46 100644 --- a/nixos/modules/services/games/minecraft-server.nix +++ b/nixos/modules/services/games/minecraft-server.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.minecraft-server; 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 00000000000..18547f170a3 --- /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 2329f38dfc2..a710636c140 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 a70a66c2ba0..68d0406e63b 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 6d429c94b28..6e30dfb752d 100644 --- a/nixos/modules/services/hardware/pcscd.nix +++ b/nixos/modules/services/hardware/pcscd.nix @@ -1,10 +1,10 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: let cfgFile = pkgs.writeText "reader.conf" ""; in -with pkgs.lib; +with lib; { @@ -28,9 +28,15 @@ with pkgs.lib; config = mkIf config.services.pcscd.enable { + systemd.sockets.pcscd = { + description = "PCSC-Lite Socket"; + wantedBy = [ "sockets.target" ]; + before = [ "multi-user.target" ]; + socketConfig.ListenStream = "/run/pcscd/pcscd.comm"; + }; + systemd.services.pcscd = { description = "PCSC-Lite daemon"; - wantedBy = [ "multi-user.target" ]; preStart = '' mkdir -p /var/lib/pcsc rm -Rf /var/lib/pcsc/drivers @@ -38,7 +44,8 @@ with pkgs.lib; ''; serviceConfig = { Type = "forking"; - ExecStart = "${pkgs.pcsclite}/sbin/pcscd -c ${cfgFile}"; + 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 32599554fc1..04db46999b0 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 5979feb8240..f7b25c18787 100644 --- a/nixos/modules/services/hardware/sane.nix +++ b/nixos/modules/services/hardware/sane.nix @@ -1,10 +1,12 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let pkg = if config.hardware.sane.snapshot then pkgs.saneBackendsGit else pkgs.saneBackends; + backends = [ pkg ] ++ config.hardware.sane.extraBackends; + saneConfig = pkgs.mkSaneConfig { paths = backends; }; in @@ -26,6 +28,12 @@ in description = "Use a development snapshot of SANE scanner drivers."; }; + hardware.sane.extraBackends = mkOption { + type = types.listOf types.path; + default = []; + description = "Packages providing extra SANE backends to enable."; + }; + }; @@ -33,8 +41,12 @@ in config = mkIf config.hardware.sane.enable { - environment.systemPackages = [ pkg ]; - services.udev.packages = [ pkg ]; + environment.systemPackages = backends; + environment.variables = { + SANE_CONFIG_DIR = mkDefault "${saneConfig}/etc/sane.d"; + LD_LIBRARY_PATH = [ "${saneConfig}/lib/sane" ]; + }; + services.udev.packages = backends; users.extraGroups."scanner".gid = config.ids.gids.scanner; diff --git a/nixos/modules/services/hardware/thinkfan.nix b/nixos/modules/services/hardware/thinkfan.nix index b39c9cb1d9b..16c31aab2d5 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 52b3ad43579..068d14217a2 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 @@ -20,6 +20,9 @@ let # Miscellaneous devices. KERNEL=="kvm", MODE="0666" KERNEL=="kqemu", MODE="0666" + + # Needed for gpm. + SUBSYSTEM=="input", KERNEL=="mice", TAG+="systemd" ''; # Perform substitutions in all udev rules files. @@ -83,8 +86,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 +246,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 deleted file mode 100644 index 531ee192573..00000000000 --- a/nixos/modules/services/hardware/udisks.nix +++ /dev/null @@ -1,45 +0,0 @@ -# Udisks daemon. - -{ config, pkgs, ... }: - -with pkgs.lib; - -{ - - ###### interface - - options = { - - services.udisks = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable Udisks, a DBus service that allows - applications to query and manipulate storage devices. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.udisks.enable { - - environment.systemPackages = [ pkgs.udisks ]; - - services.dbus.packages = [ pkgs.udisks ]; - - system.activationScripts.udisks = - '' - mkdir -m 0755 -p /var/lib/udisks - ''; - - services.udev.packages = [ pkgs.udisks ]; - }; - -} diff --git a/nixos/modules/services/hardware/udisks2.nix b/nixos/modules/services/hardware/udisks2.nix index 178ec379ff1..f5b641c7378 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 4a9b13d4aa0..0b6a101efa0 100644 --- a/nixos/modules/services/hardware/upower.nix +++ b/nixos/modules/services/hardware/upower.nix @@ -1,9 +1,12 @@ # Upower daemon. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; +let + cfg = config.services.upower; +in { ###### interface @@ -21,6 +24,15 @@ with pkgs.lib; ''; }; + package = mkOption { + type = types.package; + default = pkgs.upower; + example = lib.literalExample "pkgs.upower"; + description = '' + Which upower package to use. + ''; + }; + }; }; @@ -28,13 +40,13 @@ with pkgs.lib; ###### implementation - config = mkIf config.services.upower.enable { + config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.upower ]; + environment.systemPackages = [ cfg.package ]; - services.dbus.packages = [ pkgs.upower ]; + services.dbus.packages = [ cfg.package ]; - services.udev.packages = [ pkgs.upower ]; + services.udev.packages = [ cfg.package ]; systemd.services.upower = { description = "Power Management Daemon"; @@ -42,7 +54,7 @@ with pkgs.lib; serviceConfig = { Type = "dbus"; BusName = "org.freedesktop.UPower"; - ExecStart = "@${pkgs.upower}/libexec/upowerd upowerd"; + ExecStart = "@${cfg.package}/libexec/upowerd upowerd"; }; }; diff --git a/nixos/modules/services/logging/klogd.nix b/nixos/modules/services/logging/klogd.nix index 36b530d0077..f69e08152b5 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 ef147f95358..1cd032ffa76 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; diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix index c6c0d2ea238..804f9a0847f 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 21128779e8f..480e35a1156 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 680c7a912c1..d4b7aa809f0 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 36a0ace927a..325868079e2 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 92682d644f4..1fb7102e7f3 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 79f211ad86e..2dd27a2033a 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 bad0b22625d..b7e1d295f2c 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 0c18c464520..fbc4b1d7d8a 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 diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix index 2633289b46d..8f75bd8ab5d 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 aaf1dfcc210..a3ac9e37242 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 50491c556e8..e645bd25a66 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 20b7c34e886..8f25df809cd 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; diff --git a/nixos/modules/services/misc/dictd.nix b/nixos/modules/services/misc/dictd.nix index fd68f847010..552e0a435ef 100644 --- a/nixos/modules/services/misc/dictd.nix +++ b/nixos/modules/services/misc/dictd.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/services/misc/disnix.nix b/nixos/modules/services/misc/disnix.nix index 82526b154e7..94d0caaa76b 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 2da50fc8595..a01c7f08b91 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 9f4c4645279..392d2d1f002 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; @@ -44,7 +44,7 @@ in { users.extraUsers = singleton { name = fahUser; - uid = config.ids.uids.foldingAtHome; + uid = config.ids.uids.foldingathome; description = "Folding@Home user"; home = stateDir; }; diff --git a/nixos/modules/services/misc/gpsd.nix b/nixos/modules/services/misc/gpsd.nix index 99b733d399e..4a677f33fa0 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 diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index bbcf290a795..4bfd6268234 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 @@ -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 pkgs.openssh ] + 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 fa20e0956f5..6a7a7f4cee7 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/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 1a8b85db329..808c5dcbdc6 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 index e4d1caa565c..2c1fec9f6d7 100644 --- a/nixos/modules/services/misc/rippled.nix +++ b/nixos/modules/services/misc/rippled.nix @@ -1,8 +1,8 @@ # configuration building is commented out until better tested. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.rippled; diff --git a/nixos/modules/services/misc/rogue.nix b/nixos/modules/services/misc/rogue.nix index de25cc0fb98..ed8da8a518f 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 b0806d14738..848905ca457 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 63e7c7667e5..ec8ff426f0a 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 38fd53653d6..6cc0c122ec6 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; diff --git a/nixos/modules/services/monitoring/dd-agent.nix b/nixos/modules/services/monitoring/dd-agent.nix index 37ce1c099df..deef64d6998 100644 --- a/nixos/modules/services/monitoring/dd-agent.nix +++ b/nixos/modules/services/monitoring/dd-agent.nix @@ -1,58 +1,117 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.dd-agent; - datadog_conf = pkgs.runCommand "datadog.conf" {} '' - sed -e 's|^api_key:|api_key: ${cfg.api_key}|' ${optionalString (cfg.hostname != null) - "-e 's|^#hostname: mymachine.mydomain|hostname: ${cfg.hostname}|'" - } ${pkgs.dd-agent}/etc/dd-agent/datadog.conf.example > $out + ddConf = pkgs.writeText "datadog.conf" '' + [Main] + dd_url: https://app.datadoghq.com + skip_ssl_validation: no + api_key: ${cfg.api_key} + ${optionalString (cfg.hostname != null) "hostname: ${cfg.hostname}"} + + collector_log_file: /var/log/datadog/collector.log + forwarder_log_file: /var/log/datadog/forwarder.log + dogstatsd_log_file: /var/log/datadog/dogstatsd.log + pup_log_file: /var/log/datadog/pup.log + + # proxy_host: my-proxy.com + # proxy_port: 3128 + # proxy_user: user + # proxy_password: password + + # tags: mytag0, mytag1 + + # collect_ec2_tags: no + # recent_point_threshold: 30 + # use_mount: no + # listen_port: 17123 + # graphite_listen_port: 17124 + # non_local_traffic: no + # use_curl_http_client: False + # bind_host: localhost + + # use_pup: no + # pup_port: 17125 + # pup_interface: localhost + # pup_url: http://localhost:17125 + + # dogstatsd_port : 8125 + # dogstatsd_interval : 10 + # dogstatsd_normalize : yes + # statsd_forward_host: address_of_own_statsd_server + # statsd_forward_port: 8125 + + # device_blacklist_re: .*\/dev\/mapper\/lxc-box.* + + # ganglia_host: localhost + # ganglia_port: 8651 ''; + + postgresqlConfig = pkgs.writeText "postgres.yaml" cfg.postgresqlConfig; + nginxConfig = pkgs.writeText "nginx.yaml" cfg.nginxConfig; + + etcfiles = + [ { source = ddConf; + target = "dd-agent/datadog.conf"; + } ] ++ + (optional (cfg.postgresqlConfig != null) + { source = postgresqlConfig; + target = "dd-agent/conf.d/postgres.yaml"; + }) ++ + (optional (cfg.nginxConfig != null) + { source = nginxConfig; + target = "dd-agent/conf.d/nginx.yaml"; + }); + in { options.services.dd-agent = { enable = mkOption { description = "Whether to enable the dd-agent montioring service"; - default = false; - type = types.bool; }; - # !!! This gets stored in the store (world-readable), wish we had https://github.com/NixOS/nix/issues/8 api_key = mkOption { description = "The Datadog API key to associate the agent with your account"; - example = "ae0aa6a8f08efa988ba0a17578f009ab"; - type = types.str; }; hostname = mkOption { description = "The hostname to show in the Datadog dashboard (optional)"; - default = null; - example = "mymachine.mydomain"; + type = types.uniq (types.nullOr types.string); + }; + postgresqlConfig = mkOption { + description = "Datadog PostgreSQL integration configuration"; + default = null; + type = types.uniq (types.nullOr types.string); + }; + + nginxConfig = mkOption { + description = "Datadog nginx integration configuration"; + default = null; type = types.uniq (types.nullOr types.string); }; }; config = mkIf cfg.enable { - environment.etc = [ { source = datadog_conf; target = "dd-agent/datadog.conf"; } ]; environment.systemPackages = [ pkgs."dd-agent" pkgs.sysstat pkgs.procps ]; - users.extraUsers."dd-agent" = { + users.extraUsers.datadog = { description = "Datadog Agent User"; - uid = config.ids.uids.dd-agent; - group = "dd-agent"; + uid = config.ids.uids.datadog; + group = "datadog"; home = "/var/log/datadog/"; createHome = true; }; - users.extraGroups.dd-agent.gid = config.ids.gids.dd-agent; + users.extraGroups.datadog.gid = config.ids.gids.datadog; systemd.services.dd-agent = { description = "Datadog agent monitor"; @@ -60,28 +119,30 @@ in { wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.dd-agent}/bin/dd-agent foreground"; - User = "dd-agent"; - Group = "dd-agent"; + User = "datadog"; + Group = "datadog"; Restart = "always"; RestartSec = 2; }; - restartTriggers = [ pkgs.dd-agent datadog_conf ]; + restartTriggers = [ pkgs.dd-agent ddConf postgresqlConfig nginxConfig ]; }; systemd.services.dogstatsd = { description = "Datadog statsd"; - path = [ pkgs."dd-agent" pkgs.python ]; + path = [ pkgs."dd-agent" pkgs.python pkgs.procps ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { ExecStart = "${pkgs.dd-agent}/bin/dogstatsd start"; - User = "dd-agent"; - Group = "dd-agent"; + User = "datadog"; + Group = "datadog"; Type = "forking"; PIDFile = "/tmp/dogstatsd.pid"; Restart = "always"; RestartSec = 2; }; - restartTriggers = [ pkgs.dd-agent datadog_conf ]; + restartTriggers = [ pkgs.dd-agent ddConf postgresqlConfig nginxConfig ]; }; + + environment.etc = etcfiles; }; } diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 3e2e7e9df6e..3a5b13d6d40 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.graphite; @@ -12,7 +12,7 @@ let name = "graphite-config"; paths = lists.filter (el: el != null) [ (writeTextOrNull "carbon.conf" cfg.carbon.config) - (writeTextOrNull "storage-agregation.conf" cfg.carbon.storageAggregation) + (writeTextOrNull "storage-aggregation.conf" cfg.carbon.storageAggregation) (writeTextOrNull "storage-schemas.conf" cfg.carbon.storageSchemas) (writeTextOrNull "blacklist.conf" cfg.carbon.blacklist) (writeTextOrNull "whitelist.conf" cfg.carbon.whitelist) @@ -184,6 +184,7 @@ in { ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts "carbon-cache"}"; User = "graphite"; Group = "graphite"; + PermissionsStartOnly = true; }; restartTriggers = [ pkgs.pythonPackages.carbon @@ -193,8 +194,9 @@ in { cfg.carbon.rewriteRules ]; preStart = '' - mkdir -m 0700 -p ${cfg.dataDir}/whisper - if [ "$(id -u)" = 0 ]; then chown -R graphite:graphite ${cfg.dataDir}; fi + mkdir -p ${cfg.dataDir}/whisper + chmod 0700 ${cfg.dataDir}/whisper + chown -R graphite:graphite ${cfg.dataDir} ''; }; @@ -235,6 +237,7 @@ in { description = "Graphite Web Interface"; wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; + path = [ pkgs.perl ]; environment = { PYTHONPATH = "${pkgs.python27Packages.graphite_web}/lib/python2.7/site-packages"; DJANGO_SETTINGS_MODULE = "graphite.settings"; @@ -248,11 +251,12 @@ in { --call django.core.handlers.wsgi:WSGIHandler''; User = "graphite"; Group = "graphite"; + PermissionsStartOnly = true; }; preStart = '' if ! test -e ${dataDir}/db-created; then - mkdir -m 0700 -p ${dataDir}/{whisper/,log/webapp/} - if [ "$(id -u)" = 0 ]; then chown -R graphite:graphite ${cfg.dataDir}; fi + mkdir -p ${dataDir}/{whisper/,log/webapp/} + chmod 0700 ${dataDir}/{whisper/,log/webapp/} # populate database ${pkgs.python27Packages.graphite_web}/bin/manage-graphite.py syncdb --noinput @@ -261,6 +265,8 @@ in { ${pkgs.python27Packages.graphite_web}/bin/build-index.sh touch ${dataDir}/db-created + + chown -R graphite:graphite ${cfg.dataDir} fi ''; restartTriggers = [ diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index 39c4fb1aefa..966c2eca282 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; diff --git a/nixos/modules/services/monitoring/nagios/default.nix b/nixos/modules/services/monitoring/nagios/default.nix index c809a3b8457..2eeddf78250 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 512e639721e..250035fe447 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 54b7e79f82e..05950639c1e 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 diff --git a/nixos/modules/services/monitoring/systemhealth.nix b/nixos/modules/services/monitoring/systemhealth.nix index 0a3e666ad4e..b0e59595e13 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 c00f4bad935..cc9026f768a 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 229236c1bbd..a943075be0c 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 @@ -67,11 +67,11 @@ in config = mkIf cfg.enable { - users.extraUsers = singleton + users.extraUsers = mkIf (!config.services.zabbixServer.enable) (singleton { name = "zabbix"; uid = config.ids.uids.zabbix; description = "Zabbix daemon user"; - }; + }); systemd.services."zabbix-agent" = { description = "Zabbix Agent"; diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix index 6735b4ca327..ca283ea2a99 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 1a00ccab0a6..b914724abfe 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 4daa5e9d063..2217fec3b0f 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/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix new file mode 100644 index 00000000000..bc17add809b --- /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 4f6fce6cd52..51a4d193d50 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 8652d0daf4c..516238fdddf 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 d7dfca2c8dc..284b2b84e6c 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 diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix index 765dc014dcb..57547da1006 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 fe37e8ea012..7276603da16 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 index e7fb471ccf4..5d0e17c293e 100644 --- a/nixos/modules/services/networking/btsync.nix +++ b/nixos/modules/services/networking/btsync.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.btsync; @@ -24,7 +24,7 @@ let optionalString (e ? "knownHosts") (concatStringsSep "," (map (v: "\"${v}\"") e."knownHosts")); - sharedFoldersRecord = with pkgs.lib; + sharedFoldersRecord = concatStringsSep "," (map (entry: let helper = attr: v: if (entry ? attr) then boolStr entry.attr else boolStr v; @@ -164,6 +164,7 @@ in httpLogin = mkOption { type = types.str; example = "allyourbase"; + default = ""; description = '' HTTP web login username. ''; @@ -172,6 +173,7 @@ in httpPass = mkOption { type = types.str; example = "arebelongtous"; + default = ""; description = '' HTTP web login password. ''; @@ -237,12 +239,6 @@ in { 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 = { diff --git a/nixos/modules/services/networking/chrony.nix b/nixos/modules/services/networking/chrony.nix index 5e9818858e0..d1684dd9f05 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 index 9b715ec6384..9306ffd5a18 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -8,9 +8,9 @@ # (without too much shell hackery), a skeleton of the # configuration building lies commented out. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/cntlm.nix b/nixos/modules/services/networking/cntlm.nix index 96396878afc..a50aa4d0636 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 2b26fe88129..7ed1e4805d8 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 bf7f5089368..5a353fc0942 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 - dhcpcd = if !config.boot.isContainer then pkgs.dhcpcd else pkgs.dhcpcd_without_udev; + 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,9 +34,8 @@ 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) and c-* and ctmp-* (NixOS - # containers). - denyinterfaces ${toString ignoredInterfaces} peth* vif* tap* tun* virbr* vnet* vboxnet* c-* ctmp-* + # (Xen) and virbr* and vnet* (libvirt). + denyinterfaces ${toString ignoredInterfaces} lo peth* vif* tap* tun* virbr* vnet* vboxnet* ${config.networking.dhcpcd.extraConfig} ''; @@ -44,17 +43,6 @@ let # Hook for emitting ip-up/ip-down events. exitHook = pkgs.writeText "dhcpcd.exit-hook" '' - #exec >> /var/log/dhcpcd 2>&1 - #set -x - - params="IFACE=$interface REASON=$reason" - - # only works when interface is wireless and wpa_supplicant has a control socket - # but we allow it to fail silently - ${optionalString config.networking.wireless.enable '' - params+=" $(${pkgs.wpa_supplicant}/sbin/wpa_cli -i$interface status 2>/dev/null | grep ssid | sed 's|^b|B|;s|ssid|SSID|' | xargs)" - ''} - if [ "$reason" = BOUND -o "$reason" = REBOOT ]; then # Restart ntpd. We need to restart it to make sure that it # will actually do something: if ntpd cannot resolve the @@ -69,6 +57,8 @@ let #if [ "$reason" = EXPIRE -o "$reason" = RELEASE -o "$reason" = NOCARRIER ] ; then # ${config.systemd.package}/bin/systemctl start ip-down.target #fi + + ${config.networking.dhcpcd.runHook} ''; in @@ -80,6 +70,7 @@ in options = { networking.dhcpcd.denyInterfaces = mkOption { + type = types.listOf types.str; default = []; description = '' Disable the DHCP client for any interface whose name matches @@ -90,12 +81,23 @@ in }; networking.dhcpcd.extraConfig = mkOption { + type = types.lines; default = ""; description = '' Literal string to append to the config file generated for dhcpcd. ''; }; + networking.dhcpcd.runHook = mkOption { + type = types.lines; + default = ""; + example = "if [[ $reason =~ BOUND ]]; then echo $interface: Routers are $new_routers - were $old_routers; fi"; + description = '' + Shell code that will be run after all other hooks. See + `man dhcpcd-run-hooks` for details on what is possible. + ''; + }; + }; @@ -120,9 +122,8 @@ in serviceConfig = { Type = "forking"; PIDFile = "/run/dhcpcd.pid"; - ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --config ${dhcpcdConf}"; + ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet --config ${dhcpcdConf}"; ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind"; - StandardError = "null"; Restart = "always"; }; }; diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix index 5b2058e4e12..89f686c2870 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 b726493d421..8e38b9d017a 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 8a01c217eb5..28b8e234a5c 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 a1ca5dcdcb1..42914bfe5d6 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 @@ -266,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} diff --git a/nixos/modules/services/networking/flashpolicyd.nix b/nixos/modules/services/networking/flashpolicyd.nix index f5bc550ab5f..5ba85178179 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 a4bd2098986..e9cacf4a16e 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 2e7c9c68e2f..5864efaca51 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; diff --git a/nixos/modules/services/networking/gnunet.nix b/nixos/modules/services/networking/gnunet.nix index 421c0d9bb69..03ee54af433 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 3b92eb8b06b..41600794197 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 c8345a528a7..c2e2c2d7a41 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 4edea12b6be..2adbb0a5c4e 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 4e939d60354..20bfca8f872 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 cd150fe63fd..bc0fbb42c99 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 cd82a41ef7a..a3d5b71740f 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 164c38940f7..d2045c9efc5 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 diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix index 73fcb1eeea8..a519857d6a0 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 index 2a5549beaf8..4f91a494747 100644 --- a/nixos/modules/services/networking/murmur.nix +++ b/nixos/modules/services/networking/murmur.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.murmur; diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index 7f4094de12f..e8d9d00cc0a 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -2,9 +2,9 @@ # 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 diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index fd5ff5e4498..54bdf19373d 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 diff --git a/nixos/modules/services/networking/notbit.nix b/nixos/modules/services/networking/notbit.nix index 83dafd08379..3e8c956f191 100644 --- a/nixos/modules/services/networking/notbit.nix +++ b/nixos/modules/services/networking/notbit.nix @@ -1,5 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: +with pkgs.lib; let cfg = config.services.notbit; varDir = "/var/lib/notbit"; @@ -14,9 +15,13 @@ let --set XDG_RUNTIME_DIR ${varDir} ''; }; + opts = "${optionalString cfg.allowPrivateAddresses "-L"} ${optionalString cfg.noBootstrap "-b"} ${optionalString cfg.specifiedPeersOnly "-e"}"; + peers = concatStringsSep " " (map (str: "-P \"${str}\"") cfg.peers); + listen = if cfg.listenAddress == [] then "-p ${toString cfg.port}" else + concatStringsSep " " (map (addr: "-a \"${addr}:${toString cfg.port}\"") cfg.listenAddress); in -with pkgs.lib; +with lib; { ### configuration @@ -35,7 +40,7 @@ with pkgs.lib; port = mkOption { type = types.uniq types.int; - default = 8443; + default = 8444; description = "The port which the daemon listens for other bitmessage clients"; }; @@ -45,6 +50,38 @@ with pkgs.lib; description = "Set the nice level for the notbit daemon"; }; + listenAddress = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "localhost" "myhostname" ]; + description = "The addresses which notbit will use to listen for incoming connections. These addresses are advertised to connecting clients."; + }; + + peers = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "bitmessage.org:8877" ]; + description = "The initial set of peers notbit will connect to."; + }; + + specifiedPeersOnly = mkOption { + type = types.uniq types.bool; + default = false; + description = "If true, notbit will only connect to peers specified by the peers option."; + }; + + allowPrivateAddresses = mkOption { + type = types.uniq types.bool; + default = false; + description = "If true, notbit will allow connections to to RFC 1918 addresses."; + }; + + noBootstrap = mkOption { + type = types.uniq types.bool; + default = false; + description = "If true, notbit will not bootstrap an initial peerlist from bitmessage.org servers"; + }; + }; }; @@ -53,7 +90,7 @@ with pkgs.lib; config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.notbit sendmail ]; + environment.systemPackages = [ sendmail ]; systemd.services.notbit = { description = "Notbit daemon"; @@ -70,7 +107,7 @@ with pkgs.lib; serviceConfig = { Type = "forking"; - ExecStart = "${pkgs.notbit}/bin/notbit -d -p ${toString cfg.port}"; + ExecStart = "${pkgs.notbit}/bin/notbit -d ${listen} ${peers} ${opts}"; User = "notbit"; Group = "notbit"; UMask = "0077"; diff --git a/nixos/modules/services/networking/ntopng.nix b/nixos/modules/services/networking/ntopng.nix index 156a6b32a6a..ab86f1a5b2b 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 fb7d6802136..2f638904406 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 diff --git a/nixos/modules/services/networking/oidentd.nix b/nixos/modules/services/networking/oidentd.nix index a2a555a8ad1..923e7cd0986 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 b2efb5e9c12..c3b4ba90b4e 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 292d45f4347..9dc88e61865 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 @@ -56,6 +56,7 @@ let serviceConfig.ExecStart = "@${openvpn}/sbin/openvpn openvpn --config ${configFile}"; serviceConfig.Restart = "always"; + serviceConfig.Type = "notify"; }; in diff --git a/nixos/modules/services/networking/prayer.nix b/nixos/modules/services/networking/prayer.nix index fb541bf101a..ad0fb0af01c 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 89c40c53157..950112b2dab 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 f3a4e457ec8..749e5dcebb6 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 8d586ce6e46..08762c9c837 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 f797206ad5c..4c1891816e3 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 c966f85e260..eef1e8e8cd8 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 8816ac0d2f8..83db0841b34 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 index 30f21151a76..b29db58af99 100644 --- a/nixos/modules/services/networking/searx.nix +++ b/nixos/modules/services/networking/searx.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/spiped.nix b/nixos/modules/services/networking/spiped.nix new file mode 100644 index 00000000000..005d7182351 --- /dev/null +++ b/nixos/modules/services/networking/spiped.nix @@ -0,0 +1,220 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.spiped; +in +{ + options = { + services.spiped = { + enable = mkOption { + type = types.bool; + default = false; + description = "Enable the spiped service module."; + }; + + config = 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 = mkIf cfg.enable { + assertions = mapAttrsToList (name: c: { + assertion = (c.encrypt -> !c.decrypt) || (c.decrypt -> c.encrypt); + message = "A pipe must either encrypt or decrypt"; + }) cfg.config; + + 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.config != {}) + "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.config; + }; +} diff --git a/nixos/modules/services/networking/ssh/lshd.nix b/nixos/modules/services/networking/ssh/lshd.nix index 04ef76f1e4d..fca30a1fe49 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 537fe0848ea..e4b29a0b909 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 @@ -18,9 +18,9 @@ let knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts); knownHostsFile = pkgs.writeText "ssh_known_hosts" ( - flip concatMapStrings knownHosts (h: - "${concatStringsSep "," h.hostNames} ${readFile h.publicKeyFile}" - ) + flip concatMapStrings knownHosts (h: '' + ${concatStringsSep "," h.hostNames} ${if h.publicKey != null then h.publicKey else readFile h.publicKeyFile} + '') ); userOptions = { @@ -39,7 +39,7 @@ let }; keyFiles = mkOption { - type = types.listOf types.unspecified; + type = types.listOf types.path; default = []; description = '' A list of files each containing one OpenSSH public key that should be @@ -86,6 +86,16 @@ in ''; }; + startWhenNeeded = mkOption { + type = types.bool; + default = false; + description = '' + If set, sshd is socket-activated; that + is, instead of having it permanently running as a daemon, + systemd will start an instance for each incoming connection. + ''; + }; + forwardX11 = mkOption { type = types.bool; default = cfgc.setXAuthLocation; @@ -172,7 +182,7 @@ in }; authorizedKeysFiles = mkOption { - type = types.listOf types.unspecified; + type = types.listOf types.str; default = []; description = "Files from with authorized keys are read."; }; @@ -208,7 +218,18 @@ in the host's ssh service. ''; }; + publicKey = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The public key data for the host. You can fetch a public key + from a running SSH server with the ssh-keyscan + command. + ''; + }; publicKeyFile = mkOption { + default = null; + type = types.nullOr types.path; description = '' The path to the public key file for the host. The public key file is read at build time and saved in the Nix store. @@ -248,44 +269,66 @@ in } ]; - systemd.services.sshd = - { description = "SSH Daemon"; + systemd = + let + service = + { description = "SSH Daemon"; - wantedBy = [ "multi-user.target" ]; + wantedBy = optional (!cfg.startWhenNeeded) "multi-user.target"; - stopIfChanged = false; + stopIfChanged = false; - path = [ pkgs.openssh pkgs.gawk ]; + path = [ pkgs.openssh pkgs.gawk ]; - environment.LD_LIBRARY_PATH = nssModulesPath; - environment.LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive"; + environment.LD_LIBRARY_PATH = nssModulesPath; - preStart = - '' - mkdir -m 0755 -p /etc/ssh + preStart = + '' + mkdir -m 0755 -p /etc/ssh - ${flip concatMapStrings cfg.hostKeys (k: '' - if ! [ -f "${k.path}" ]; then - ssh-keygen -t "${k.type}" -b "${toString k.bits}" -f "${k.path}" -N "" - fi - '')} - ''; + ${flip concatMapStrings cfg.hostKeys (k: '' + if ! [ -f "${k.path}" ]; then + ssh-keygen -t "${k.type}" -b "${toString k.bits}" -f "${k.path}" -N "" + fi + '')} + ''; - serviceConfig = - { ExecStart = - "${pkgs.openssh}/sbin/sshd " + - "-f ${pkgs.writeText "sshd_config" cfg.extraConfig}"; - Restart = "always"; - Type = "forking"; - KillMode = "process"; - PIDFile = "/run/sshd.pid"; + serviceConfig = + { ExecStart = + "${pkgs.openssh}/sbin/sshd " + (optionalString cfg.startWhenNeeded "-i ") + + "-f ${pkgs.writeText "sshd_config" cfg.extraConfig}"; + KillMode = "process"; + } // (if cfg.startWhenNeeded then { + StandardInput = "socket"; + } else { + Restart = "always"; + Type = "forking"; + PIDFile = "/run/sshd.pid"; + }); }; + in + + if cfg.startWhenNeeded then { + + sockets.sshd = + { description = "SSH Socket"; + wantedBy = [ "sockets.target" ]; + socketConfig.ListenStream = cfg.ports; + socketConfig.Accept = true; + }; + + services."sshd@" = service; + + } else { + + services.sshd = service; + }; networking.firewall.allowedTCPPorts = cfg.ports; security.pam.services.sshd = - { startSession = !config.boot.isContainer; + { startSession = true; showMotd = true; unixAuth = cfg.passwordAuthentication; }; @@ -335,7 +378,12 @@ in ''; assertions = [{ assertion = if cfg.forwardX11 then cfgc.setXAuthLocation else true; - message = "cannot enable X11 forwarding without setting xauth location";}]; + message = "cannot enable X11 forwarding without setting xauth location";}] + ++ flip mapAttrsToList cfg.knownHosts (name: data: { + assertion = (data.publicKey == null && data.publicKeyFile != null) || + (data.publicKey != null && data.publicKeyFile == null); + message = "knownHost ${name} must contain either a publicKey or publicKeyFile"; + }); }; diff --git a/nixos/modules/services/networking/supybot.nix b/nixos/modules/services/networking/supybot.nix index fa8b7556de5..2cfb9fc9b92 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 index 8ca16730a94..02572c1e27d 100644 --- a/nixos/modules/services/networking/syncthing.nix +++ b/nixos/modules/services/networking/syncthing.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/networking/tcpcrypt.nix b/nixos/modules/services/networking/tcpcrypt.nix index 48cb884f246..1359006aef4 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/teamspeak3.nix b/nixos/modules/services/networking/teamspeak3.nix new file mode 100644 index 00000000000..2d3478d52f8 --- /dev/null +++ b/nixos/modules/services/networking/teamspeak3.nix @@ -0,0 +1,142 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + ts3 = pkgs.teamspeak_server; + cfg = config.services.teamspeak3; + user = "teamspeak"; + group = "teamspeak"; +in + +{ + + ###### interface + + options = { + + services.teamspeak3 = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to run the Teamspeak3 voice communication server daemon. + ''; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/teamspeak3-server"; + description = '' + Directory to store TS3 database and other state/data files. + ''; + }; + + logPath = mkOption { + type = types.path; + default = "/var/log/teamspeak3-server/"; + description = '' + Directory to store log files in. + ''; + }; + + voiceIP = mkOption { + type = types.str; + default = "0.0.0.0"; + description = '' + IP on which the server instance will listen for incoming voice connections. Defaults to any IP. + ''; + }; + + defaultVoicePort = mkOption { + type = types.int; + default = 9987; + description = '' + Default UDP port for clients to connect to virtual servers - used for first virtual server, subsequent ones will open on incrementing port numbers by default. + ''; + }; + + fileTransferIP = mkOption { + type = types.str; + default = "0.0.0.0"; + description = '' + IP on which the server instance will listen for incoming file transfer connections. Defaults to any IP. + ''; + }; + + fileTransferPort = mkOption { + type = types.int; + default = 30033; + description = '' + TCP port opened for file transfers. + ''; + }; + + queryIP = mkOption { + type = types.str; + default = "0.0.0.0"; + description = '' + IP on which the server instance will listen for incoming ServerQuery connections. Defaults to any IP. + ''; + }; + + queryPort = mkOption { + type = types.int; + default = 10011; + description = '' + TCP port opened for ServerQuery connections. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + users.extraUsers.teamspeak = + { name = "teamspeak"; + description = "Teamspeak3 voice communication server daemon"; + group = group; + uid = config.ids.uids.teamspeak; + }; + + users.extraGroups.teamspeak = + { name = "teamspeak"; + gid = config.ids.gids.teamspeak; + }; + + systemd.services.teamspeak3-server = { + description = "Teamspeak3 voice communication server daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + preStart = '' + mkdir -p ${cfg.dataDir} + mkdir -p ${cfg.logPath} + chown ${user}:${group} ${cfg.dataDir} + chown ${user}:${group} ${cfg.logPath} + ''; + + serviceConfig = + { ExecStart = '' + ${ts3}/bin/ts3server \ + dbsqlpath=${ts3}/lib/teamspeak/sql/ logpath=${cfg.logPath} \ + voice_ip=${cfg.voiceIP} default_voice_port=${toString cfg.defaultVoicePort} \ + filetransfer_ip=${cfg.fileTransferIP} filetransfer_port=${toString cfg.fileTransferPort} \ + query_ip=${cfg.queryIP} query_port=${toString cfg.queryPort} + ''; + WorkingDirectory = cfg.dataDir; + User = user; + Group = group; + PermissionsStartOnly = true; # preStart needs to run with root permissions + }; + }; + + }; + +} diff --git a/nixos/modules/services/networking/tftpd.nix b/nixos/modules/services/networking/tftpd.nix index 37935496c59..a2f7ff06ea6 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 fb75b4ed069..415ff13bdda 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 @@ -18,25 +18,25 @@ let "forward-zone:\n name: .\n" + concatMapStrings (x: " forward-addr: ${x}\n") cfg.forwardAddresses; - confFile = pkgs.writeText "unbound.conf" - '' - server: - directory: "${stateDir}" - username: ${username} - # make sure unbound can access entropy from inside the chroot. - # e.g. on linux the use these commands (on BSD, devfs(8) is used): - # mount --bind -n /dev/random /etc/unbound/dev/random - # and mount --bind -n /dev/log /etc/unbound/dev/log - chroot: "${stateDir}" - # logfile: "${stateDir}/unbound.log" #uncomment to use logfile. - pidfile: "${stateDir}/unbound.pid" - verbosity: 1 # uncomment and increase to get more logging. - # listen on all interfaces, answer queries from the local subnet. + confFile = pkgs.writeText "unbound.conf" '' + server: + directory: "${stateDir}" + username: ${username} + # make sure unbound can access entropy from inside the chroot. + # e.g. on linux the use these commands (on BSD, devfs(8) is used): + # mount --bind -n /dev/random /etc/unbound/dev/random + # and mount --bind -n /dev/log /etc/unbound/dev/log + chroot: "${stateDir}" + # logfile: "${stateDir}/unbound.log" #uncomment to use logfile. + pidfile: "${stateDir}/unbound.pid" + verbosity: 1 # uncomment and increase to get more logging. ${interfaces} ${access} - ${forward} - ${cfg.extraConfig} - ''; + + ${forward} + + ${cfg.extraConfig} + ''; in @@ -45,74 +45,61 @@ in ###### interface options = { - services.unbound = { enable = mkOption { - default = false; - description = " - Whether to enable the Unbound domain name server. - "; + default = false; + description = "Whether to enable the Unbound domain name server."; }; allowedAccess = mkOption { - default = ["127.0.0.0/24"]; - description = " - What networks are allowed to use us as a resolver. - "; + default = ["127.0.0.0/24"]; + description = "What networks are allowed to use unbound as a resolver."; }; interfaces = mkOption { - default = [ "127.0.0.0" "::1" ]; - description = " - What addresses the server should listen to. - "; + default = [ "127.0.0.1" "::1" ]; + description = "What addresses the server should listen on."; }; forwardAddresses = mkOption { - default = [ ]; - description = " - What servers to forward the queries to. - "; + default = [ ]; + description = "What servers to forward queries to."; }; extraConfig = mkOption { - default = ""; - description = " - Extra unbound config - "; + default = ""; + description = "Extra lines of unbound config."; }; }; + }; + + ###### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ pkgs.unbound ]; + + users.extraUsers = singleton { + name = username; + uid = config.ids.uids.unbound; + description = "unbound daemon user"; + home = stateDir; + createHome = true; + }; + + systemd.services.unbound = { + description="Unbound recursive Domain Name Server"; + after = [ "network.target" ]; + before = [ "nss-lookup.target" ]; + wants = [" nss-lookup.target" ]; + wantedBy = [ "multi-user.target" ]; + + path = [ pkgs.unbound ]; + serviceConfig.ExecStart = "${pkgs.unbound}/sbin/unbound -d -c ${confFile}"; + }; }; - - ###### implementation - - config = mkIf config.services.unbound.enable { - environment.systemPackages = [ pkgs.unbound ]; - - users.extraUsers = singleton - { name = username; - uid = config.ids.uids.unbound; - description = "unbound daemon user"; - home = "/tmp"; - }; - - jobs.unbound = - { description = "Unbound name server job"; - - preStart = - '' - ${pkgs.coreutils}/bin/mkdir -p ${stateDir} - ''; - - daemonType = "fork"; - - exec = "${pkgs.unbound}/sbin/unbound -c ${confFile}"; - }; - - }; - } diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix index 763fa8dc3c4..62b6027c012 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 diff --git a/nixos/modules/services/networking/wakeonlan.nix b/nixos/modules/services/networking/wakeonlan.nix index 1fc54986b16..11bb7e92525 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 12042bbad6c..4b76350ecf8 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 8e012273216..18258084fc2 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 5e5f81ed5a0..771eeecd772 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 @@ -46,9 +46,7 @@ in example = [ "wlan0" "wlan1" ]; description = '' The interfaces wpa_supplicant will use. If empty, it will - automatically use all wireless interfaces. (Note that auto-detection is currently - broken on Linux 3.4.x kernels. See http://github.com/NixOS/nixos/issues/10 for - further details.) + automatically use all wireless interfaces. ''; }; @@ -92,11 +90,11 @@ in services.dbus.packages = [ pkgs.wpa_supplicant ]; + # FIXME: start a separate wpa_supplicant instance per interface. jobs.wpa_supplicant = { description = "WPA Supplicant"; wantedBy = [ "network.target" ]; - after = [ "systemd-udev-settle.service" ]; path = [ pkgs.wpa_supplicant ]; @@ -135,6 +133,12 @@ in assertions = [{ assertion = !cfg.userControlled.enable || cfg.interfaces != []; message = "user controlled wpa_supplicant needs explicit networking.wireless.interfaces";}]; + # Restart wpa_supplicant when a wlan device appears or disappears. + services.udev.extraRules = + '' + ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", RUN+="${config.systemd.package}/bin/systemctl try-restart wpa_supplicant.service" + ''; + }; } diff --git a/nixos/modules/services/networking/xinetd.nix b/nixos/modules/services/networking/xinetd.nix index 626183b810f..14ee52ae52e 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 fb8923e107a..d229c610669 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 @@ -56,6 +56,15 @@ in ''; }; + listenAddresses = mkOption { + type = types.listOf types.str; + default = [ "127.0.0.1:631" ]; + example = [ "*:631" ]; + description = '' + A list of addresses and ports on which to listen. + ''; + }; + bindirCmds = mkOption { type = types.lines; internal = true; @@ -126,7 +135,8 @@ in { description = "CUPS Printing Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + wants = [ "network.target" ]; + after = [ "network.target" ]; path = [ cups ]; @@ -145,7 +155,7 @@ in services.printing.drivers = [ pkgs.cups pkgs.cups_pdf_filter pkgs.ghostscript additionalBackends pkgs.perl pkgs.coreutils pkgs.gnused pkgs.bc pkgs.gawk pkgs.gnugrep - ]; + ]; services.printing.cupsdConf = '' @@ -153,7 +163,9 @@ in SystemGroup root wheel - Listen localhost:631 + ${concatMapStrings (addr: '' + Listen ${addr} + '') cfg.listenAddresses} Listen /var/run/cups/cups.sock # Note: we can't use ${cups}/etc/cups as the ServerRoot, since diff --git a/nixos/modules/services/scheduling/atd.nix b/nixos/modules/services/scheduling/atd.nix index c516c5889f1..c6f128ec402 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 44ed1ba5a07..5da71b12dd7 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 fda29ca0482..346a64f2c3c 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 d647301889a..b7a3566f95d 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.elasticsearch; diff --git a/nixos/modules/services/search/solr.nix b/nixos/modules/services/search/solr.nix index a1567c535d9..38d9dedbe3c 100644 --- a/nixos/modules/services/search/solr.nix +++ b/nixos/modules/services/search/solr.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix index 5ccb4927fcb..057891a6047 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 ae1fd22d23e..af545016637 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 5f8d398996f..7270a9f9814 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"; diff --git a/nixos/modules/services/security/haveged.nix b/nixos/modules/services/security/haveged.nix index c3ea3fb03ed..1d52ed55dbd 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 e70eb8511a6..582dd124c29 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 1c158906a91..53f48a714b4 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 d6974282a6b..ede6c983677 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 cb5110f6feb..8d02a6404ac 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 @@ -16,7 +16,7 @@ let buildCommand = '' ensureDir $out - cp -v ${pkgs.dbus_daemon}/etc/dbus-1/system.conf $out/system.conf + cp -v ${pkgs.dbus.daemon}/etc/dbus-1/system.conf $out/system.conf # !!! Hm, these `sed' calls are rather error-prone... @@ -31,7 +31,7 @@ let -e 's||${systemServiceDirs}|' \ -e 's|system.d|${systemIncludeDirs}|' - cp ${pkgs.dbus_daemon}/etc/dbus-1/session.conf $out/session.conf + cp ${pkgs.dbus.daemon}/etc/dbus-1/session.conf $out/session.conf # Add the services and session.d directories to the session bus # search path. @@ -97,7 +97,7 @@ in config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.dbus_daemon pkgs.dbus_tools ]; + environment.systemPackages = [ pkgs.dbus.daemon pkgs.dbus_tools ]; environment.etc = singleton { source = configDir; @@ -113,30 +113,7 @@ in users.extraGroups.messagebus.gid = config.ids.gids.messagebus; - # FIXME: these are copied verbatim from the dbus source tree. We - # should install and use the originals. - systemd.units."dbus.socket".text = - '' - [Unit] - Description=D-Bus System Message Bus Socket - - [Socket] - ListenStream=/var/run/dbus/system_bus_socket - ''; - - systemd.units."dbus.service".text = - '' - [Unit] - Description=D-Bus System Message Bus - Requires=dbus.socket - - [Service] - ExecStartPre=${pkgs.dbus_tools}/bin/dbus-uuidgen --ensure - ExecStartPre=-${pkgs.coreutils}/bin/rm -f /var/run/dbus/pid - ExecStart=${pkgs.dbus_daemon}/bin/dbus-daemon --system --address=systemd: --nofork --systemd-activation - ExecReload=${pkgs.dbus_tools}/bin/dbus-send --print-reply --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig - OOMScoreAdjust=-900 - ''; + systemd.packages = [ pkgs.dbus.daemon ]; security.setuidOwners = singleton { program = "dbus-daemon-launch-helper"; diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix index 3259bdbbe12..1ac82064a1f 100644 --- a/nixos/modules/services/system/nscd.nix +++ b/nixos/modules/services/system/nscd.nix @@ -1,6 +1,6 @@ -{pkgs, config, ...}: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -9,6 +9,8 @@ let inherit (pkgs.lib) singleton; + cfgFile = pkgs.writeText "nscd.conf" cfg.config; + in { @@ -63,7 +65,7 @@ in restartTriggers = [ config.environment.etc.hosts.source ]; serviceConfig = - { ExecStart = "@${pkgs.glibc}/sbin/nscd nscd -f ${pkgs.writeText "nscd.conf" cfg.config}"; + { ExecStart = "@${pkgs.glibc}/sbin/nscd nscd -f ${cfgFile}"; Type = "forking"; PIDFile = "/run/nscd/nscd.pid"; Restart = "always"; @@ -73,6 +75,15 @@ in "${pkgs.glibc}/sbin/nscd --invalidate hosts" ]; }; + + # Urgggggh... Nscd forks before opening its socket and writing + # its pid. So wait until it's ready. + postStart = + '' + while ! ${pkgs.glibc}/sbin/nscd -g -f ${cfgFile} > /dev/null; do + sleep 0.2 + done + ''; }; }; diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix index e0c212e5661..00df4042d89 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 68f9b0647c0..02db4a7a5b2 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 @@ -146,13 +125,17 @@ in #include #include - ${pkgs.glibc}/lib/*.so mr, - ${pkgs.libevent}/lib/libevent*.so* mr, - ${pkgs.curl}/lib/libcurl*.so* mr, - ${pkgs.openssl}/lib/libssl*.so* mr, - ${pkgs.openssl}/lib/libcrypto*.so* mr, - ${pkgs.zlib}/lib/libz*.so* mr, - ${pkgs.libssh2}/lib/libssh2*.so* mr, + ${pkgs.glibc}/lib/*.so mr, + ${pkgs.libevent}/lib/libevent*.so* mr, + ${pkgs.curl}/lib/libcurl*.so* mr, + ${pkgs.openssl}/lib/libssl*.so* mr, + ${pkgs.openssl}/lib/libcrypto*.so* mr, + ${pkgs.zlib}/lib/libz*.so* mr, + ${pkgs.libssh2}/lib/libssh2*.so* mr, + ${pkgs.systemd}/lib/libsystemd*.so* mr, + ${pkgs.xz}/lib/liblzma*.so* mr, + ${pkgs.libgcrypt}/lib/libgcrypt*.so* mr, + ${pkgs.libgpgerror}/lib/libgpg-error*.so* mr, @{PROC}/sys/kernel/random/uuid r, @{PROC}/sys/vm/overcommit_memory r, @@ -161,9 +144,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 ca4fbeb0add..df21ebbd974 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; { @@ -49,22 +49,20 @@ with pkgs.lib; config = { systemd.services."getty@" = - { baseUnit = pkgs.runCommand "getty.service" {} - '' - sed '/ExecStart/ d' < ${config.systemd.package}/example/systemd/system/getty@.service > $out - ''; - serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login %I 38400"; + { 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@" = - { baseUnit = pkgs.runCommand "serial-getty.service" {} - '' - sed '/ExecStart/ d' < ${config.systemd.package}/example/systemd/system/serial-getty@.service > $out - ''; - serviceConfig.ExecStart = + { 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}"; + 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; }; diff --git a/nixos/modules/services/ttys/gpm.nix b/nixos/modules/services/ttys/gpm.nix index 74cee67aeae..308a6d3643a 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,16 @@ 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 = [ "dev-input-mice.device" ]; + after = [ "dev-input-mice.device" ]; - 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/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index 949dce96824..75ec6671d15 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 @@ -65,7 +65,7 @@ let 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; @@ -450,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 @@ -510,7 +510,7 @@ in virtualHosts = mkOption { type = types.listOf (types.submodule ( { options = import ./per-server-options.nix { - inherit pkgs; + inherit lib; forMainServer = false; }; })); @@ -577,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; }); diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix index f5669faebc9..7d59c13b957 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 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 53f34e28c27..b8e86334539 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/phabricator.nix b/nixos/modules/services/web-servers/apache-httpd/phabricator.nix new file mode 100644 index 00000000000..c7a9bdf68c5 --- /dev/null +++ b/nixos/modules/services/web-servers/apache-httpd/phabricator.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: +let + phabricatorRoot = pkgs.stdenv.mkDerivation rec { + version = "2014-05-12"; + name = "phabricator-${version}"; + srcLibphutil = pkgs.fetchgit { + url = git://github.com/facebook/libphutil.git; + rev = "2f3b5a1cf6ea464a0250d4b1c653a795a90d2716"; + sha256 = "9598cec400984dc149162f1e648814a54ea0cd34fcd529973dc83f5486fdd9fd"; + }; + srcArcanist = pkgs.fetchgit { + url = git://github.com/facebook/arcanist.git; + rev = "54c377448db8dbc40f0ca86d43c837d30e493485"; + sha256 = "086db3c0d1154fbad23e7c6def31fd913384ee20247b329515838b669c3028e0"; + }; + srcPhabricator = pkgs.fetchgit { + url = git://github.com/facebook/phabricator.git; + rev = "1644ef185ecf1e9fca3eb6b16351ef46b19d110f"; + sha256 = "e1135e4ba76d53f48aad4161563035414ed7e878f39a8a34a875a01b41b2a084"; + }; + + buildCommand = '' + mkdir -p $out + cp -R ${srcLibphutil} $out/libphutil + cp -R ${srcArcanist} $out/arcanist + cp -R ${srcPhabricator} $out/phabricator + ''; + }; +in { + enablePHP = true; + extraApacheModules = [ "mod_rewrite" ]; + DocumentRoot = "${phabricatorRoot}/phabricator/webroot"; + extraConfig = '' + DocumentRoot ${phabricatorRoot}/phabricator/webroot + + RewriteEngine on + RewriteRule ^/rsrc/(.*) - [L,QSA] + RewriteRule ^/favicon.ico - [L,QSA] + RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA] + ''; +} diff --git a/nixos/modules/services/web-servers/apache-httpd/trac.nix b/nixos/modules/services/web-servers/apache-httpd/trac.nix index dc82fd34f2f..8fe8b90d823 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 @@ -8,8 +8,6 @@ let subversion = pkgs.subversion.override (origArgs: { bdbSupport = true; httpServer = true; - sslSupport = true; - compressionSupport = true; pythonBindings = true; }); diff --git a/nixos/modules/services/web-servers/apache-httpd/zabbix.nix b/nixos/modules/services/web-servers/apache-httpd/zabbix.nix index a6e6042fdf6..cab16593bcb 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/fcgiwrap.nix b/nixos/modules/services/web-servers/fcgiwrap.nix new file mode 100644 index 00000000000..7e91e7b60ee --- /dev/null +++ b/nixos/modules/services/web-servers/fcgiwrap.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.fcgiwrap; + +in { + + options = { + services.fcgiwrap = { + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable fcgiwrap, a server for running CGI applications over FastCGI."; + }; + + preforkProcesses = mkOption { + type = types.int; + default = 1; + description = "Number of processes to prefork."; + }; + + bindSocket = mkOption { + type = types.string; + default = "unix:/run/fcgiwrap.sock"; + description = '' + Socket to bind to. Valid socket URLs are: + unix:/path/to/socket for Unix sockets + tcp:dot.ted.qu.ad:port for IPv4 sockets + tcp6:[ipv6_addr]:port for IPv6 sockets + ''; + }; + }; + }; + + config = mkIf cfg.enable { + + systemd.services.fcgiwrap = { + after = [ "nss-user-lookup.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${builtins.toString cfg.preforkProcesses} -s ${cfg.bindSocket}"; + }; + }; + + }; +} diff --git a/nixos/modules/services/web-servers/jboss/default.nix b/nixos/modules/services/web-servers/jboss/default.nix index e1bcede6563..8a292ad6791 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 62264f1db45..dbff565bd8a 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 4cc34c65d84..3ba934c72bf 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 f02bd4db264..d49278be09a 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 62153613355..ff94ee42d28 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; diff --git a/nixos/modules/services/web-servers/phpfpm.nix b/nixos/modules/services/web-servers/phpfpm.nix index 6ffe4beaa5d..4a14f9b41a4 100644 --- a/nixos/modules/services/web-servers/phpfpm.nix +++ b/nixos/modules/services/web-servers/phpfpm.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.phpfpm; diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index a68828de5d8..1de3d40165e 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 @@ -119,6 +119,8 @@ in startOn = "started network-interfaces"; stopOn = "stopping network-interfaces"; + daemonType = "daemon"; + preStart = '' # Create the base directory @@ -327,10 +329,12 @@ in done '' else ""} - - ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c 'CATALINA_BASE=${cfg.baseDir} JAVA_HOME=${pkgs.jdk} JAVA_OPTS="${cfg.javaOpts}" CATALINA_OPTS="${cfg.catalinaOpts}" ${tomcat}/bin/startup.sh' ''; + script = '' + ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c 'CATALINA_BASE=${cfg.baseDir} JAVA_HOME=${pkgs.jdk} JAVA_OPTS="${cfg.javaOpts}" CATALINA_OPTS="${cfg.catalinaOpts}" ${tomcat}/bin/startup.sh' + ''; + postStop = '' echo "Stopping tomcat..." diff --git a/nixos/modules/services/web-servers/varnish/default.nix b/nixos/modules/services/web-servers/varnish/default.nix index 7e327120c3d..364f6c68fac 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 index 33c7e730118..7f48012f158 100644 --- a/nixos/modules/services/web-servers/winstone.nix +++ b/nixos/modules/services/web-servers/winstone.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diff --git a/nixos/modules/services/web-servers/zope2.nix b/nixos/modules/services/web-servers/zope2.nix index 576f4b08fb9..21117118457 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 753babf6a22..b82398ccf9d 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.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/e17.nix b/nixos/modules/services/x11/desktop-managers/e17.nix index 3d91617c62a..4cac53c9c75 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 index bebda772352..df50ca8c905 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -1,10 +1,30 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.xserver.desktopManager.gnome3; - gnome3 = pkgs.gnome3; + gnome3 = config.environment.gnome3.packageSet; + + # 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; + + # Prioritize nautilus by default when opening directories + mimeAppsList = pkgs.writeTextFile { + name = "gnome-mimeapps"; + destination = "/share/applications/mimeapps.list"; + text = '' + [Default Applications] + inode/directory=nautilus.desktop + ''; + }; + in { options = { @@ -15,6 +35,12 @@ in { description = "Enable Gnome 3 desktop manager."; }; + environment.gnome3.packageSet = mkOption { + default = pkgs.gnome3; + example = literalExample "pkgs.gnome3_12"; + description = "Which Gnome 3 package set to use."; + }; + environment.gnome3.excludePackages = mkOption { default = []; example = "[ pkgs.gnome3.totem ]"; @@ -30,14 +56,24 @@ in { security.polkit.enable = true; services.udisks2.enable = true; services.accounts-daemon.enable = true; + services.geoclue2.enable = mkDefault true; services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; - services.gnome3.sushi.enable = true; - services.telepathy.enable = true; + services.gnome3.gnome-documents.enable = mkDefault 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.gvfs.enable = true; + services.gnome3.seahorse.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; + services.upower.package = gnome3.upower; - fonts.extraFonts = [ pkgs.dejavu_fonts ]; + fonts.fonts = [ pkgs.dejavu_fonts ]; services.xserver.desktopManager.session = singleton { name = "gnome3"; @@ -50,25 +86,46 @@ in { export XDG_MENU_PREFIX=gnome + # Don't let epiphany depend upon gnome-shell + # Don't let gnome-session depend upon vino (for .desktop autostart condition) + # Override default mimeapps + export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome3.gnome_shell}/share/gsettings-schemas/${gnome3.gnome_shell.name}:${gnome3.vino}/share/gsettings-schemas/${gnome3.vino.name}:${mimeAppsList}/share + + # Let gnome-control-center find gnome-shell search providers + export GNOME_SEARCH_PROVIDERS_DIR=${config.system.path}/share/gnome-shell/search-providers/ + + # Let nautilus find extensions + export NAUTILUS_EXTENSION_DIR=${config.system.path}/lib/nautilus/extensions-3.0/ + + # 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" ]; + "${gnome3.glib_networking}/lib/gio/modules" + "${gnome3.gvfs}/lib/gio/modules" ]; environment.systemPackages = - [ gnome3.dconf - pkgs.glib_networking + [ pkgs.desktop_file_utils + gnome3.glib_networking + gnome3.gtk3 # for gtk-update-icon-cache pkgs.ibus + pkgs.shared_mime_info # for update-mime-database + gnome3.gvfs + 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 - ] ++ (lists.difference [ + ] ++ (removePackagesByName [ gnome3.baobab + gnome3.empathy gnome3.eog gnome3.epiphany gnome3.evince @@ -81,12 +138,26 @@ in { 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.bijiben + gnome3.evolution gnome3.file-roller + gnome3.gedit + gnome3.gnome-clocks + gnome3.gnome-music + gnome3.gnome-tweak-tool + gnome3.gnome-photos + gnome3.nautilus-sendto ] 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 108b52bb951..f74dd7e0444 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 @@ -43,7 +43,6 @@ let phononBackendPackages = flip concatMap cfg.phononBackends (name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends); - wantsUdisks2 = pkgs.kde4.kdelibs.wantsUdisks2 or false; in { @@ -158,8 +157,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 index 51278c5fadb..97e966ca019 100644 --- a/nixos/modules/services/x11/desktop-managers/xbmc.nix +++ b/nixos/modules/services/x11/desktop-managers/xbmc.nix @@ -1,6 +1,6 @@ -{ pkgs, config, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.xserver.desktopManager.xbmc; diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 9ce7744b065..a72eea76239 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 diff --git a/nixos/modules/services/x11/desktop-managers/xterm.nix b/nixos/modules/services/x11/desktop-managers/xterm.nix index 7321199b818..eab91407141 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 diff --git a/nixos/modules/services/x11/display-managers/auto.nix b/nixos/modules/services/x11/display-managers/auto.nix index 33d97e0e07a..c02ccdf12b6 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 575386bac0a..3bf18bd58c8 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 c51e7edfddf..7ec489ae3e7 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 0fa16a77c1b..d459c59b048 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 diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index cfe3ee53224..48feb12d044 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -58,7 +58,7 @@ in default = null; example = literalExample '' pkgs.fetchurl { - url = http://download.berlios.de/slim/slim-wave.tar.gz; + url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz"; sha256 = "0ndr419i5myzcylvxb89m9grl2xyq6fbnyc3lkd711mzlmnnfxdy"; } ''; @@ -66,7 +66,7 @@ in The theme for the SLiM login manager. If not specified, SLiM's default theme is used. See for a - collection of themes. + collection of themes. TODO: berlios shut down. ''; }; diff --git a/nixos/modules/services/x11/hardware/multitouch.nix b/nixos/modules/services/x11/hardware/multitouch.nix index 4f9048bfd91..6e6e88e6721 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 fe9dcd51a7a..f2227a34a20 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let cfg = config.services.xserver.synaptics; tapConfig = if cfg.tapButtons then enabledTapConfig else disabledTapConfig; diff --git a/nixos/modules/services/x11/hardware/wacom.nix b/nixos/modules/services/x11/hardware/wacom.nix index dfc588cd213..540ed168b48 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 02416f5ef12..d73b58de6c0 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; diff --git a/nixos/modules/services/x11/terminal-server.nix b/nixos/modules/services/x11/terminal-server.nix index f16a424b457..a036e085b0b 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; - hardware.opengl.videoDrivers = []; + services.xserver.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 1c61419a44c..9b2f042a87a 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 209401f2646..ffd71e5f91e 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 1c10333462c..f27ba366141 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; diff --git a/nixos/modules/services/x11/window-managers/herbstluftwm.nix b/nixos/modules/services/x11/window-managers/herbstluftwm.nix index 9480abba43b..6cda910b6b3 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 e53d86187ae..e85c3bce591 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 b7da4051c14..36028da453a 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 712e2038594..d13cbcfe40e 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 d80ffe4942f..684b34c2f24 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 b61521274fb..75f6fdfe3bc 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/xfs.nix b/nixos/modules/services/x11/xfs.nix index 44c1d533c3a..196f3beb41e 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 2985e55e787..5f3e8003b45 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 @@ -11,30 +11,16 @@ let xorg = pkgs.xorg; - # Map video driver names to driver packages. + # Map video driver names to driver packages. FIXME: move into card-specific modules. knownVideoDrivers = { ati_unfree = { modules = [ kernelPackages.ati_drivers_x11 ]; driverName = "fglrx"; }; nouveau = { modules = [ pkgs.xf86_video_nouveau ]; }; - nvidia = { modules = [ kernelPackages.nvidia_x11 ]; }; - nvidiaLegacy173 = { modules = [ kernelPackages.nvidia_x11_legacy173 ]; driverName = "nvidia"; }; - 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.hardware.opengl.videoDrivers; - - needsAcpid = - (elem "nvidia" driverNames) || - (elem "nvidiaLegacy173" driverNames) || - (elem "nvidiaLegacy304" driverNames); - - drivers = flip map driverNames - (name: { inherit name; driverName = name; } // - attrByPath [name] (if (hasAttr ("xf86video" + name) xorg) then { modules = [(getAttr ("xf86video" + name) xorg) ]; } else throw "unknown video driver `${name}'") knownVideoDrivers); - fontsForXServer = config.fonts.fonts ++ # We don't want these fonts in fonts.conf, because then modern, @@ -79,7 +65,6 @@ let monitors = foldl mkMonitor [] xrandrHeads; in concatMapStrings (getAttr "value") monitors; - configFile = pkgs.stdenv.mkDerivation { name = "xserver.conf"; @@ -181,6 +166,18 @@ in ''; }; + videoDrivers = mkOption { + type = types.listOf types.str; + # !!! We'd like "nv" here, but it segfaults the X server. + default = [ "ati" "cirrus" "intel" "vesa" "vmware" "modesetting" ]; + example = [ "vesa" ]; + description = '' + The names of the video drivers the configuration + supports. They will be tried in order until one that + supports your card is found. + ''; + }; + videoDriver = mkOption { type = types.nullOr types.str; default = null; @@ -188,7 +185,16 @@ in description = '' The name of the video driver for your graphics card. This option is obsolete; please set the - instead. + instead. + ''; + }; + + drivers = mkOption { + type = types.listOf types.attrs; + internal = true; + description = '' + A list of attribute sets specifying drivers to be loaded by + the X11 server. ''; }; @@ -201,17 +207,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; @@ -396,15 +391,27 @@ in ###### implementation config = mkIf cfg.enable { - hardware.opengl.enable = true; - hardware.opengl.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ]; + + hardware.opengl.enable = mkDefault true; + + services.xserver.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ]; + + # FIXME: somehow check for unknown driver names. + services.xserver.drivers = flip concatMap cfg.videoDrivers (name: + let driver = + attrByPath [name] + (if (hasAttr ("xf86video" + name) xorg) + then { modules = [(getAttr ("xf86video" + name) xorg) ]; } + else null) + knownVideoDrivers; + in optional (driver != null) ({ inherit name; driverName = name; } // driver)); 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; @@ -437,24 +444,18 @@ in pkgs.xterm pkgs.xdg_utils ] - ++ optional (elem "nvidia" driverNames) kernelPackages.nvidia_x11 - ++ optional (elem "nvidiaLegacy173" driverNames) kernelPackages.nvidia_x11_legacy173 - ++ optional (elem "nvidiaLegacy304" driverNames) kernelPackages.nvidia_x11_legacy304 - ++ optional (elem "virtualbox" driverNames) xorg.xrefresh - ++ optional (elem "ati_unfree" driverNames) kernelPackages.ati_drivers_x11; - - services.acpid.enable = mkIf needsAcpid true; + ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh + ++ optional (elem "ati_unfree" cfg.videoDrivers) kernelPackages.ati_drivers_x11; environment.pathsToLink = [ "/etc/xdg" "/share/xdg" "/share/applications" "/share/icons" "/share/pixmaps" ]; systemd.defaultUnit = mkIf cfg.autorun "graphical.target"; - systemd.services."display-manager" = + systemd.services.display-manager = { description = "X11 Server"; - after = [ "systemd-udev-settle.service" "local-fs.target" ] - ++ optional needsAcpid "acpid.service"; + after = [ "systemd-udev-settle.service" "local-fs.target" "acpid.service" ]; restartIfChanged = false; @@ -462,15 +463,11 @@ in { FONTCONFIG_FILE = "/etc/fonts/fonts.conf"; # !!! cleanup XKB_BINDIR = "${xorg.xkbcomp}/bin"; # Needed for the Xkb extension. XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime. - } // optionalAttrs (elem "nvidia" driverNames) { - LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11}/lib"; - } // optionalAttrs (elem "nvidiaLegacy173" driverNames) { - LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11_legacy173}/lib"; - } // optionalAttrs (elem "nvidiaLegacy304" driverNames) { - LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11_legacy304}/lib"; - } // optionalAttrs (elem "ati_unfree" driverNames) { - LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.ati_drivers_x11}/lib:${kernelPackages.ati_drivers_x11}/X11R6/lib64/modules/linux"; - #XORG_DRI_DRIVER_PATH = "${kernelPackages.ati_drivers_x11}/lib/dri"; # is ignored because ati drivers ship their own unpatched libglx.so ! + LD_LIBRARY_PATH = concatStringsSep ":" ( + [ "${xorg.libX11}/lib" "${xorg.libXext}/lib" ] + ++ optionals (elem "ati_unfree" cfg.videoDrivers) + [ "${kernelPackages.ati_drivers_x11}/lib" "${kernelPackages.ati_drivers_x11}/X11R6/lib64/modules/linux" ] + ++ concatLists (catAttrs "libPath" cfg.drivers)); } // cfg.displayManager.job.environment; preStart = @@ -500,7 +497,7 @@ in ] ++ optional (!cfg.enableTCP) "-nolisten tcp"; services.xserver.modules = - concatLists (catAttrs "modules" drivers) ++ + concatLists (catAttrs "modules" cfg.drivers) ++ [ xorg.xorgserver xorg.xf86inputevdev ]; @@ -536,7 +533,7 @@ in ${cfg.serverLayoutSection} # Reference the Screen sections for each driver. This will # cause the X server to try each in turn. - ${flip concatMapStrings drivers (d: '' + ${flip concatMapStrings cfg.drivers (d: '' Screen "Screen-${d.name}[0]" '')} EndSection @@ -550,11 +547,11 @@ in # For each supported driver, add a "Device" and "Screen" # section. - ${flip concatMapStrings drivers (driver: '' + ${flip concatMapStrings cfg.drivers (driver: '' Section "Device" Identifier "Device-${driver.name}[0]" - Driver "${driver.driverName}" + Driver "${driver.driverName or driver.name}" ${if cfg.useGlamor then ''Option "AccelMethod" "glamor"'' else ""} ${cfg.deviceSection} ${xrandrDeviceSection} @@ -573,10 +570,6 @@ in DefaultDepth ${toString cfg.defaultDepth} ''} - ${optionalString (driver.name == "nvidia") '' - Option "RandRRotation" "on" - ''} - ${optionalString (driver.name != "virtualbox" && (cfg.resolutions != [] || diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 1545bcb8a1f..b1bad956b4b 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 @@ -109,12 +109,12 @@ in '' # Various log/runtime directories. - touch /var/run/utmp # must exist - chgrp ${toString config.ids.gids.utmp} /var/run/utmp - chmod 664 /var/run/utmp + touch /run/utmp # must exist + chgrp ${toString config.ids.gids.utmp} /run/utmp + chmod 664 /run/utmp - mkdir -m 0755 -p /var/run/nix/current-load # for distributed builds - mkdir -m 0700 -p /var/run/nix/remote-stores + mkdir -m 0755 -p /run/nix/current-load # for distributed builds + mkdir -m 0700 -p /run/nix/remote-stores mkdir -m 0755 -p /var/log @@ -127,11 +127,6 @@ in mkdir -m 0555 -p /var/empty ''; - system.activationScripts.media = - '' - mkdir -m 0755 -p /media - ''; - system.activationScripts.usrbinenv = '' mkdir -m 0755 -p /usr/bin diff --git a/nixos/modules/system/activation/no-clone.nix b/nixos/modules/system/activation/no-clone.nix index c9ab691ce47..7f458443526 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 fd2b5b7950d..12012698efe 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -65,7 +65,7 @@ $SIG{PIPE} = "IGNORE"; sub getActiveUnits { # FIXME: use D-Bus or whatever to query this, since parsing the # output of list-units is likely to break. - my $lines = `@systemd@/bin/systemctl list-units --full`; + my $lines = `LANG= systemctl list-units --full --no-legend`; my $res = {}; foreach my $line (split '\n', $lines) { chomp $line; @@ -96,18 +96,19 @@ sub parseFstab { sub parseUnit { my ($filename) = @_; - parseKeyValues(read_file($filename)); + my $info = {}; + parseKeyValues($info, read_file($filename)); + parseKeyValues($info, read_file("${filename}.d/overrides.conf")) if -f "${filename}.d/overrides.conf"; + return $info; } sub parseKeyValues { - my @lines = @_; - my $info = {}; + my $info = shift; foreach my $line (@_) { # FIXME: not quite correct. $line =~ /^([^=]+)=(.*)$/ or next; $info->{$1} = $2; } - return $info; } sub boolIsTrue { @@ -115,6 +116,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); @@ -166,7 +175,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$/) { @@ -179,7 +188,7 @@ while (my ($unit, $state) = each %{$activePrev}) { if (boolIsTrue($unitInfo->{'X-ReloadIfChanged'} // "no")) { write_file($reloadListFile, { append => 1 }, "$unit\n"); } - elsif (!boolIsTrue($unitInfo->{'X-RestartIfChanged'} // "yes")) { + elsif (!boolIsTrue($unitInfo->{'X-RestartIfChanged'} // "yes") || boolIsTrue($unitInfo->{'RefuseManualStop'} // "no") ) { push @unitsToSkip, $unit; } else { # If this unit is socket-activated, then stop the @@ -288,7 +297,7 @@ foreach my $device (keys %$prevSwaps) { if (scalar @unitsToStop > 0) { @unitsToStop = unique(@unitsToStop); print STDERR "stopping the following units: ", join(", ", sort(@unitsToStop)), "\n"; - system("@systemd@/bin/systemctl", "stop", "--", @unitsToStop); # FIXME: ignore errors? + system("systemctl", "stop", "--", @unitsToStop); # FIXME: ignore errors? } print STDERR "NOT restarting the following units: ", join(", ", sort(@unitsToSkip)), "\n" @@ -354,7 +363,8 @@ while (my ($unit, $state) = each %{$activeNew}) { elsif ($state->{state} eq "auto-restart") { # A unit in auto-restart state is a failure *if* it previously failed to start my $lines = `@systemd@/bin/systemctl show '$unit'`; - my $info = parseKeyValues(split "\n", $lines); + my $info = {}; + parseKeyValues($info, split("\n", $lines)); if ($info->{ExecMainStatus} ne '0') { push @failed, $unit; diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index d9891f434cc..b739ef693ce 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 @@ -83,33 +84,39 @@ let ${config.system.extraSystemBuilderCmds} ''; + # Handle assertions + + failed = map (x: x.message) (filter (x: !x.assertion) config.assertions); + + showWarnings = res: fold (w: x: builtins.trace "^[[1;31mwarning: ${w}^[[0m" x) res config.warnings; # Putting it all together. This builds a store path containing # symlinks to the various parts of the built configuration (the # kernel, systemd units, init scripts, etc.) as well as a script # `switch-to-configuration' that activates the configuration and # makes it bootable. - system = pkgs.stdenv.mkDerivation { - name = "nixos-${config.system.nixosVersion}"; - preferLocalBuild = true; - buildCommand = systemBuilder; + system = showWarnings ( + if [] == failed then pkgs.stdenv.mkDerivation { + name = "nixos-${config.system.nixosVersion}"; + preferLocalBuild = true; + buildCommand = systemBuilder; - inherit (pkgs) utillinux coreutils; - systemd = config.systemd.package; + inherit (pkgs) utillinux coreutils; + systemd = config.systemd.package; - inherit children; - kernelParams = config.boot.kernelParams; - installBootLoader = - config.system.build.installBootLoader - or "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true"; - activationScript = config.system.activationScripts.script; - nixosVersion = config.system.nixosVersion; + inherit children; + kernelParams = config.boot.kernelParams; + installBootLoader = + config.system.build.installBootLoader + or "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true"; + activationScript = config.system.activationScripts.script; + nixosVersion = config.system.nixosVersion; - configurationName = config.boot.loader.grub.configurationName; + configurationName = config.boot.loader.grub.configurationName; - # Needed by switch-to-configuration. - perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; - }; + # Needed by switch-to-configuration. + perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; + } else throw "\nFailed assertions:\n${concatStringsSep "\n" (map (x: "- ${x}") failed)}"); in diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index 4cfd8a0b618..9beb7fabce1 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 @@ -191,6 +191,7 @@ in "ehci_hcd" "ehci_pci" "ohci_hcd" + "ohci_pci" "xhci_hcd" "usbhid" "hid_generic" @@ -218,37 +219,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 7e739173f9a..241cfc7e836 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 9855c8c19dd..4b5e84f53c1 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 ef6ff71ed77..0cc060db8f9 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 @@ -25,7 +25,7 @@ let inherit (cfg) version extraConfig extraPerEntryConfig extraEntries extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels timeout - default devices; + default devices explicitBootRoot; path = (makeSearchPath "bin" [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils ]) + ":" + (makeSearchPath "sbin" [ @@ -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 = '' @@ -212,6 +209,15 @@ in ''; }; + explicitBootRoot = mkOption { + default = ""; + type = types.str; + description = '' + The relative path of /boot within the parent volume. Leave empty + if /boot is not a btrfs subvolume. + ''; + }; + }; }; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index a83733db63b..c3aa8518b8b 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -39,6 +39,7 @@ my $configurationLimit = int(get("configurationLimit")); my $copyKernels = get("copyKernels") eq "true"; my $timeout = int(get("timeout")); my $defaultEntry = int(get("default")); +my $explicitBootRoot = get("explicitBootRoot"); $ENV{'PATH'} = get("path"); die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2; @@ -61,6 +62,10 @@ if (stat("/")->dev != stat("/boot")->dev) { $copyKernels = 1; } +if ($explicitBootRoot ne "") { + $bootRoot = $explicitBootRoot; +} + # Generate the header. my $conf .= "# Automatically generated. DO NOT EDIT THIS FILE!\n"; diff --git a/nixos/modules/system/boot/loader/grub/memtest.nix b/nixos/modules/system/boot/loader/grub/memtest.nix index afe194e672a..94e5a14174b 100644 --- a/nixos/modules/system/boot/loader/grub/memtest.nix +++ b/nixos/modules/system/boot/loader/grub/memtest.nix @@ -1,8 +1,8 @@ # This module adds Memtest86+ to the GRUB boot menu. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let memtest86 = pkgs.memtest86plus; diff --git a/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix b/nixos/modules/system/boot/loader/gummiboot/gummiboot.nix index 7edc3077637..e7a481e90a7 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; @@ -54,6 +54,8 @@ in { } ]; + boot.loader.grub.enable = mkDefault false; + system = { build.installBootLoader = gummibootBuilder; 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 4b0fcd85b4b..3b33d42b4ae 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 5bc856c3df0..d3f32418a64 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 117c526fcd3..c923cc49c44 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let luks = config.boot.initrd.luks; diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix index f694fd29dd0..7b214cd1e1f 100644 --- a/nixos/modules/system/boot/modprobe.nix +++ b/nixos/modules/system/boot/modprobe.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; { diff --git a/nixos/modules/system/boot/shutdown.nix b/nixos/modules/system/boot/shutdown.nix index 44cadcd64a7..11041066e07 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; { @@ -13,7 +13,7 @@ with pkgs.lib; unitConfig = { DefaultDependencies = false; - ConditionVirtualization = "!systemd-nspawn"; + ConditionPathExists = "/dev/rtc"; }; serviceConfig = { diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index d0f4576f811..7adb932aba7 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -58,13 +58,14 @@ echo mkdir -p /etc touch /etc/fstab # to shut up mount touch /etc/mtab # to shut up mke2fs +touch /etc/initrd-release mkdir -p /proc -mount -t proc none /proc +mount -t proc proc /proc mkdir -p /sys -mount -t sysfs none /sys -mount -t devtmpfs -o "size=@devSize@" none /dev +mount -t sysfs sysfs /sys +mount -t devtmpfs -o "size=@devSize@" devtmpfs /dev mkdir -p /run -mount -t tmpfs -o "mode=0755,size=@runSize@" none /run +mount -t tmpfs -o "mode=0755,size=@runSize@" tmpfs /run # Process the kernel command line. @@ -139,8 +140,6 @@ mkdir -p /dev/.mdadm systemd-udevd --daemon udevadm trigger --action=add udevadm settle || true -modprobe scsi_wait_scan || true -udevadm settle || true # Load boot-time keymap before any LVM/LUKS initialization @@ -206,7 +205,7 @@ checkFS() { # does (minutes versus seconds). if test -z "@checkJournalingFS@" -a \ \( "$fsType" = ext3 -o "$fsType" = ext4 -o "$fsType" = reiserfs \ - -o "$fsType" = xfs -o "$fsType" = jfs \) + -o "$fsType" = xfs -o "$fsType" = jfs -o "$fsType" = f2fs \) then return 0 fi @@ -347,8 +346,8 @@ exec 3>&- udevadm control --exit || true # Kill any remaining processes, just to be sure we're not taking any -# with us into stage 2. unionfs-fuse mounts require the unionfs process. -pkill -9 -v '(1|unionfs)' +# with us into stage 2. But keep storage daemons like unionfs-fuse. +pkill -9 -v -f '@' if test -n "$debug1mounts"; then fail; fi diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 8ed3aecb691..b6249b6c091 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -3,9 +3,9 @@ # the modules necessary to mount the root file system, then calls the # init in the root file system to start the second boot stage. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -74,7 +74,7 @@ let cp -v ${pkgs.lvm2}/sbin/dmsetup $out/bin/dmsetup cp -v ${pkgs.lvm2}/sbin/lvm $out/bin/lvm cp -v ${pkgs.lvm2}/lib/libdevmapper.so.*.* $out/lib - cp -v ${pkgs.systemd}/lib/libsystemd-daemon.so.* $out/lib + cp -v ${pkgs.systemd}/lib/libsystemd.so.* $out/lib # Add RAID mdadm tool. cp -v ${pkgs.mdadm}/sbin/mdadm $out/bin/mdadm @@ -344,5 +344,8 @@ in (isYes "BLK_DEV_INITRD") ]; + # Prevent systemd from waiting for the /dev/root symlink. + systemd.units."dev-root.device".text = ""; + }; } diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh index ee042992b17..eff2fb583ba 100644 --- a/nixos/modules/system/boot/stage-2-init.sh +++ b/nixos/modules/system/boot/stage-2-init.sh @@ -36,9 +36,9 @@ mount -n -o remount,rw / # stage 1, we need to do that here. if [ ! -e /proc/1 ]; then mkdir -m 0755 -p /proc - mount -n -t proc none /proc + mount -n -t proc proc /proc mkdir -m 0755 -p /dev - mount -t devtmpfs none /dev + mount -t devtmpfs devtmpfs /dev fi @@ -84,7 +84,7 @@ done mkdir -m 0755 /dev/shm mount -t tmpfs -o "rw,nosuid,nodev,size=@devShmSize@" tmpfs /dev/shm mkdir -m 0755 -p /dev/pts -[ -e /proc/bus/usb ] && mount -t usbfs none /proc/bus/usb # UML doesn't have USB by default +[ -e /proc/bus/usb ] && mount -t usbfs usbfs /proc/bus/usb # UML doesn't have USB by default mkdir -m 01777 -p /tmp mkdir -m 0755 -p /var /var/log /var/lib /var/db mkdir -m 0755 -p /nix/var @@ -96,28 +96,14 @@ mkdir -m 0755 -p /etc/nixos # Miscellaneous boot time cleanup. rm -rf /var/run /var/lock -rm -f /etc/resolv.conf -touch /etc/resolv.conf rm -f /etc/{group,passwd,shadow}.lock if test -n "@cleanTmpDir@"; then echo -n "cleaning \`/tmp'..." find /tmp -maxdepth 1 -mindepth 1 -print0 | xargs -0r rm -rf --one-file-system echo " done" -else - # Get rid of ICE locks... - rm -rf /tmp/.ICE-unix fi -# ... and ensure that it's owned by root. -mkdir -m 1777 /tmp/.ICE-unix - -# This is a good time to clean up /nix/var/nix/chroots. Doing an `rm -# -rf' on it isn't safe in general because it can contain bind mounts -# to /nix/store and other places. But after rebooting these are all -# gone, of course. -rm -rf /nix/var/nix/chroots # recreated in activate-configuration.sh - # Also get rid of temporary GC roots. rm -rf /nix/var/nix/gcroots/tmp /nix/var/nix/temproots @@ -128,16 +114,17 @@ rm -rf /nix/var/nix/gcroots/tmp /nix/var/nix/temproots if ! mountpoint -q /run; then rm -rf /run mkdir -m 0755 -p /run - mount -t tmpfs -o "mode=0755,size=@runSize@" none /run + mount -t tmpfs -o "mode=0755,size=@runSize@" tmpfs /run fi # Create a ramfs on /run/keys to hold secrets that shouldn't be # written to disk (generally used for NixOps, harmless elsewhere). if ! mountpoint -q /run/keys; then rm -rf /run/keys - mkdir -m 0750 /run/keys + mkdir /run/keys + mount -t ramfs ramfs /run/keys chown 0:96 /run/keys - mount -t ramfs none /run/keys + chmod 0750 /run/keys fi mkdir -m 0755 -p /run/lock @@ -155,6 +142,20 @@ if test -n "$resumeDevice"; then fi +# Use /etc/resolv.conf supplied by systemd-nspawn, if applicable. +if [ -n "@useHostResolvConf@" -a -e /etc/resolv.conf ]; then + cat /etc/resolv.conf | resolvconf -m 1000 -a host +else + touch /etc/resolv.conf +fi + + +# Create /var/setuid-wrappers as a tmpfs. +rm -rf /var/setuid-wrappers +mkdir -m 0755 -p /var/setuid-wrappers +mount -t tmpfs -o "mode=0755" tmpfs /var/setuid-wrappers + + # Run the script that performs all configuration activation that does # not have to be done at boot time. echo "running activation script..." diff --git a/nixos/modules/system/boot/stage-2.nix b/nixos/modules/system/boot/stage-2.nix index aa0d7e0c138..f53c3b8b8e7 100644 --- a/nixos/modules/system/boot/stage-2.nix +++ b/nixos/modules/system/boot/stage-2.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let @@ -19,11 +19,13 @@ let isExecutable = true; inherit (config.boot) devShmSize runSize cleanTmpDir; inherit (config.nix) readOnlyStore; + inherit (config.networking) useHostResolvConf; ttyGid = config.ids.gids.tty; path = [ pkgs.coreutils pkgs.utillinux pkgs.sysvtools + pkgs.openresolv ] ++ (optional config.boot.cleanTmpDir pkgs.findutils) ++ optional config.nix.readOnlyStore readonlyMountpoint; postBootCommands = pkgs.writeText "local-cmds" @@ -79,6 +81,7 @@ in ''; }; + # FIXME: should replace this with something that uses systemd-tmpfiles. cleanTmpDir = mkOption { type = types.bool; default = false; diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index 95837644e5c..a6183c47eb1 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -1,6 +1,6 @@ -{ config, pkgs }: +{ config, lib }: -with pkgs.lib; +with lib; let @@ -28,7 +28,7 @@ let in rec { - unitOptions = { + sharedOptions = { enable = mkOption { default = true; @@ -41,12 +41,37 @@ in rec { ''; }; - baseUnit = mkOption { - type = types.nullOr types.path; - default = null; - description = "Path to an upstream unit file on which the NixOS unit configuration will be based."; + 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."; + }; + + }; + + concreteUnitOptions = sharedOptions // { + + text = mkOption { + type = types.nullOr types.str; + default = null; + description = "Text of this systemd unit."; + }; + + unit = mkOption { + internal = true; + description = "The generated unit."; + }; + + }; + + commonUnitOptions = sharedOptions // { + description = mkOption { default = ""; type = types.str; @@ -115,18 +140,6 @@ in rec { ''; }; - requiredBy = mkOption { - default = []; - type = types.listOf types.str; - description = "Units that require (i.e. depend on and need to go down with) this unit."; - }; - - wantedBy = mkOption { - default = []; - type = types.listOf types.str; - description = "Units that want (i.e. depend on) this unit."; - }; - unitConfig = mkOption { default = {}; example = { RequiresMountsFor = "/data"; }; @@ -152,7 +165,7 @@ in rec { }; - serviceOptions = unitOptions // { + serviceOptions = commonUnitOptions // { environment = mkOption { default = {}; @@ -286,7 +299,7 @@ in rec { }; - socketOptions = unitOptions // { + socketOptions = commonUnitOptions // { listenStreams = mkOption { default = []; @@ -313,7 +326,7 @@ in rec { }; - timerOptions = unitOptions // { + timerOptions = commonUnitOptions // { timerConfig = mkOption { default = {}; @@ -332,7 +345,7 @@ in rec { }; - pathOptions = unitOptions // { + pathOptions = commonUnitOptions // { pathConfig = mkOption { default = {}; @@ -349,7 +362,7 @@ in rec { }; - mountOptions = unitOptions // { + mountOptions = commonUnitOptions // { what = mkOption { example = "/dev/sda1"; @@ -393,7 +406,7 @@ in rec { }; }; - automountOptions = unitOptions // { + automountOptions = commonUnitOptions // { where = mkOption { example = "/mnt"; @@ -417,4 +430,6 @@ in rec { }; }; + targetOptions = commonUnitOptions; + } diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index f5cb6507e72..761600f9e55 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 @@ -24,14 +24,13 @@ let ln -s /dev/null $out/${name} ''; - upstreamUnits = + upstreamSystemUnits = [ # Targets. "basic.target" "sysinit.target" "sockets.target" "graphical.target" "multi-user.target" - "getty.target" "network.target" "network-online.target" "nss-lookup.target" @@ -41,6 +40,7 @@ let "sigpwr.target" "timers.target" "paths.target" + "rpcbind.target" # Rescue mode. "rescue.target" @@ -53,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" @@ -65,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. @@ -78,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" @@ -91,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" @@ -119,34 +136,57 @@ 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 [ "emergency.target" "emergency.service" - ] - - ++ optionals config.services.journald.enableHttpGateway [ - "systemd-journal-gatewayd.socket" - "systemd-journal-gatewayd.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}"; @@ -178,7 +218,7 @@ let serviceConfig = { name, config, ... }: { config = mkMerge - [ (mkIf (config.baseUnit == null) { # Default path for systemd services. Should be quite minimal. + [ { # Default path for systemd services. Should be quite minimal. path = [ pkgs.coreutils pkgs.findutils @@ -187,7 +227,7 @@ let systemd ]; environment.PATH = config.path; - }) + } (mkIf (config.preStart != "") { serviceConfig.ExecStartPre = makeJobScript "${name}-pre-start" '' #! ${pkgs.stdenv.shell} -e @@ -255,10 +295,7 @@ let (if isList value then value else [value])) as)); - commonUnitText = def: - optionalString (def.baseUnit != null) '' - .include ${def.baseUnit} - '' + '' + commonUnitText = def: '' [Unit] ${attrsToSection def.unitConfig} ''; @@ -335,63 +372,92 @@ let ''; }; - units = pkgs.runCommand "units" { preferLocalBuild = true; } - '' + generateUnits = type: units: upstreamUnits: upstreamWants: + pkgs.runCommand "${type}-units" { preferLocalBuild = true; } '' mkdir -p $out + + # Copy the upstream systemd units we're interested in. for i in ${toString upstreamUnits}; do - fn=${systemd}/example/systemd/system/$i + fn=${systemd}/example/systemd/${type}/$i if ! [ -e $fn ]; then echo "missing $fn"; false; fi if [ -L $fn ]; then - cp -pd $fn $out/ + target="$(readlink "$fn")" + if [ ''${target:0:3} = ../ ]; then + ln -s "$(readlink -f "$fn")" $out/ + else + cp -pd $fn $out/ + fi else ln -s $fn $out/ fi done + # Copy .wants links, but only those that point to units that + # we're interested in. for i in ${toString upstreamWants}; do - fn=${systemd}/example/systemd/system/$i + fn=${systemd}/example/systemd/${type}/$i if ! [ -e $fn ]; then echo "missing $fn"; false; fi x=$out/$(basename $fn) mkdir $x for i in $fn/*; do y=$x/$(basename $i) cp -pd $i $y - if ! [ -e $y ]; then rm -v $y; fi + if ! [ -e $y ]; then rm $y; fi done done - for i in ${toString (mapAttrsToList (n: v: v.unit) cfg.units)}; do - ln -fs $i/* $out/ - done - + # Symlink all units provided listed in systemd.packages. for i in ${toString cfg.packages}; do - ln -s $i/etc/systemd/system/* $out/ + for fn in $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*; do + if ! [[ "$fn" =~ .wants$ ]]; then + ln -s $fn $out/ + fi + done done + # Symlink all units defined by systemd.units. If these are also + # provided by systemd or systemd.packages, then add them as + # .d/overrides.conf, which makes them extend the + # upstream unit. + for i in ${toString (mapAttrsToList (n: v: v.unit) units)}; do + fn=$(basename $i/*) + if [ -e $out/$fn ]; then + if [ "$(readlink -f $i/$fn)" = /dev/null ]; then + ln -sfn /dev/null $out/$fn + else + mkdir $out/$fn.d + ln -s $i/$fn $out/$fn.d/overrides.conf + fi + else + ln -fs $i/$fn $out/ + fi + done + + # Created .wants and .requires symlinks from the wantedBy and + # requiredBy options. ${concatStrings (mapAttrsToList (name: unit: concatMapStrings (name2: '' mkdir -p $out/'${name2}.wants' ln -sfn '../${name}' $out/'${name2}.wants'/ - '') unit.wantedBy) cfg.units)} + '') unit.wantedBy) units)} ${concatStrings (mapAttrsToList (name: unit: concatMapStrings (name2: '' mkdir -p $out/'${name2}.requires' ln -sfn '../${name}' $out/'${name2}.requires'/ - '') unit.requiredBy) cfg.units)} + '') unit.requiredBy) units)} - ln -s ${cfg.defaultUnit} $out/default.target + ${optionalString (type == "system") '' + # Stupid misc. symlinks. + ln -s ${cfg.defaultUnit} $out/default.target - ln -s rescue.target $out/kbrequest.target + ln -s rescue.target $out/kbrequest.target - mkdir -p $out/getty.target.wants/ - ln -s ../autovt@tty1.service $out/getty.target.wants/ + mkdir -p $out/getty.target.wants/ + ln -s ../autovt@tty1.service $out/getty.target.wants/ - ln -s ../local-fs.target ../remote-fs.target ../network.target ../nss-lookup.target \ - ../nss-user-lookup.target ../swap.target $out/multi-user.target.wants/ - - ${ optionalString config.services.journald.enableHttpGateway '' - ln -s ../systemd-journal-gatewayd.service $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/ ''} ''; # */ @@ -414,37 +480,7 @@ 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."; - }; - }; + { options = concreteUnitOptions; config = { unit = mkDefault (makeUnit name config); }; @@ -460,7 +496,7 @@ in systemd.targets = mkOption { default = {}; type = types.attrsOf types.optionSet; - options = [ unitOptions unitConfig ]; + options = [ targetOptions unitConfig ]; description = "Definition of systemd target units."; }; @@ -583,7 +619,7 @@ in default = false; type = types.bool; description = '' - Enable journal http gateway + Whether to enable the HTTP gateway to the journal. ''; }; @@ -610,6 +646,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."; + }; + }; @@ -617,11 +688,19 @@ in config = { - system.build.units = units; + warnings = concatLists (mapAttrsToList (name: service: + optional (service.serviceConfig.Type or "" == "oneshot" && service.serviceConfig.Restart or "no" != "no") + "Service ‘${name}.service’ with ‘Type=oneshot’ 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 = '' @@ -685,9 +764,14 @@ in (v: let n = escapeSystemdPath v.where; in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts); - system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled [ - "CGROUPS" "AUTOFS4_FS" "DEVTMPFS" - ]; + systemd.user.units = + mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services; + + system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled + [ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET" + "SYSFS" "PROC_FS" "FHANDLE" "DMIID" "AUTOFS4_FS" "TMPFS_POSIX_ACL" + "TMPFS_XATTR" "SECCOMP" + ]; environment.shellAliases = { start = "systemctl start"; @@ -708,43 +792,27 @@ in }) (filterAttrs (name: service: service.startAt != "") cfg.services); - # FIXME: These are borrowed from upstream systemd. - systemd.services."systemd-update-utmp" = - { description = "Update UTMP about System Reboot/Shutdown"; - wantedBy = [ "sysinit.target" ]; - after = [ "systemd-remount-fs.service" ]; - before = [ "sysinit.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig = { - DefaultDependencies = false; - RequiresMountsFor = "/var/log"; - }; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${systemd}/lib/systemd/systemd-update-utmp reboot"; - ExecStop = "${systemd}/lib/systemd/systemd-update-utmp shutdown"; - }; - restartIfChanged = false; + systemd.sockets.systemd-journal-gatewayd.wantedBy = + optional config.services.journald.enableHttpGateway "sockets.target"; + + # Provide the systemd-user PAM service, required to run systemd + # user instances. + security.pam.services.systemd-user = + { # Ensure that pam_systemd gets included. This is special-cased + # in systemd to provide XDG_RUNTIME_DIR. + startSession = true; }; - systemd.services."systemd-random-seed" = - { description = "Load/Save Random Seed"; - wantedBy = [ "sysinit.target" "multi-user.target" ]; - after = [ "systemd-remount-fs.service" ]; - before = [ "sysinit.target" "shutdown.target" ]; - conflicts = [ "shutdown.target" ]; - unitConfig = { - DefaultDependencies = false; - RequiresMountsFor = "/var/lib"; - }; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${systemd}/lib/systemd/systemd-random-seed load"; - ExecStop = "${systemd}/lib/systemd/systemd-random-seed save"; - }; - }; + environment.etc."tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf"; + + environment.etc."tmpfiles.d/nixos.conf".text = + '' + # This file is created automatically and should not be modified. + # Please change the option ‘systemd.tmpfiles.rules’ instead. + ${concatStringsSep "\n" cfg.tmpfiles.rules} + ''; + + systemd.services."user@".restartIfChanged = false; }; } diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix index e9c03df2ba3..22d55a9e246 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 diff --git a/nixos/modules/system/upstart/upstart.nix b/nixos/modules/system/upstart/upstart.nix index aa5c8dfe64b..5c046130407 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 705ec93a136..a8c63c13428 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,27 @@ with pkgs.lib; ###### implementation - config = mkIf (config.powerManagement.cpuFreqGovernor != null) { + config = mkIf (!config.boot.isContainer && config.powerManagement.cpuFreqGovernor != null) { - environment.systemPackages = [ pkgs.cpufrequtils ]; + boot.kernelModules = [ "acpi-cpufreq" "speedstep-lib" "pcc-cpufreq" + "cpufreq_${cfg.cpuFreqGovernor}" + ]; - jobs.cpufreq = - { description = "CPU Frequency Governor Setup"; + environment.systemPackages = [ cpupower ]; - after = [ "systemd-modules-load.service" ]; - wantedBy = [ "multi-user.target" ]; - - unitConfig.ConditionPathIsReadWrite = "/sys/devices/"; - - path = [ pkgs.cpufrequtils ]; - - preStart = '' - for i in $(seq 0 $(($(nproc) - 1))); do - for gov in $(cpufreq-info -c $i -g); do - if [ "$gov" = ${config.powerManagement.cpuFreqGovernor} ]; then - echo "<6>setting governor on CPU $i to ‘$gov’" - cpufreq-set -c $i -g $gov - fi - done - done - ''; + systemd.services.cpufreq = { + description = "CPU Frequency Governor Setup"; + after = [ "systemd-modules-load.service" ]; + wantedBy = [ "multi-user.target" ]; + path = [ cpupower ]; + unitConfig.ConditionVirtualization = false; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = "yes"; + ExecStart = "${cpupower}/bin/cpupower frequency-set -g ${cfg.cpuFreqGovernor}"; + SuccessExitStatus = "0 237"; }; - }; + }; + }; } diff --git a/nixos/modules/tasks/encrypted-devices.nix b/nixos/modules/tasks/encrypted-devices.nix new file mode 100644 index 00000000000..e80762a170c --- /dev/null +++ b/nixos/modules/tasks/encrypted-devices.nix @@ -0,0 +1,69 @@ +{ config, pkgs, modulesPath, ... }: + +with pkgs.lib; + +let + fileSystems = attrValues config.fileSystems ++ config.swapDevices; + encDevs = filter (dev: dev.encrypted.enable) fileSystems; + keyedEncDevs = filter (dev: dev.encrypted.keyFile != null) encDevs; + isIn = needle: haystack: filter (p: p == needle) haystack != []; + anyEncrypted = + fold (j: v: v || j.encrypted.enable) false encDevs; + + encryptedFSOptions = { + + encrypted = { + enable = mkOption { + default = false; + type = types.bool; + description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry"; + }; + + blkDev = mkOption { + default = null; + example = "/dev/sda1"; + type = types.uniq (types.nullOr types.string); + description = "Location of the backing encrypted device"; + }; + + label = mkOption { + default = null; + example = "rootfs"; + type = types.uniq (types.nullOr types.string); + description = "Label of the backing encrypted device"; + }; + + keyFile = mkOption { + default = null; + example = "/root/.swapkey"; + type = types.uniq (types.nullOr types.string); + description = "File system location of keyfile"; + }; + }; + }; +in + +{ + + options = { + fileSystems = mkOption { + options = [encryptedFSOptions]; + }; + swapDevices = mkOption { + options = [encryptedFSOptions]; + }; + }; + + config = mkIf anyEncrypted { + boot.initrd = { + luks = { + devices = + map (dev: { name = dev.encrypted.label; device = dev.encrypted.blkDev; } ) encDevs; + cryptoModules = [ "aes" "sha256" "sha1" "xts" ]; + }; + postMountCommands = + concatMapStrings (dev: "cryptsetup luksOpen --key-file ${dev.encrypted.keyFile} ${dev.encrypted.label};\n") keyedEncDevs; + }; + }; +} + diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index f9b40b8366a..d350bc1b5d0 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 @@ -187,6 +187,8 @@ in let mountPoint' = escapeSystemdPath fs.mountPoint; device' = escapeSystemdPath fs.device; + # -F needed to allow bare block device without partitions + mkfsOpts = optional ((builtins.substring 0 3 fs.fsType) == "ext") "-F"; in nameValuePair "mkfs-${device'}" { description = "Initialisation of Filesystem ${fs.device}"; wantedBy = [ "${mountPoint'}.mount" ]; @@ -201,7 +203,7 @@ in type=$(blkid -p -s TYPE -o value "${fs.device}" || true) if [ -z "$type" ]; then echo "creating ${fs.fsType} filesystem on ${fs.device}..." - mkfs.${fs.fsType} "${fs.device}" + mkfs.${fs.fsType} ${concatStringsSep " " mkfsOpts} "${fs.device}" fi ''; unitConfig.RequiresMountsFor = [ "${dirOf fs.device}" ]; diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix index d95a32e2e3f..d0a2ac645e0 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/f2fs.nix b/nixos/modules/tasks/filesystems/f2fs.nix new file mode 100644 index 00000000000..8655107360c --- /dev/null +++ b/nixos/modules/tasks/filesystems/f2fs.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + inInitrd = any (fs: fs == "f2fs") config.boot.initrd.supportedFilesystems; +in +{ + config = mkIf (any (fs: fs == "f2fs") config.boot.supportedFilesystems) { + + system.fsPackages = [ pkgs.f2fs-tools ]; + + boot.initrd.availableKernelModules = mkIf inInitrd [ "f2fs" ]; + + boot.initrd.extraUtilsCommands = mkIf inInitrd '' + mkdir -p $out/bin $out/lib + cp -v ${pkgs.f2fs-tools}/sbin/fsck.f2fs $out/bin + cp -pdv ${pkgs.f2fs-tools}/lib/lib*.so.* $out/lib + ''; + }; +} diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix index 2b720a93b89..e8c3d8ab56d 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 f8c6a700004..a3bfb3fed8e 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 5ca72f142b7..4cfe6e208f7 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 6800696a05a..5225b62a88c 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 32e3da6a273..d7deb44c407 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,11 +6,12 @@ # - /etc/zfs/zpool.cache handling -with pkgs.lib; +with lib; let cfgSpl = config.boot.spl; + cfgZfs = config.boot.zfs; cfgSnapshots = config.services.zfs.autoSnapshot; inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems; @@ -21,8 +22,11 @@ let kernel = config.boot.kernelPackages; + splPkg = if cfgZfs.useGit then kernel.spl_git else kernel.spl; + zfsPkg = if cfgZfs.useGit then kernel.zfs_git else kernel.zfs; + autosnapPkg = pkgs.zfstools.override { - zfs = config.boot.kernelPackages.zfs; + zfs = zfsPkg; }; zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot"; @@ -47,6 +51,17 @@ in ''; }; + boot.zfs.useGit = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Use the git version of the SPL and ZFS packages. + Note that these are unreleased versions, with less testing, and therefore + may be more unstable. + ''; + }; + services.zfs.autoSnapshot = { enable = mkOption { default = false; @@ -111,7 +126,7 @@ in (mkIf enableZfs { boot = { kernelModules = [ "spl" "zfs" ] ; - extraModulePackages = [ kernel.zfs kernel.spl ]; + extraModulePackages = [ splPkg zfsPkg ]; extraModprobeConfig = mkIf (cfgSpl.hostid != "") '' options spl spl_hostid=${cfgSpl.hostid} ''; @@ -121,10 +136,10 @@ in 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 -v ${zfsPkg}/sbin/zfs $out/bin + cp -v ${zfsPkg}/sbin/zdb $out/bin + cp -v ${zfsPkg}/sbin/zpool $out/bin + cp -pdv ${zfsPkg}/lib/lib*.so* $out/lib cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib ''; postDeviceCommands = @@ -139,7 +154,7 @@ in serviceConfig = { Type = "oneshot"; RemainAfterExit = true; - ExecStart = "${kernel.zfs}/sbin/zpool import -f -a"; + ExecStart = "${zfsPkg}/sbin/zpool import -f -a"; }; restartIfChanged = false; }; @@ -151,15 +166,15 @@ in serviceConfig = { Type = "oneshot"; RemainAfterExit = true; - ExecStart = "${kernel.zfs}/sbin/zfs mount -a"; - ExecStop = "${kernel.zfs}/sbin/zfs umount -a"; + ExecStart = "${zfsPkg}/sbin/zfs mount -a"; + ExecStop = "${zfsPkg}/sbin/zfs umount -a"; }; restartIfChanged = false; }; - system.fsPackages = [ kernel.zfs ]; # XXX: needed? zfs doesn't have (need) a fsck - environment.systemPackages = [ kernel.zfs ]; - services.udev.packages = [ kernel.zfs ]; # to hook zvol naming, etc. + system.fsPackages = [ zfsPkg ]; # XXX: needed? zfs doesn't have (need) a fsck + environment.systemPackages = [ zfsPkg ]; + services.udev.packages = [ zfsPkg ]; # to hook zvol naming, etc. }) (mkIf enableAutoSnapshots { diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix index 1083fb784fc..03c42404e5d 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 0e0272388c7..d56a8a2f63a 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 548685377a9..9cc8b154324 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 @@ -191,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."; diff --git a/nixos/modules/tasks/scsi-link-power-management.nix b/nixos/modules/tasks/scsi-link-power-management.nix index 071a8086598..a74023dec21 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/tasks/trackpoint.nix b/nixos/modules/tasks/trackpoint.nix new file mode 100644 index 00000000000..4be2c3eb4c4 --- /dev/null +++ b/nixos/modules/tasks/trackpoint.nix @@ -0,0 +1,66 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + ###### interface + + options = { + + hardware.trackpoint = { + + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable sensitivity and speed configuration for trackpoints. + ''; + }; + + sensitivity = mkOption { + default = 128; + example = 255; + type = types.int; + description = '' + Configure the trackpoint sensitivity. By default, the kernel + configures 128. + ''; + }; + + speed = mkOption { + default = 97; + example = 255; + type = types.int; + description = '' + Configure the trackpoint sensitivity. By default, the kernel + configures 97. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.hardware.trackpoint.enable { + + jobs.trackpoint = + { description = "Initialize trackpoint"; + + startOn = "started udev"; + + task = true; + + script = '' + echo -n ${toString config.hardware.trackpoint.sensitivity} \ + > /sys/devices/platform/i8042/serio1/sensitivity + echo -n ${toString config.hardware.trackpoint.speed} \ + > /sys/devices/platform/i8042/serio1/speed + ''; + }; + + }; + +} diff --git a/nixos/modules/testing/service-runner.nix b/nixos/modules/testing/service-runner.nix index 6f17ed77dad..dfe8b430e04 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 28494e1c7b2..9100a433cd6 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 99d6f927ef0..9e64327c3ab 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -1,168 +1,183 @@ -{ config, pkgs, ... }: - -with pkgs.lib; +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.ec2; +in { imports = [ ../profiles/headless.nix ./ec2-data.nix ]; - system.build.amazonImage = - pkgs.vmTools.runInLinuxVM ( - pkgs.runCommand "amazon-image" - { preVM = - '' - mkdir $out - diskImage=$out/nixos.img - ${pkgs.vmTools.qemu}/bin/qemu-img create -f raw $diskImage "4G" - mv closure xchg/ - ''; - buildInputs = [ pkgs.utillinux pkgs.perl ]; - exportReferencesGraph = - [ "closure" config.system.build.toplevel ]; - } - '' - # Create an empty filesystem and mount it. - ${pkgs.e2fsprogs}/sbin/mkfs.ext4 -L nixos /dev/vda - ${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda - mkdir /mnt - mount /dev/vda /mnt + options = { + ec2 = { + hvm = mkOption { + default = false; + description = '' + Whether the EC2 instance is a HVM instance. + ''; + }; + }; + }; - # The initrd expects these directories to exist. - mkdir /mnt/dev /mnt/proc /mnt/sys + config = { + system.build.amazonImage = + pkgs.vmTools.runInLinuxVM ( + pkgs.runCommand "amazon-image" + { preVM = + '' + mkdir $out + diskImage=$out/nixos.img + ${pkgs.vmTools.qemu}/bin/qemu-img create -f raw $diskImage "4G" + mv closure xchg/ + ''; + buildInputs = [ pkgs.utillinux pkgs.perl ]; + exportReferencesGraph = + [ "closure" config.system.build.toplevel ]; + } + '' + # Create an empty filesystem and mount it. + ${pkgs.e2fsprogs}/sbin/mkfs.ext4 -L nixos /dev/vda + ${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda + mkdir /mnt + mount /dev/vda /mnt - mount -o bind /proc /mnt/proc + # The initrd expects these directories to exist. + mkdir /mnt/dev /mnt/proc /mnt/sys - # Copy all paths in the closure to the filesystem. - storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure) + mount -o bind /proc /mnt/proc - mkdir -p /mnt/nix/store - echo "copying everything (will take a while)..." - cp -prd $storePaths /mnt/nix/store/ + # Copy all paths in the closure to the filesystem. + storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure) - # Register the paths in the Nix database. - printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \ - chroot /mnt ${config.nix.package}/bin/nix-store --load-db + mkdir -p /mnt/nix/store + echo "copying everything (will take a while)..." + cp -prd $storePaths /mnt/nix/store/ - # Create the system profile to allow nixos-rebuild to work. - chroot /mnt ${config.nix.package}/bin/nix-env \ - -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} + # Register the paths in the Nix database. + printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \ + chroot /mnt ${config.nix.package}/bin/nix-store --load-db - # `nixos-rebuild' requires an /etc/NIXOS. - mkdir -p /mnt/etc - touch /mnt/etc/NIXOS + # Create the system profile to allow nixos-rebuild to work. + chroot /mnt ${config.nix.package}/bin/nix-env \ + -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} - # `switch-to-configuration' requires a /bin/sh - mkdir -p /mnt/bin - ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh + # `nixos-rebuild' requires an /etc/NIXOS. + mkdir -p /mnt/etc + touch /mnt/etc/NIXOS - # Install a configuration.nix. - mkdir -p /mnt/etc/nixos - cp ${./amazon-config.nix} /mnt/etc/nixos/configuration.nix + # `switch-to-configuration' requires a /bin/sh + mkdir -p /mnt/bin + ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh - # Generate the GRUB menu. - chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot + # Install a configuration.nix. + mkdir -p /mnt/etc/nixos + cp ${./amazon-config.nix} /mnt/etc/nixos/configuration.nix - umount /mnt/proc - umount /mnt - '' - ); + # Generate the GRUB menu. + chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot - fileSystems."/".device = "/dev/disk/by-label/nixos"; + umount /mnt/proc + umount /mnt + '' + ); - boot.initrd.kernelModules = [ "xen-blkfront" ]; - boot.kernelModules = [ "xen-netfront" ]; + fileSystems."/".device = "/dev/disk/by-label/nixos"; - # Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd. - boot.loader.grub.version = 1; - boot.loader.grub.device = "nodev"; - boot.loader.grub.timeout = 0; - boot.loader.grub.extraPerEntryConfig = "root (hd0)"; + boot.initrd.kernelModules = [ "xen-blkfront" ]; + boot.kernelModules = [ "xen-netfront" ]; - boot.initrd.postDeviceCommands = - '' - # Force udev to exit to prevent random "Device or resource busy - # while trying to open /dev/xvda" errors from fsck. - udevadm control --exit || true - kill -9 -1 - ''; + # Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd. + boot.loader.grub.version = 1; + boot.loader.grub.device = if cfg.hvm then "/dev/xvda" else "nodev"; + boot.loader.grub.timeout = 0; + boot.loader.grub.extraPerEntryConfig = "root (hd0${lib.optionalString cfg.hvm ",0"})"; - # Mount all formatted ephemeral disks and activate all swap devices. - # We cannot do this with the ‘fileSystems’ and ‘swapDevices’ options - # because the set of devices is dependent on the instance type - # (e.g. "m1.large" has one ephemeral filesystem and one swap device, - # while "m1.large" has two ephemeral filesystems and no swap - # devices). Also, put /tmp and /var on /disk0, since it has a lot - # more space than the root device. Similarly, "move" /nix to /disk0 - # by layering a unionfs-fuse mount on top of it so we have a lot more space for - # Nix operations. - boot.initrd.postMountCommands = - '' - diskNr=0 - diskForUnionfs= - for device in /dev/xvd[abcde]*; do - if [ "$device" = /dev/xvda -o "$device" = /dev/xvda1 ]; then continue; fi - fsType=$(blkid -o value -s TYPE "$device" || true) - if [ "$fsType" = swap ]; then - echo "activating swap device $device..." - swapon "$device" || true - elif [ "$fsType" = ext3 ]; then - mp="/disk$diskNr" - diskNr=$((diskNr + 1)) - echo "mounting $device on $mp..." - if mountFS "$device" "$mp" "" ext3; then - if [ -z "$diskForUnionfs" ]; then diskForUnionfs="$mp"; fi - fi - else - echo "skipping unknown device type $device" - fi - done + boot.initrd.postDeviceCommands = + '' + # Force udev to exit to prevent random "Device or resource busy + # while trying to open /dev/xvda" errors from fsck. + udevadm control --exit || true + kill -9 -1 + ''; - if [ -n "$diskForUnionfs" ]; then - mkdir -m 755 -p $targetRoot/$diskForUnionfs/root + # Mount all formatted ephemeral disks and activate all swap devices. + # We cannot do this with the ‘fileSystems’ and ‘swapDevices’ options + # because the set of devices is dependent on the instance type + # (e.g. "m1.large" has one ephemeral filesystem and one swap device, + # while "m1.large" has two ephemeral filesystems and no swap + # devices). Also, put /tmp and /var on /disk0, since it has a lot + # more space than the root device. Similarly, "move" /nix to /disk0 + # by layering a unionfs-fuse mount on top of it so we have a lot more space for + # Nix operations. + boot.initrd.postMountCommands = + '' + diskNr=0 + diskForUnionfs= + for device in /dev/xvd[abcde]*; do + if [ "$device" = /dev/xvda -o "$device" = /dev/xvda1 ]; then continue; fi + fsType=$(blkid -o value -s TYPE "$device" || true) + if [ "$fsType" = swap ]; then + echo "activating swap device $device..." + swapon "$device" || true + elif [ "$fsType" = ext3 ]; then + mp="/disk$diskNr" + diskNr=$((diskNr + 1)) + echo "mounting $device on $mp..." + if mountFS "$device" "$mp" "" ext3; then + if [ -z "$diskForUnionfs" ]; then diskForUnionfs="$mp"; fi + fi + else + echo "skipping unknown device type $device" + fi + done - mkdir -m 1777 -p $targetRoot/$diskForUnionfs/root/tmp $targetRoot/tmp - mount --bind $targetRoot/$diskForUnionfs/root/tmp $targetRoot/tmp + if [ -n "$diskForUnionfs" ]; then + mkdir -m 755 -p $targetRoot/$diskForUnionfs/root - if [ ! -e $targetRoot/.ebs ]; then - mkdir -m 755 -p $targetRoot/$diskForUnionfs/root/var $targetRoot/var - mount --bind $targetRoot/$diskForUnionfs/root/var $targetRoot/var + mkdir -m 1777 -p $targetRoot/$diskForUnionfs/root/tmp $targetRoot/tmp + mount --bind $targetRoot/$diskForUnionfs/root/tmp $targetRoot/tmp - mkdir -p /unionfs-chroot/ro-nix - mount --rbind $targetRoot/nix /unionfs-chroot/ro-nix + if [ ! -e $targetRoot/.ebs ]; then + mkdir -m 755 -p $targetRoot/$diskForUnionfs/root/var $targetRoot/var + mount --bind $targetRoot/$diskForUnionfs/root/var $targetRoot/var - mkdir -m 755 -p $targetRoot/$diskForUnionfs/root/nix - mkdir -p /unionfs-chroot/rw-nix - mount --rbind $targetRoot/$diskForUnionfs/root/nix /unionfs-chroot/rw-nix + mkdir -p /unionfs-chroot/ro-nix + mount --rbind $targetRoot/nix /unionfs-chroot/ro-nix - unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot,max_files=32768 /rw-nix=RW:/ro-nix=RO $targetRoot/nix - fi - fi - ''; + mkdir -m 755 -p $targetRoot/$diskForUnionfs/root/nix + mkdir -p /unionfs-chroot/rw-nix + mount --rbind $targetRoot/$diskForUnionfs/root/nix /unionfs-chroot/rw-nix - boot.initrd.extraUtilsCommands = - '' - # We need swapon in the initrd. - cp ${pkgs.utillinux}/sbin/swapon $out/bin - ''; + unionfs -o allow_other,cow,nonempty,chroot=/unionfs-chroot,max_files=32768 /rw-nix=RW:/ro-nix=RO $targetRoot/nix + fi + fi + ''; - # Don't put old configurations in the GRUB menu. The user has no - # way to select them anyway. - boot.loader.grub.configurationLimit = 0; + boot.initrd.extraUtilsCommands = + '' + # We need swapon in the initrd. + cp ${pkgs.utillinux}/sbin/swapon $out/bin + ''; - # Allow root logins only using the SSH key that the user specified - # at instance creation time. - services.openssh.enable = true; - services.openssh.permitRootLogin = "without-password"; + # Don't put old configurations in the GRUB menu. The user has no + # way to select them anyway. + boot.loader.grub.configurationLimit = 0; - # Force getting the hostname from EC2. - networking.hostName = mkDefault ""; + # Allow root logins only using the SSH key that the user specified + # at instance creation time. + services.openssh.enable = true; + services.openssh.permitRootLogin = "without-password"; - # Always include cryptsetup so that Charon can use it. - environment.systemPackages = [ pkgs.cryptsetup ]; + # Force getting the hostname from EC2. + networking.hostName = mkDefault ""; - boot.initrd.supportedFilesystems = [ "unionfs-fuse" ]; + # Always include cryptsetup so that Charon can use it. + environment.systemPackages = [ pkgs.cryptsetup ]; - # 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 = mkDefault "!"; + boot.initrd.supportedFilesystems = [ "unionfs-fuse" ]; + + # 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 = mkDefault "!"; + }; } diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix index 21e64c8c095..b81f97f2b4e 100644 --- a/nixos/modules/virtualisation/container-config.nix +++ b/nixos/modules/virtualisation/container-config.nix @@ -6,33 +6,21 @@ with lib; config = mkIf config.boot.isContainer { - # Provide a login prompt on /var/lib/login.socket. On the host, - # you can connect to it by running ‘socat - # unix:/var/lib/login.socket -,echo=0,raw’. - systemd.sockets.login = - { description = "Login Socket"; - wantedBy = [ "sockets.target" ]; - socketConfig = - { ListenStream = "/var/lib/login.socket"; - SocketMode = "0666"; - Accept = true; - }; - }; + # Disable some features that are not useful in a container. + sound.enable = mkDefault false; + services.udisks2.enable = mkDefault false; - systemd.services."login@" = - { description = "Login %i"; - environment.TERM = "linux"; - serviceConfig = - { Type = "simple"; - StandardInput = "socket"; - ExecStart = "${pkgs.socat}/bin/socat -t0 - exec:${pkgs.shadow}/bin/login,pty,setsid,setpgid,stderr,ctty"; - TimeoutStopSec = 1; # FIXME - }; - }; + networking.useHostResolvConf = true; - # Also 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. + # Containers should be light-weight, so start sshd on demand. + services.openssh.startWhenNeeded = mkDefault 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" ]; @@ -52,6 +40,7 @@ with lib; 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 @@ -82,6 +71,7 @@ with lib; eval "command=($c)" exec "''${command[@]}" ''; + restartIfChanged = false; }; systemd.services.container-startup-done = @@ -96,6 +86,7 @@ with lib; ''; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; + restartIfChanged = false; }; }; diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index c53bd7d3509..d0d04d9a1e5 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -1,19 +1,9 @@ -{ 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"; @@ -23,6 +13,30 @@ let inherit (pkgs) socat; }; + # The container's init script, a small wrapper around the regular + # NixOS stage-2 init script. + containerInit = pkgs.writeScript "container-init" + '' + #! ${pkgs.stdenv.shell} -e + + # Initialise the container side of the veth pair. + if [ "$PRIVATE_NETWORK" = 1 ]; then + ip link set host0 name eth0 + ip link set dev eth0 up + if [ -n "$HOST_ADDRESS" ]; then + ip route add $HOST_ADDRESS dev eth0 + ip route add default via $HOST_ADDRESS + fi + if [ -n "$LOCAL_ADDRESS" ]; then + ip addr add $LOCAL_ADDRESS dev eth0 + fi + fi + + exec "$1" + ''; + + system = config.nixpkgs.system; + in { @@ -68,7 +82,7 @@ in 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 + ve-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. @@ -99,10 +113,10 @@ in config = mkMerge [ (mkIf options.config.isDefined { path = (import ../../lib/eval-config.nix { + inherit system; modules = let extraConfig = { boot.isContainer = true; - security.initialRootPassword = mkDefault "!"; networking.hostName = mkDefault name; networking.useDHCP = false; }; @@ -173,50 +187,35 @@ in "/nix/var/nix/profiles/per-container/$INSTANCE" \ "/nix/var/nix/gcroots/per-container/$INSTANCE" - SYSTEM_PATH=/nix/var/nix/profiles/system - if [ -f "/etc/containers/$INSTANCE.conf" ]; then - . "/etc/containers/$INSTANCE.conf" - fi - - # Cleanup from last time. - ifaceHost=c-$INSTANCE - ifaceCont=ctmp-$INSTANCE - ns=net-$INSTANCE - ip netns del $ns 2> /dev/null || true - ip link del $ifaceHost 2> /dev/null || true - ip link del $ifaceCont 2> /dev/null || true - if [ "$PRIVATE_NETWORK" = 1 ]; then - # Create a pair of virtual ethernet devices. On the host, - # we get ‘c- /dev/null; then break; fi - sleep 1 - done - fi + machinectl poweroff "$INSTANCE" ''; restartIfChanged = false; @@ -252,14 +250,13 @@ in '' #! ${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"; + + serviceConfig.EnvironmentFile = "-/etc/containers/%i.conf"; }; # Generate a configuration file in /etc/containers for each @@ -289,6 +286,8 @@ in ${cfg.localAddress} ${name}.containers '') config.containers); + networking.dhcpcd.denyInterfaces = [ "ve-*" ]; + environment.systemPackages = [ nixos-container ]; }; diff --git a/nixos/modules/virtualisation/ec2-data.nix b/nixos/modules/virtualisation/ec2-data.nix index 5133a98cd96..246d3506531 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 5fca115b819..d55b7420243 100644 --- a/nixos/modules/virtualisation/google-compute-image.nix +++ b/nixos/modules/virtualisation/google-compute-image.nix @@ -1,6 +1,6 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: -with pkgs.lib; +with lib; let diskSize = "100G"; in @@ -114,11 +114,6 @@ in # Always include cryptsetup so that NixOps can use it. environment.systemPackages = [ pkgs.cryptsetup ]; - # 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 = mkDefault "!"; - # Configure default metadata hostnames networking.extraHosts = '' 169.254.169.254 metadata.google.internal metadata diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index 6d36fd4caa0..d7d700d8841 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 diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl index d7e8c7339b6..5083abd8448 100644 --- a/nixos/modules/virtualisation/nixos-container.pl +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -9,6 +9,9 @@ use Getopt::Long qw(:config gnu_getopt); my $socat = '@socat@/bin/socat'; +# Ensure a consistent umask. +umask 0022; + # Parse the command line. sub showHelp { @@ -28,7 +31,7 @@ EOF } my $ensureUniqueName = 0; -my $extraConfig = ""; +my $extraConfig; GetOptions( "help" => sub { showHelp() }, @@ -59,12 +62,11 @@ sub writeNixOSConfig { my ($nixosConfigFile) = @_; my $nixosConfig = <", @@ -203,7 +205,7 @@ elsif ($action eq "update") { } elsif ($action eq "login") { - exec($socat, "unix:$root/var/lib/login.socket", "-,echo=0,raw"); + exec("machinectl", "login", "--", $containerName); } elsif ($action eq "root-login") { @@ -212,18 +214,22 @@ elsif ($action eq "root-login") { elsif ($action eq "run") { shift @ARGV; shift @ARGV; - open(SOCAT, "|-", $socat, "unix:$root/var/lib/run-command.socket", "-"); + my $pid = open(SOCAT, "|-", $socat, "-t0", "-", "unix:$root/var/lib/run-command.socket") or die "$0: cannot start $socat: $!\n"; print SOCAT join(' ', map { "'$_'" } @ARGV), "\n"; + flush SOCAT; + waitpid($pid, 0); 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", "-"); + my $pid = open(SOCAT, "|-", $socat, "-t0", "-", "unix:$root/var/lib/run-command.socket") or die "$0: cannot start $socat: $!\n"; print SOCAT "passwd\n"; print SOCAT "$password\n"; print SOCAT "$password\n"; + flush SOCAT; + waitpid($pid, 0); close(SOCAT); } diff --git a/nixos/modules/virtualisation/nova-image.nix b/nixos/modules/virtualisation/nova-image.nix index 5c9481b7127..2523dacc0b5 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 e0d25183574..8795b5b52d5 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 a866b513f0f..bccf6583e47 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 @@ -65,7 +65,7 @@ let ${if cfg.useBootLoader then '' -drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=virtio,cache=writeback,werror=report \ -drive index=1,id=drive2,file=${bootDisk}/disk.img,if=virtio,readonly \ - -boot menu=on + -boot menu=on \ '' else '' -drive file=$NIX_DISK_IMAGE,if=virtio,cache=writeback,werror=report \ -kernel ${config.system.build.toplevel}/kernel \ @@ -386,7 +386,7 @@ in # When building a regular system configuration, override whatever # video driver the host uses. - hardware.opengl.videoDrivers = mkVMOverride [ "vesa" ]; + services.xserver.videoDrivers = mkVMOverride [ "vesa" ]; services.xserver.defaultDepth = mkVMOverride 0; services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ]; services.xserver.monitorSection = @@ -399,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 deleted file mode 100644 index d375bddf2e6..00000000000 --- a/nixos/modules/virtualisation/run-in-netns.c +++ /dev/null @@ -1,50 +0,0 @@ -#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 b06ae94438e..b3847daf12c 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 @@ -54,7 +54,7 @@ optionalAttrs (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) # ugly... serviceConfig.ExecStart = "@${kernel.virtualboxGuestAdditions}/sbin/VBoxService VBoxService --foreground"; }; - hardware.opengl.videoDrivers = mkOverride 50 [ "virtualbox" ]; + services.xserver.videoDrivers = mkOverride 50 [ "virtualbox" ]; services.xserver.config = '' diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix index 8323325dabf..594b3e93ffe 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 = @@ -107,9 +107,4 @@ with pkgs.lib; boot.loader.grub.device = "/dev/sda"; services.virtualbox.enable = true; - - # 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 = mkDefault "!"; } diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix index 40f6929be4f..566059472c9 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 741ab62bbc0..f59f71b0d6f 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -1,6 +1,6 @@ -{ nixpkgs ? { outPath = ./..; revCount = 5678; shortRev = "gfedcba"; } -, officialRelease ? false +{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; } , stableBranch ? false +, supportedSystems ? [ "x86_64-linux" "i686-linux" ] }: let @@ -18,15 +18,13 @@ let in rec { nixos = removeMaintainers (import ./release.nix { - inherit officialRelease stableBranch; + inherit stableBranch; nixpkgs = nixpkgsSrc; }); nixpkgs = builtins.removeAttrs (removeMaintainers (import ../pkgs/top-level/release.nix { - inherit officialRelease; + inherit supportedSystems; nixpkgs = nixpkgsSrc; - # Only do Linux builds. - supportedSystems = [ "x86_64-linux" "i686-linux" ]; })) [ "unstable" ]; tested = pkgs.releaseTools.aggregate { @@ -45,8 +43,11 @@ in rec { (all nixos.ova) # (all nixos.tests.efi-installer.simple) + (all nixos.tests.containers) (all nixos.tests.firefox) (all nixos.tests.firewall) + (all nixos.tests.gnome3) + #(all nixos.tests.installer.efi) (all nixos.tests.installer.grub1) (all nixos.tests.installer.lvm) (all nixos.tests.installer.separateBoot) @@ -60,7 +61,8 @@ in rec { (all nixos.tests.openssh) (all nixos.tests.printing) (all nixos.tests.proxy) - (all nixos.tests.udisks) + (all nixos.tests.simple) + (all nixos.tests.udisks2) (all nixos.tests.xfce) nixpkgs.tarball diff --git a/nixos/release.nix b/nixos/release.nix index b98976c2cce..e5eadb57fe6 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -1,18 +1,17 @@ -{ nixpkgs ? { outPath = ./..; revCount = 5678; shortRev = "gfedcba"; } -, officialRelease ? false +{ nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; } , stableBranch ? false +, supportedSystems ? [ "x86_64-linux" "i686-linux" ] }: let version = builtins.readFile ../.version; versionSuffix = - if officialRelease then "" - else (if stableBranch then "." else "pre") + "${toString nixpkgs.revCount}.${nixpkgs.shortRev}"; + (if stableBranch then "." else "pre") + "${toString nixpkgs.revCount}.${nixpkgs.shortRev}"; - systems = [ "x86_64-linux" "i686-linux" ]; + forAllSystems = pkgs.lib.genAttrs supportedSystems; - forAllSystems = pkgs.lib.genAttrs systems; + callTest = fn: args: forAllSystems (system: import fn ({ inherit system; } // args)); pkgs = import nixpkgs { system = "x86_64-linux"; }; @@ -207,14 +206,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 (if v.makeCoverageReport or false then v.report else 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.efi = forAllSystems (system: (import tests/installer.nix { inherit system; }).efi.test); + 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.influxdb = callTest tests/influxdb.nix {}; + 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.runInMachine = callTest tests/run-in-machine.nix {}; + tests.simple = callTest tests/simple.nix {}; + tests.tomcat = callTest tests/tomcat.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 d95361dcd83..b6f18087c56 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,18 +16,18 @@ with pkgs; }; }; - # Test whether `avahi-daemon' and `libnss-mdns' work as expected. testScript = '' startAll; # mDNS. $one->waitForUnit("network.target"); + $two->waitForUnit("network.target"); + $one->succeed("avahi-resolve-host-name one.local | tee out >&2"); $one->succeed("test \"`cut -f1 < out`\" = one.local"); $one->succeed("avahi-resolve-host-name two.local | tee out >&2"); $one->succeed("test \"`cut -f1 < out`\" = two.local"); - $two->waitForUnit("network.target"); $two->succeed("avahi-resolve-host-name one.local | tee out >&2"); $two->succeed("test \"`cut -f1 < out`\" = one.local"); $two->succeed("avahi-resolve-host-name two.local | tee out >&2"); diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index f84b65699d3..b58657a5ecd 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 @@ -42,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 = @@ -79,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 @@ -108,4 +109,4 @@ in $client2->succeed("cmp /tmp/test.tar.bz2 ${file}"); ''; -} +}) diff --git a/nixos/tests/containers.nix b/nixos/tests/containers.nix index 06b793ed7ac..8ad9cd6e0d7 100644 --- a/nixos/tests/containers.nix +++ b/nixos/tests/containers.nix @@ -1,8 +1,6 @@ # Test for NixOS' container support. -{ pkgs, ... }: - -{ +import ./make-test.nix { machine = { config, pkgs, ... }: @@ -27,7 +25,7 @@ testScript = '' - $machine->succeed("nixos-container list") =~ /webserver/; + $machine->succeed("nixos-container list") =~ /webserver/ or die; # Start the webserver container. $machine->succeed("nixos-container start webserver"); @@ -67,7 +65,7 @@ $machine->succeed("nixos-container start $id1"); # Execute commands via the root shell. - $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/; + $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die; $machine->succeed("nixos-container set-root-password $id1 foobar"); # Destroy the containers. diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix deleted file mode 100644 index d2eb6a99962..00000000000 --- a/nixos/tests/default.nix +++ /dev/null @@ -1,46 +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); - containers = makeTest (import ./containers.nix); - firefox = makeTest (import ./firefox.nix); - firewall = makeTest (import ./firewall.nix); - installer = makeTests (import ./installer.nix); - efi-installer = makeTests (import ./efi-installer.nix); - gnome3 = makeTest (import ./gnome3.nix); - ipv6 = makeTest (import ./ipv6.nix); - jenkins = makeTest (import ./jenkins.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); - mumble = makeTest (import ./mumble.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); - rabbitmq = makeTest (import ./rabbitmq.nix); - simple = makeTest (import ./simple.nix); - #subversion = makeTest (import ./subversion.nix); - tomcat = makeTest (import ./tomcat.nix); - udisks = makeTest (import ./udisks.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/efi-installer.nix b/nixos/tests/efi-installer.nix deleted file mode 100644 index 990f2b84a6c..00000000000 --- a/nixos/tests/efi-installer.nix +++ /dev/null @@ -1,126 +0,0 @@ -# !!! Merge into normal install tests once all livecds are EFIable -{ pkgs, system, ... }: - -with pkgs.lib; -with import ../lib/qemu-flags.nix; - -let - - # Build the ISO. This is the regular installation CD but with test - # instrumentation. - iso = - (import ../lib/eval-config.nix { - inherit system; - modules = - [ ../modules/installer/cd-dvd/installation-cd-minimal.nix - ../modules/testing/test-instrumentation.nix - { key = "serial"; - - # The test cannot access the network, so any sources we - # need must be included in the ISO. - isoImage.storeContents = - [ pkgs.glibcLocales - pkgs.sudo - pkgs.docbook5 - pkgs.docbook5_xsl - pkgs.grub - pkgs.perlPackages.XMLLibXML - pkgs.unionfs-fuse - pkgs.gummiboot - pkgs.libxslt - ]; - } - ]; - }).config.system.build.isoImage; - - - # The config to install - config = builtins.toFile "configuration.nix" '' - { pkgs, ... }: { - imports = [ ./hardware-configuration.nix ]; - boot.loader.grub.enable = false; - boot.loader.efi.canTouchEfiVariables = true; - boot.loader.gummiboot.enable = true; - fonts.enableFontConfig = false; - } - ''; - - biosDir = pkgs.runCommand "ovmf-bios" {} '' - mkdir $out - ln -s ${pkgs.OVMF}/FV/OVMF.fd $out/bios.bin - ''; - -in { - simple = { - inherit iso; - nodes = {}; - testScript = '' - createDisk("harddisk", 4 * 1024); - - my $machine = createMachine({ hda => "harddisk", - hdaInterface => "scsi", - cdrom => glob("${iso}/iso/*.iso"), - qemuFlags => '-L ${biosDir} ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"}'}); - $machine->start; - - # Make sure that we get a login prompt etc. - $machine->succeed("echo hello"); - $machine->waitForUnit("rogue"); - $machine->waitForUnit("nixos-manual"); - - # Partition the disk. - $machine->succeed( - "sgdisk -Z /dev/sda", - "sgdisk -n 1:0:+256M -N 2 -t 1:ef00 -t 2:8300 -c 1:boot -c 2:root /dev/sda", - "mkfs.vfat -n BOOT /dev/sda1", - "mkfs.ext3 -L nixos /dev/sda2", - "mount LABEL=nixos /mnt", - "mkdir /mnt/boot", - "mount LABEL=BOOT /mnt/boot", - ); - - # Create the NixOS configuration. - $machine->succeed( - "nixos-generate-config --root /mnt", - ); - - $machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2"); - - $machine->copyFileFromHost( - "${config}", - "/mnt/etc/nixos/configuration.nix"); - - # Perform the installation. - $machine->succeed("nixos-install >&2"); - - # Do it again to make sure it's idempotent. - $machine->succeed("nixos-install >&2"); - - $machine->shutdown; - - # Now see if we can boot the installation. - my $machine = createMachine({ #hda => "harddisk", -# hdaInterface => "virtio", -# !!! OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html - qemuFlags => '-L ${biosDir} ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"} -m 512 -hda ' . Cwd::abs_path('harddisk')}); - - # Did /boot get mounted, if appropriate? - $machine->waitForUnit("local-fs.target"); - $machine->succeed("test -e /boot/efi"); - - $machine->succeed("nix-env -i coreutils >&2"); - $machine->succeed("type -tP ls | tee /dev/stderr") =~ /.nix-profile/ - or die "nix-env failed"; - - $machine->succeed("nixos-rebuild switch >&2"); - - $machine->shutdown; - - my $machine = createMachine({ #hda => "harddisk", -# hdaInterface => "virtio", - qemuFlags => '-L ${biosDir} ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"} -hda ' . Cwd::abs_path('harddisk')}); - $machine->waitForUnit("network.target"); - $machine->shutdown; - ''; - }; -} diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix index d6599be13c9..b42d473b802 100644 --- a/nixos/tests/firefox.nix +++ b/nixos/tests/firefox.nix @@ -1,6 +1,4 @@ -{ pkgs, ... }: - -{ +import ./make-test.nix ({ pkgs, ... }: { machine = { config, pkgs, ... }: @@ -18,4 +16,4 @@ $machine->screenshot("screen"); ''; -} +}) diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix index 15653dedf3c..d10e10b1d91 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 = diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix index 98a76137842..f1a6ce63331 100644 --- a/nixos/tests/gnome3.nix +++ b/nixos/tests/gnome3.nix @@ -1,6 +1,4 @@ -{ pkgs, ... }: - -{ +import ./make-test.nix { machine = { config, pkgs, ... }: diff --git a/nixos/tests/gnome3_12.nix b/nixos/tests/gnome3_12.nix new file mode 100644 index 00000000000..92a1919b8cb --- /dev/null +++ b/nixos/tests/gnome3_12.nix @@ -0,0 +1,30 @@ +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; + environment.gnome3.packageSet = pkgs.gnome3_12; + }; + + 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/influxdb.nix b/nixos/tests/influxdb.nix new file mode 100644 index 00000000000..278b264170f --- /dev/null +++ b/nixos/tests/influxdb.nix @@ -0,0 +1,34 @@ +# This test runs influxdb and checks if influxdb is up and running + +import ./make-test.nix { + nodes = { + one = { config, pkgs, ... }: { + services.influxdb.enable = true; + }; + }; + + testScript = '' + startAll; + + $one->waitForUnit("influxdb.service"); + + # Check if admin interface is avalible + $one->waitUntilSucceeds("curl -f 127.0.0.1:8083"); + + # create database + $one->succeed(q~ + curl -X POST 'http://localhost:8086/db?u=root&p=root' \ + -d '{"name": "test"}' + ~); + + # write some points and run simple query + $one->succeed(q~ + curl -X POST 'http://localhost:8086/db/test/series?u=root&p=root' \ + -d '[{"name":"foo","columns":["val"],"points":[[6666]]}]' + ~); + $one->succeed(q~ + curl -G 'http://localhost:8086/db/test/series?u=root&p=root' \ + --data-urlencode 'q=select * from foo limit 1' | grep 6666 + ~); + ''; +} diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index b0c0aa328f0..98e8142a0df 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 @@ -26,6 +27,7 @@ let pkgs.grub pkgs.perlPackages.XMLLibXML pkgs.unionfs-fuse + pkgs.gummiboot ]; } ]; @@ -33,7 +35,7 @@ let # The configuration to install. - config = { fileSystems, testChannel, grubVersion, grubDevice }: pkgs.writeText "configuration.nix" + makeConfig = { testChannel, useEFI, grubVersion, grubDevice }: pkgs.writeText "configuration.nix" '' { config, pkgs, modulesPath, ... }: @@ -42,27 +44,22 @@ let ]; - boot.loader.grub.version = ${toString grubVersion}; - ${optionalString (grubVersion == 1) '' - boot.loader.grub.splashImage = null; + ${if useEFI then '' + boot.loader.efi.canTouchEfiVariables = true; + boot.loader.gummiboot.enable = true; + '' else '' + boot.loader.grub.version = ${toString grubVersion}; + ${optionalString (grubVersion == 1) '' + boot.loader.grub.splashImage = null; + ''} + boot.loader.grub.device = "${grubDevice}"; + boot.loader.grub.extraConfig = "serial; terminal_output.serial"; ''} - boot.loader.grub.device = "${grubDevice}"; - boot.loader.grub.extraConfig = "serial; terminal_output.serial"; environment.systemPackages = [ ${optionalString testChannel "pkgs.rlwrap"} ]; } ''; - rootFS = - '' - fileSystems."/".device = "/dev/disk/by-label/nixos"; - ''; - - bootFS = - '' - fileSystems."/boot".device = "/dev/disk/by-label/boot"; - ''; - # Configuration of a web server that simulates the Nixpkgs channel # distribution server. @@ -86,20 +83,33 @@ let channelContents = [ pkgs.rlwrap ]; + efiBios = pkgs.runCommand "ovmf-bios" {} '' + mkdir $out + ln -s ${pkgs.OVMF}/FV/OVMF.fd $out/bios.bin + ''; + + # The test script boots the CD, installs NixOS on an empty hard # disk, and then reboot from the hard disk. It's parameterized with # a test script fragment `createPartitions', which must create - # partitions and filesystems, and a configuration.nix fragment - # `fileSystems'. - testScriptFun = { createPartitions, fileSystems, testChannel, grubVersion, grubDevice }: - let iface = if grubVersion == 1 then "scsi" else "virtio"; in + # partitions and filesystems. + testScriptFun = { createPartitions, testChannel, useEFI, grubVersion, grubDevice }: + let + # FIXME: OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html + iface = if useEFI || grubVersion == 1 then "scsi" else "virtio"; + qemuFlags = + (if iso.system == "x86_64-linux" then "-m 512 " else "-m 384 ") + + (optionalString (iso.system == "x86_64-linux") "-cpu kvm64 ") + + (optionalString useEFI ''-L ${efiBios} -hda ''${\(Cwd::abs_path('harddisk'))} ''); + hdFlags = optionalString (!useEFI) + ''hda => "harddisk", hdaInterface => "${iface}", ''; + in '' createDisk("harddisk", 4 * 1024); - my $machine = createMachine({ hda => "harddisk", - hdaInterface => "${iface}", + my $machine = createMachine({ ${hdFlags} cdrom => glob("${iso}/iso/*.iso"), - qemuFlags => '${optionalString testChannel (toString (qemuNICFlags 1 1 2))} ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"}'}); + qemuFlags => "${qemuFlags} " . '${optionalString testChannel (toString (qemuNICFlags 1 1 2))}' }); $machine->start; ${optionalString testChannel '' @@ -119,9 +129,10 @@ let #$machine->waitForUnit('getty@tty2'); $machine->waitForUnit("rogue"); $machine->waitForUnit("nixos-manual"); - $machine->waitForUnit("dhcpcd"); ${optionalString testChannel '' + $machine->waitForUnit("dhcpcd"); + # Allow the machine to talk to the fake nixos.org. $machine->succeed( "rm /etc/hosts", @@ -136,6 +147,9 @@ let or die "bad `hello' output"; ''} + # Wait for hard disks to appear in /dev + $machine->succeed("udevadm settle"); + # Partition the disk. ${createPartitions} @@ -147,32 +161,43 @@ let $machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2"); $machine->copyFileFromHost( - "${ config { inherit fileSystems testChannel grubVersion grubDevice; } }", + "${ makeConfig { inherit testChannel useEFI grubVersion grubDevice; } }", "/mnt/etc/nixos/configuration.nix"); # Perform the installation. - $machine->succeed("nixos-install >&2"); + $machine->succeed("nixos-install < /dev/null >&2"); # Do it again to make sure it's idempotent. - $machine->succeed("nixos-install >&2"); + $machine->succeed("nixos-install < /dev/null >&2"); + + $machine->succeed("umount /mnt/boot || true"); + $machine->succeed("umount /mnt"); + $machine->succeed("sync"); $machine->shutdown; # Now see if we can boot the installation. - my $machine = createMachine({ hda => "harddisk", hdaInterface => "${iface}" }); + $machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" }); - # Did /boot get mounted, if appropriate? + # Did /boot get mounted? $machine->waitForUnit("local-fs.target"); - $machine->succeed("test -e /boot/grub"); + + ${if useEFI then '' + $machine->succeed("test -e /boot/efi"); + '' else '' + $machine->succeed("test -e /boot/grub"); + ''} # Did the swap device get activated? $machine->waitForUnit("swap.target"); $machine->succeed("cat /proc/swaps | grep -q /dev"); + # Check whether the channel works. $machine->succeed("nix-env -i coreutils >&2"); $machine->succeed("type -tP ls | tee /dev/stderr") =~ /.nix-profile/ or die "nix-env failed"; + # Check whether nixos-rebuild works. $machine->succeed("nixos-rebuild switch >&2"); # Test nixos-option. @@ -184,17 +209,19 @@ let # And just to be sure, check that the machine still boots after # "nixos-rebuild switch". - my $machine = createMachine({ hda => "harddisk", hdaInterface => "${iface}" }); + $machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" }); $machine->waitForUnit("network.target"); $machine->shutdown; ''; - makeTest = { createPartitions, fileSystems, testChannel ? false, grubVersion ? 2, grubDevice ? "/dev/vda" }: - { inherit iso; + makeInstallerTest = + { createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda" }: + makeTest { + inherit iso; nodes = if testChannel then { inherit webserver; } else { }; testScript = testScriptFun { - inherit createPartitions fileSystems testChannel grubVersion grubDevice; + inherit createPartitions testChannel useEFI grubVersion grubDevice; }; }; @@ -206,7 +233,7 @@ in { # The (almost) simplest partitioning scheme: a swap partition and # one big filesystem partition. - simple = makeTest + simple = makeInstallerTest { createPartitions = '' $machine->succeed( @@ -220,12 +247,11 @@ in { "mount LABEL=nixos /mnt", ); ''; - fileSystems = rootFS; testChannel = true; }; # Same as the previous, but now with a separate /boot partition. - separateBoot = makeTest + separateBoot = makeInstallerTest { createPartitions = '' $machine->succeed( @@ -243,12 +269,11 @@ in { "mount LABEL=boot /mnt/boot", ); ''; - fileSystems = rootFS + bootFS; }; # 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( @@ -268,11 +293,9 @@ in { "mount LABEL=nixos /mnt", ); ''; - fileSystems = rootFS; }; - /* - swraid = makeTest + swraid = makeInstallerTest { createPartitions = '' $machine->succeed( @@ -302,12 +325,10 @@ in { "mdadm -W /dev/md1", ); ''; - fileSystems = rootFS + bootFS; }; - */ # Test a basic install using GRUB 1. - grub1 = makeTest + grub1 = makeInstallerTest { createPartitions = '' $machine->succeed( @@ -322,13 +343,31 @@ in { ); ''; - fileSystems = rootFS; grubVersion = 1; grubDevice = "/dev/sda"; }; + # Test an EFI install. + efi = makeInstallerTest + { createPartitions = + '' + $machine->succeed( + "sgdisk -Z /dev/sda", + "sgdisk -n 1:0:+256M -n 2:0:+1024M -N 3 -t 1:ef00 -t 2:8200 -t 3:8300 -c 1:boot -c 2:swap -c 3:root /dev/sda", + "mkfs.vfat -n BOOT /dev/sda1", + "mkswap /dev/sda2 -L swap", + "swapon -L swap", + "mkfs.ext3 -L nixos /dev/sda3", + "mount LABEL=nixos /mnt", + "mkdir /mnt/boot", + "mount LABEL=BOOT /mnt/boot", + ); + ''; + useEFI = true; + }; + # 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 48c20d7f5c9..eb15363d3c3 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, ... }: { }; diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix index 40223482791..ad7ea78ac49 100644 --- a/nixos/tests/jenkins.nix +++ b/nixos/tests/jenkins.nix @@ -2,9 +2,9 @@ # 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 -{ pkgs, ... }: -{ +import ./make-test.nix { + nodes = { master = @@ -36,6 +36,6 @@ print $slave->execute("sudo -u jenkins groups"); $slave->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users"); - $slave->mustFail("systemctl status jenkins.service"); + $slave->mustFail("systemctl is-enabled jenkins.service"); ''; } diff --git a/nixos/tests/kde4.nix b/nixos/tests/kde4.nix index 3fb35bbab09..99a82a6b95d 100644 --- a/nixos/tests/kde4.nix +++ b/nixos/tests/kde4.nix @@ -1,13 +1,11 @@ -{ pkgs, ... }: - -{ +import ./make-test.nix ({ pkgs, ... }: { machine = { config, pkgs, ... }: { imports = [ ./common/user-account.nix ]; - virtualisation.memorySize = 768; + virtualisation.memorySize = 1024; services.xserver.enable = true; @@ -64,4 +62,4 @@ $machine->screenshot("screen"); ''; -} +}) diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index b8da332b919..b09287682c0 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 ed7d9786717..44c53c231c8 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 ee309d39f87..e6aba7a1012 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 00000000000..285ca5b71d6 --- /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 d355d705a24..e33581b4d2d 100644 --- a/nixos/tests/misc.nix +++ b/nixos/tests/misc.nix @@ -1,15 +1,25 @@ # Miscellaneous small tests that don't warrant their own VM run. -{ pkgs, ... }: - -{ +import ./make-test.nix { machine = - { config, pkgs, ... }: - { swapDevices = pkgs.lib.mkOverride 0 + { config, lib, pkgs, ... }: + with lib; + { swapDevices = mkOverride 0 [ { device = "/root/swapfile"; size = 128; } ]; - environment.variables.EDITOR = pkgs.lib.mkOverride 0 "emacs"; - services.nixosManual.enable = pkgs.lib.mkOverride 0 true; + environment.variables.EDITOR = mkOverride 0 "emacs"; + services.nixosManual.enable = mkOverride 0 true; + systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ]; + fileSystems = mkVMOverride { "/tmp2" = + { device = "none"; + fsType = "tmpfs"; + options = "mode=1777,noauto"; + }; + }; + systemd.automounts = singleton + { wantedBy = [ "multi-user.target" ]; + where = "/tmp2"; + }; }; testScript = @@ -63,7 +73,30 @@ # Test whether hostname (and by extension nss_myhostname) works. subtest "hostname", sub { $machine->succeed('[ "`hostname`" = machine ]'); - $machine->succeed('[ "`hostname -s`" = 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 ]'); + }; + + # Test whether automounting works. + subtest "automount", sub { + $machine->fail("grep '/tmp2 tmpfs' /proc/mounts"); + $machine->succeed("touch /tmp2/x"); + $machine->succeed("grep '/tmp2 tmpfs' /proc/mounts"); }; ''; diff --git a/nixos/tests/mpich.nix b/nixos/tests/mpich.nix index d57512ebdfe..13cd0960d07 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 index 10658eb5f02..68ab8b642b0 100644 --- a/nixos/tests/mumble.nix +++ b/nixos/tests/mumble.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +import ./make-test.nix ( let client = { config, pkgs, ... }: { @@ -28,7 +28,9 @@ in $client1->execute("mumble mumble://client1\@server/test &"); $client2->execute("mumble mumble://client2\@server/test &"); - $server->sleep(10); # Wait for Mumble UI to pop up + $client1->waitForWindow(qr/Mumble/); + $client2->waitForWindow(qr/Mumble/); + $server->sleep(3); # Wait some more for the Mumble UI # cancel client audio configuration $client1->sendKeys("esc"); @@ -52,4 +54,4 @@ in $client1->screenshot("screen1"); $client2->screenshot("screen2"); ''; -} +}) diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix index 66ae1c0d87f..acc4b949ab5 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 44586322600..7d0cf6d85a1 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 = @@ -58,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 bceeb8beabc..566d03baf36 100644 --- a/nixos/tests/mysql.nix +++ b/nixos/tests/mysql.nix @@ -1,6 +1,5 @@ -{ pkgs, ... }: +import ./make-test.nix { -{ nodes = { master = { pkgs, config, ... }: diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index 259ab99d301..02981469e10 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -4,9 +4,7 @@ # router connected to both that performs Network Address Translation # for the client. -{ pkgs, ... }: - -{ +import ./make-test.nix { nodes = { client = diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix index 7bc99aef3b5..864d05626b6 100644 --- a/nixos/tests/nfs.nix +++ b/nixos/tests/nfs.nix @@ -1,6 +1,4 @@ -{ version }: - -{ pkgs, ... }: +import ./make-test.nix ({ version, ... }: let @@ -84,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 49d92fbde90..0b9714c275d 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 7126e7255ef..120ecaad881 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; @@ -24,6 +24,14 @@ let btrfs / --data=0 --metadata=1 --label=root btrfs.1 btrfs.2 ''; + ksF2fs = pkgs.writeText "ks-f2fs" '' + clearpart --all --initlabel --drives=vdb + + part swap --recommended --label=swap --fstype=swap --ondisk=vdb + part /boot --recommended --label=boot --fstype=f2fs --ondisk=vdb + part / --recommended --label=root --fstype=f2fs --ondisk=vdb + ''; + ksRaid = pkgs.writeText "ks-raid" '' clearpart --all --initlabel --drives=vdb,vdc @@ -193,6 +201,16 @@ in { remountAndCheck; }; + parttest "f2fs filesystem", sub { + $machine->succeed("modprobe f2fs"); + kickstart("${ksF2fs}"); + ensurePartition("swap", "swap"); + ensurePartition("boot", "f2fs"); + ensurePartition("root", "f2fs"); + remoteAndCheck; + ensureMountPoint("/mnt/boot", "f2fs"); + }; + parttest "RAID1 with XFS", sub { kickstart("${ksRaid}"); ensurePartition("swap1", "swap"); @@ -224,4 +242,4 @@ in { ensureMountPoint("/mnt/boot"); }; ''; -} +}) diff --git a/nixos/tests/phabricator.nix b/nixos/tests/phabricator.nix new file mode 100644 index 00000000000..8a8c6cb784c --- /dev/null +++ b/nixos/tests/phabricator.nix @@ -0,0 +1,66 @@ +import ./make-test.nix ({ pkgs, ... }: { + + nodes = { + storage = + { config, pkgs, ... }: + { services.nfs.server.enable = true; + services.nfs.server.exports = '' + /repos 192.168.1.0/255.255.255.0(rw,no_root_squash) + ''; + services.nfs.server.createMountPoints = true; + }; + + webserver = + { config, pkgs, ... }: + { fileSystems = pkgs.lib.mkVMOverride + [ { mountPoint = "/repos"; + device = "storage:/repos"; + fsType = "nfs"; + } + ]; + networking.firewall.enable = false; + networking.useDHCP = false; + + services = { + httpd = { + enable = true; + adminAddr = "root@localhost"; + virtualHosts = [{ + hostName = "phabricator.local"; + extraSubservices = [{serviceType = "phabricator";}]; + }]; + }; + + mysql = { + enable = true; + package = pkgs.mysql; + }; + }; + + environment.systemPackages = [ pkgs.php ]; + }; + + client = + { config, pkgs, ... }: + { imports = [ ./common/x11.nix ]; + services.xserver.desktopManager.kde4.enable = true; + }; + }; + + testScript = + '' + startAll; + + $client->waitForX; + + $webserver->waitForUnit("mysql"); + $webserver->waitForUnit("httpd"); + $webserver->execute("cd /nix/store; less >/repos/log1"); + + $client->sleep(30); # loading takes a long time + $client->execute("konqueror http://webserver/ &"); + $client->sleep(90); # loading takes a long time + + $client->screenshot("screen"); + ''; +}) diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix index b5ca0f25e21..16f9812d93b 100644 --- a/nixos/tests/printing.nix +++ b/nixos/tests/printing.nix @@ -1,17 +1,15 @@ # Test printing via CUPS. -{ pkgs, ... }: - -{ +import ./make-test.nix ({pkgs, ... }: { nodes = { server = { config, pkgs, ... }: { services.printing.enable = true; + services.printing.listenAddresses = [ "*:631" ]; services.printing.cupsdConf = '' - Listen server:631 Order allow,deny Allow from all @@ -88,4 +86,4 @@ } ''; -} +}) diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix index dd64ca02e16..88dbdb2720f 100644 --- a/nixos/tests/proxy.nix +++ b/nixos/tests/proxy.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +import ./make-test.nix ( let @@ -90,4 +90,4 @@ in $client->succeed("curl --fail http://proxy/"); ''; -} +}) diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix index 2ebac84ca06..3ff12fd57c0 100644 --- a/nixos/tests/quake3.nix +++ b/nixos/tests/quake3.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +import ./make-test.nix ( let @@ -79,4 +79,4 @@ rec { $server->stopJob("quake3-server"); ''; -} +}) diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix index 271661f0682..ffcdde9d87f 100644 --- a/nixos/tests/rabbitmq.nix +++ b/nixos/tests/rabbitmq.nix @@ -1,8 +1,7 @@ -{ pkgs, ... }: +# This test runs rabbitmq and checks if rabbitmq is up and running. -# 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; @@ -11,8 +10,8 @@ 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 8efe26c1708..7f6e6a6dc57 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 eee13a10133..e21b919cdf8 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 49450c78f3b..e6746dc0828 100644 --- a/nixos/tests/subversion.nix +++ b/nixos/tests/subversion.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +import ./make-test.nix ( let @@ -114,4 +114,4 @@ in $webserver->stopJob("httpd"); ''; -} +}) diff --git a/nixos/tests/tomcat.nix b/nixos/tests/tomcat.nix index 6ec21a72192..3b0b1bb7911 100644 --- a/nixos/tests/tomcat.nix +++ b/nixos/tests/tomcat.nix @@ -1,6 +1,5 @@ -{ pkgs, ... }: +import ./make-test.nix { -{ nodes = { server = { pkgs, config, ... }: @@ -25,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 e0d256f5701..3f17dafaca1 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 deleted file mode 100644 index e3e3f740d07..00000000000 --- a/nixos/tests/udisks.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ 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/; - $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 ]"); - ''; - -} \ No newline at end of file diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix new file mode 100644 index 00000000000..e0c57d7c34d --- /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 50ce54c918b..ded37943e51 100644 --- a/nixos/tests/xfce.nix +++ b/nixos/tests/xfce.nix @@ -1,6 +1,4 @@ -{ pkgs, ... }: - -{ +import ./make-test.nix { machine = { config, pkgs, ... }: diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 4315a5a7547..88bc7399c65 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -6,7 +6,7 @@ , perl, pkgconfig, python, serd, sord, sratom, suil }: let - tag = "3.5.357"; + tag = "3.5.380"; in stdenv.mkDerivation rec { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchgit { url = git://git.ardour.org/ardour/ardour.git; rev = "refs/tags/${tag}"; - sha256 = "1e026fb9a6ad4179d52c4b578cc3861bdfd3629b9e7b7a7341d431c7d3692c42"; + sha256 = "dbcbb2d9143e196d079c27b15266e47d24b81cb7591fe64b717f3485965ded7b"; }; buildInputs = @@ -28,9 +28,9 @@ stdenv.mkDerivation rec { 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 + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-g2f6065b\"; }\n' > libs/ardour/revision.cc # Note the different version number - sed -i '33i rev = \"3.5-357-gce4d125\"' wscript + sed -i '33i rev = \"3.5-380-g2f6065b\"' 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 diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix index d838d29e8be..409a831727b 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/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix new file mode 100644 index 00000000000..31d5240529f --- /dev/null +++ b/pkgs/applications/audio/cantata/default.nix @@ -0,0 +1,104 @@ +{ stdenv, fetchurl, cmake +, withQt4 ? true, qt4 +, withQt5 ? false, qt5 + +# I'm unable to make KDE work here, crashes at runtime so I simply +# make Qt4 the default until someone who wants KDE can figure it out. +, withKDE4 ? false, kde4 + +# Cantata doesn't build with cdparanoia enabled so we disable that +# default for now until I (or someone else) figure it out. +, withCdda ? false, cdparanoia +, withCddb ? false, libcddb +, withLame ? false, lame +, withMusicbrainz ? false, libmusicbrainz5 + +, withTaglib ? true, taglib, taglib_extras +, withReplaygain ? true, ffmpeg, speex, mpg123 +, withMtp ? true, libmtp +, withOnlineServices ? true +, withDevices ? true, udisks2 +, withDynamic ? true +, withHttpServer ? true +, withStreams ? true +}: + +# One and only one front-end. +assert withQt5 -> withQt4 == false && withKDE4 == false; +assert withQt4 -> withQt5 == false && withKDE4 == false; +assert withKDE4 -> withQt4 == false && withQt5 == false; +assert withQt4 || withQt5 || withKDE4; + +# Inter-dependencies. +assert withCddb -> withCdda && withTaglib; +assert withCdda -> withCddb && withMusicbrainz; +assert withLame -> withCdda && withTaglib; +assert withMtp -> withTaglib; +assert withMusicbrainz -> withCdda && withTaglib; +assert withOnlineServices -> withTaglib; +assert withReplaygain -> withTaglib; + +let + version = "1.3.4"; + pname = "cantata"; + fstat = x: fn: "-DENABLE_" + fn + "=" + (if x then "ON" else "OFF"); + fstats = x: map (fstat x); +in + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + inherit name; + url = "https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60WTYtaXk3c1IzNVU"; + sha256 = "0ris41v44nwd68f3zis9n9lyyc089dyhlxp37rrzflanrc6glpwq"; + }; + + buildInputs = + [ cmake ] + ++ stdenv.lib.optional withQt4 qt4 + ++ stdenv.lib.optional withQt5 qt5 + ++ stdenv.lib.optional withKDE4 kde4.kdelibs + ++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ] + ++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ] + ++ stdenv.lib.optional withCdda cdparanoia + ++ stdenv.lib.optional withCddb libcddb + ++ stdenv.lib.optional withLame lame + ++ stdenv.lib.optional withMtp libmtp + ++ stdenv.lib.optional withMusicbrainz libmusicbrainz5 + ++ stdenv.lib.optional (withTaglib && !withKDE4 && withDevices) udisks2; + + unpackPhase = "tar -xvf $src"; + sourceRoot = "cantata-1.3.4"; + + # Qt4 is implicit when KDE is switched off. + cmakeFlags = stdenv.lib.flatten [ + (fstats withKDE4 [ "KDE" "KWALLET" ]) + (fstat withQt5 "QT5") + (fstats withTaglib [ "TAGLIB" "TAGLIB_EXTRAS" ]) + (fstats withReplaygain [ "FFMPEG" "MPG123" "SPEEXDSP" ]) + (fstat withCdda "CDPARANOIA") + (fstat withCddb "CDDB") + (fstat withLame "LAME") + (fstat withMtp "MTP") + (fstat withMusicbrainz "MUSICBRAINZ") + (fstat withOnlineServices "ONLINE_SERVICES") + (fstat withDynamic "DYNAMIC") + (fstat withDevices "DEVICES_SUPPORT") + (fstat withHttpServer "HTTP_SERVER") + (fstat withStreams "STREAMS") + "-DENABLE_HTTPS_SUPPORT=ON" + "-DENABLE_UDISKS2=ON" + ]; + + meta = with stdenv.lib; { + homepage = "http://code.google.com/p/cantata/"; + description = "A graphical client for MPD."; + license = licenses.gpl3; + + # Technically Cantata can run on Windows so if someone wants to + # bother figuring that one out, be my guest. + platforms = platforms.linux; + maintainers = [ maintainers.fuuzetsu ]; + }; +} diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix index 4352e2e133a..82f24b05f72 100644 --- a/pkgs/applications/audio/clementine/default.nix +++ b/pkgs/applications/audio/clementine/default.nix @@ -1,8 +1,10 @@ { stdenv, fetchurl, boost, cmake, gettext, gstreamer, gst_plugins_base , liblastfm, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist , usbmuxd, libmtp, gvfs, libcdio, protobuf, libspotify, qca2, pkgconfig -, sparsehash }: +, sparsehash, config }: +let withSpotify = config.clementine.spotify or false; +in stdenv.mkDerivation { name = "clementine-1.2.1"; @@ -27,7 +29,6 @@ stdenv.mkDerivation { liblastfm libmtp libplist - libspotify pkgconfig protobuf qca2 @@ -37,7 +38,7 @@ stdenv.mkDerivation { sqlite taglib usbmuxd - ]; + ] ++ stdenv.lib.optional withSpotify libspotify; meta = with stdenv.lib; { homepage = "http://www.clementine-player.org"; @@ -45,5 +46,7 @@ stdenv.mkDerivation { license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = [ maintainers.ttuegel ]; + # libspotify is unfree + hydraPlatforms = optional (!withSpotify) platforms.linux; }; } diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix index 39f6ae0ded4..ab8027e2371 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.4.1"; + version = "0.4.2"; src = fetchurl { url = "mirror://sourceforge/drumkv1/${name}.tar.gz"; - sha256 = "0wxbn5qm3dn9spwbm618flgrwvls7bipg0nhgn0lv4za2g823g56"; + sha256 = "18rvfgblynlmklk25azmppibn1bdjid97hipa323gnzmxgq0rfjq"; }; buildInputs = [ jackaudio libsndfile lv2 qt4 ]; diff --git a/pkgs/applications/audio/fldigi/default.nix b/pkgs/applications/audio/fldigi/default.nix new file mode 100644 index 00000000000..e78095a9c5d --- /dev/null +++ b/pkgs/applications/audio/fldigi/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, hamlib, fltk13, libjpeg, libpng, portaudio, libsndfile, + libsamplerate, pulseaudio, libXinerama, gettext, pkgconfig, alsaLib }: + +stdenv.mkDerivation rec { + version = "3.21.82"; + pname = "fldigi"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "http://www.w1hkj.com/downloads/${pname}/${name}.tar.gz"; + sha256 = "1q2fc1zm9kfsjir4g6fh95vmjdq984iyxfcs6q4gjqy1znhqcyqs"; + }; + + buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio + libsndfile libsamplerate pulseaudio pkgconfig alsaLib ]; + + meta = { + description = "Digital modem program"; + homepage = http://www.w1hkj.com/Fldigi.html; + license = stdenv.lib.licenses.gpl3Plus; + maintainers = with stdenv.lib.maintainers; [ relrod ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/audio/ladspa-plugins/ladspah.nix b/pkgs/applications/audio/ladspa-plugins/ladspah.nix index 30ba34af16c..8c4d8a8c1ed 100644 --- a/pkgs/applications/audio/ladspa-plugins/ladspah.nix +++ b/pkgs/applications/audio/ladspa-plugins/ladspah.nix @@ -1,28 +1,17 @@ -{ stdenv, fetchurl, builderDefs }: +{ runCommand, fetchurl }: + +let -let src = fetchurl { url = http://www.ladspa.org/ladspa_sdk/ladspa.h.txt; sha256 = "1b908csn85ng9sz5s5d1mqk711cmawain2z8px2ajngihdrynb67"; }; + in - let localDefs = builderDefs.passthru.function { - buildInputs = []; - inherit src; - }; - in with localDefs; -let - copyFile = fullDepEntry (" - mkdir -p \$out/include - cp ${src} \$out/include/ladspa.h - ") [minInit defEnsureDir]; -in -stdenv.mkDerivation { - name = "ladspa.h"; - builder = writeScript "ladspa.h-builder" - (textClosure localDefs [copyFile]); - meta = { - description = "LADSPA format audio plugins"; - inherit src; - }; -} + +runCommand "ladspa.h" + { meta.description = "LADSPA format audio plugins"; } + '' + mkdir -p $out/include + cp ${src} $out/include/ladspa.h + '' diff --git a/pkgs/applications/audio/minimodem/default.nix b/pkgs/applications/audio/minimodem/default.nix new file mode 100644 index 00000000000..6f2bf8cdb1c --- /dev/null +++ b/pkgs/applications/audio/minimodem/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, fftw, fftwSinglePrec, alsaLib, libsndfile, pulseaudio }: + +stdenv.mkDerivation rec { + version = "0.19"; + pname = "minimodem"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "http://www.whence.com/${pname}/${name}.tar.gz"; + sha256 = "003xyqjq59wcjafrdv1b8w34xsn4nvzz51wwd7mqddajh0g4dz4g"; + }; + + buildInputs = [ pkgconfig fftw fftwSinglePrec alsaLib libsndfile pulseaudio ]; + + meta = { + description = "General-purpose software audio FSK modem"; + longDescription = '' + Minimodem is a command-line program which decodes (or generates) audio + modem tones at any specified baud rate, using various framing protocols. It + acts a general-purpose software FSK modem, and includes support for various + standard FSK protocols such as Bell103, Bell202, RTTY, NOAA SAME, and + Caller-ID. + ''; + homepage = http://www.whence.com/minimodem/; + license = stdenv.lib.licenses.gpl3Plus; + platforms = with stdenv.lib.platforms; linux; + maintainers = with stdenv.lib.maintainers; [ relrod ]; + }; +} diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix index 5356d4ce298..c5a33796ca5 100644 --- a/pkgs/applications/audio/moc/default.nix +++ b/pkgs/applications/audio/moc/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg_0_10, libvorbis, mpc, libsndfile, jackaudio, db, libmodplug, timidity, libid3tag, libtool }: +{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg, libvorbis, mpc, libsndfile, jackaudio, db, libmodplug, timidity, libid3tag, libtool }: stdenv.mkDerivation rec { name = "moc-${version}"; - version = "2.5.0-beta1"; + version = "2.5.0-beta2"; src = fetchurl { url = "http://ftp.daper.net/pub/soft/moc/unstable/moc-${version}.tar.bz2"; - sha256 = "076816da9c6d1e61a386a1dda5f63ee2fc84bc31e9011ef70acc1d391d4c46a6"; + sha256 = "486d50584c3fb0067b8c03af54e44351633a7740b18dc3b7358322051467034c"; }; configurePhase = "./configure prefix=$out"; - buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg_0_10 libvorbis mpc libsndfile jackaudio db libmodplug timidity libid3tag libtool ]; + buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg 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/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix index 6db80f39e2c..3b1b3154eda 100755 --- a/pkgs/applications/audio/ncmpc/default.nix +++ b/pkgs/applications/audio/ncmpc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, glib, ncurses, mpd_clientlib }: +{ stdenv, fetchurl, pkgconfig, glib, ncurses, mpd_clientlib, libintlOrEmpty }: stdenv.mkDerivation rec { version = "0.21"; @@ -9,7 +9,10 @@ stdenv.mkDerivation rec { sha256 = "648e846e305c867cb937dcb467393c2f5a30bf460bdf77b63de7af69fba1fd07"; }; - buildInputs = [ pkgconfig glib ncurses mpd_clientlib ]; + buildInputs = [ pkgconfig glib ncurses mpd_clientlib ] + ++ libintlOrEmpty; + + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; meta = with stdenv.lib; { description = "Curses-based interface for MPD (music player daemon)"; diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix new file mode 100644 index 00000000000..acdda1799d0 --- /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/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index 122b7ed7867..a18ef97dd60 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.5"; + name = "qmmp-0.7.6"; src = fetchurl { url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; - sha256 = "0ryg4hns5zi9swn2q4vxjya3i4drdqfzycngwzd6fdl176lswrk0"; + sha256 = "1hq08ii06lyfg516jrvxdfcjj509gvglvdlsr96aqi1fh8v4k5p9"; }; buildInputs = diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix index c70842c399a..a15cf255040 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.6.0"; + version = "0.6.1"; name = "qtractor-${version}"; src = fetchurl { url = "mirror://sourceforge/qtractor/${name}.tar.gz"; - sha256 = "0aw6g0biqzysnsk5vd6wx3q1khyav6krhjz7bzk0v7d2160bn40r"; + sha256 = "09lyz1pn2dadr1ii2msyv3n13kq3mbgpcwcyfm0brm01c2fnh6wc"; }; buildInputs = diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index ea8ae88f022..38c679d7a3e 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -75,7 +75,7 @@ buildPythonPackage { & internet radio, and all major audio formats. ''; - maintainer = [ stdenv.lib.maintainers.coroa ]; + maintainers = [ stdenv.lib.maintainers.coroa ]; homepage = http://code.google.com/p/quodlibet/; }; } diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix index f1d3be317d1..c201536ed34 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.4.1"; + version = "0.4.2"; src = fetchurl { url = "mirror://sourceforge/samplv1/${name}.tar.gz"; - sha256 = "1cx3qs9vrdwmym2qsghqq53bshnjqgpqypsilr1m2i1cpfnfrr6x"; + sha256 = "1vr6jbqnsgdq3v2h1ndp4pirnil3119dqwlq0k0kdscmcskvb9j4"; }; buildInputs = [ jackaudio libsndfile lv2 qt4 ]; diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix new file mode 100644 index 00000000000..0d5b6929753 --- /dev/null +++ b/pkgs/applications/audio/setbfree/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, alsaLib, freetype, ftgl, jackaudio, libX11, lv2 +, mesa, pkgconfig, ttf_bitstream_vera +}: + +stdenv.mkDerivation rec { + name = "setbfree-${version}"; + version = "0.7.5"; + + src = fetchurl { + url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz"; + sha256 = "1chlmgwricc6l4kyg35vc9v8f1n8psr28iihn4a9q2prj1ihqcbc"; + }; + + patchPhase = '' + sed 's#/usr/local#$(out)#g' -i common.mak + sed 's#/usr/share/fonts/truetype/ttf-bitstream-vera#${ttf_bitstream_vera}/share/fonts/truetype#g' \ + -i b_synth/Makefile + ''; + + buildInputs = [ + alsaLib freetype ftgl jackaudio libX11 lv2 mesa pkgconfig + ttf_bitstream_vera + ]; + + meta = with stdenv.lib; { + description = "A DSP tonewheel organ emulator"; + homepage = http://setbfree.org; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu ]; + }; +} diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 874cc321f8b..59bea8fc194 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,24 +1,64 @@ { fetchurl, stdenv, dpkg, xlibs, qt4, alsaLib, makeWrapper, openssl, freetype , glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf -, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev }: +, libgcrypt, chromium, sqlite, gst_plugins_base, gstreamer, udev, fontconfig +, dbus, expat }: assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; let - version = "0.9.4.183"; + version = if stdenv.system == "i686-linux" + then "0.9.4.183.g644e24e.428" + else "0.9.10.17.g4129e1c.78"; + qt4webkit = if stdenv.system == "i686-linux" then fetchurl { - name = "libqtwebkit4_2.2_i386.deb"; - url = http://mirrors.us.kernel.org/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_i386.deb; + name = "libqtwebkit4_2.3.2_i386.deb"; + url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_i386.deb; sha256 = "0hi6cwx2b2cwa4nv5phqqw526lc8p9x7kjkcza9x47ny3npw2924"; } else fetchurl { - name = "libqtwebkit4_2.2_amd64.deb"; - url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.2~2011week36-0ubuntu1_amd64.deb; - sha256 = "0bvy6qz9y19ck391z8c049v07y4vdyvgykpxi7x1nvn078p1imiw"; + name = "libqtwebkit4_2.3.2_amd64.deb"; + url = http://ie.archive.ubuntu.com/ubuntu/pool/main/q/qtwebkit-source/libqtwebkit4_2.3.2-0ubuntu7_amd64.deb; + sha256 = "0sac88avfivwkfhmd6fik7ili8fdznqas6741dbspf9mfnawbwch"; }; + + deps = [ + alsaLib + atk + cairo + cups + dbus + expat + fontconfig + freetype + GConf + gdk_pixbuf + glib + gst_plugins_base + gstreamer + gtk + libgcrypt + libpng + nss + pango + qt4 + sqlite + stdenv.gcc.gcc + xlibs.libX11 + xlibs.libXcomposite + xlibs.libXdamage + xlibs.libXext + xlibs.libXfixes + xlibs.libXi + xlibs.libXrandr + xlibs.libXrender + xlibs.libXrender + xlibs.libXScrnSaver + #xlibs.libXss + ]; + in stdenv.mkDerivation { @@ -27,13 +67,13 @@ stdenv.mkDerivation { src = if stdenv.system == "i686-linux" then fetchurl { - url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_i386.deb"; + url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}-1_i386.deb"; sha256 = "1wl6v5x8vm74h5lxp8fhvmih8l122aadsf1qxvpk0k3y6mbx0ifa"; } else if stdenv.system == "x86_64-linux" then fetchurl { - url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}.g644e24e.428-1_amd64.deb"; - sha256 = "1yniln6iswrrrny01qr2w5zcvam0vnrvy9mwbnk9i14i2ch0f3fx"; + url = "http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_${version}-1_amd64.deb"; + sha256 = "1a4vn2ij3nghnc0fq3nsyb95gwhaw4zabdq6jd52hxz8iv31pn1z"; } else throw "Spotify not supported on this platform."; @@ -51,34 +91,51 @@ stdenv.mkDerivation { # Work around Spotify referring to a specific minor version of # OpenSSL. mkdir $out/lib - ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.0.9.8 - ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.0.9.8 + ln -s ${nss}/lib/libnss3.so $out/lib/libnss3.so.1d ln -s ${nss}/lib/libnssutil3.so $out/lib/libnssutil3.so.1d ln -s ${nss}/lib/libsmime3.so $out/lib/libsmime3.so.1d + + ${if stdenv.system == "x86_64-linux" then '' + ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.1.0.0 + ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0 + ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so + ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so + '' else '' + ln -s ${openssl}/lib/libssl.so $out/lib/libssl.so.0.9.8 + ln -s ${openssl}/lib/libcrypto.so $out/lib/libcrypto.so.0.9.8 ln -s ${nspr}/lib/libnspr4.so $out/lib/libnspr4.so.0d ln -s ${nspr}/lib/libplc4.so $out/lib/libplc4.so.0d + ''} # Work around Spotify trying to open libudev.so.0 (which we don't have) ln -s ${udev}/lib/libudev.so.1 $out/lib/libudev.so.0 mkdir -p $out/bin + rpath="$out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.gcc.gcc}/lib64" + ln -s $out/spotify-client/spotify $out/bin/spotify + patchelf \ --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ - --set-rpath $out/spotify-client/Data:$out/lib:$out/spotify-client:${stdenv.lib.makeLibraryPath [ xlibs.libXScrnSaver xlibs.libX11 qt4 alsaLib stdenv.gcc.gcc freetype glib pango cairo atk gdk_pixbuf gtk GConf cups sqlite xlibs.libXdamage ]}:${stdenv.gcc.gcc}/lib64 \ - $out/spotify-client/spotify + --set-rpath $rpath $out/spotify-client/spotify + + patchelf \ + --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath $rpath $out/spotify-client/Data/SpotifyHelper dpkg-deb -x ${qt4webkit} ./ mkdir -p $out/lib/ cp -v usr/lib/*/* $out/lib/ preload=$out/libexec/spotify/libpreload.so + librarypath="${stdenv.lib.makeLibraryPath deps}:$out/lib" mkdir -p $out/libexec/spotify gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC - wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ GConf libpng cups libgcrypt sqlite gst_plugins_base gstreamer xlibs.libXdamage ]}:$out/lib" + wrapProgram $out/bin/spotify --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "$librarypath" + wrapProgram $out/spotify-client/Data/SpotifyHelper --set LD_PRELOAD $preload --prefix LD_LIBRARY_PATH : "$librarypath" # Desktop file mkdir -p "$out/share/applications/" diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index 4037b88ecb7..d1c2230cf16 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.4.1"; + version = "0.4.2"; src = fetchurl { url = "mirror://sourceforge/synthv1/${name}.tar.gz"; - sha256 = "1j1x8n3rlwrh373wqmm6mj3cgyk3apvnpqygx1700fl4cf249agl"; + sha256 = "1r4fszbzwd0yfcch0mcsmh7781zw1317hiljn85w79721fs2m8hc"; }; buildInputs = [ qt4 jackaudio lv2 ]; diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix index bf2c34b9318..26500939db8 100644 --- a/pkgs/applications/display-managers/slim/default.nix +++ b/pkgs/applications/display-managers/slim/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { name = "slim-1.3.6"; src = fetchurl { - url = "http://download.berlios.de/slim/${name}.tar.gz"; + url = "mirror://sourceforge/slim.berlios/${name}.tar.gz"; sha256 = "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1"; }; @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_LINK = "-lXmu"; meta = { - homepage = http://slim.berlios.de; + homepage = http://sourceforge.net/projects/slim.berlios/; # berlios shut down; I found no replacement yet platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix new file mode 100644 index 00000000000..1bf4bb1f8e6 --- /dev/null +++ b/pkgs/applications/editors/codeblocks/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, file, zip, wxGTK, gtk +, contribPlugins ? false, hunspell, gamin, boost +}: + +with { inherit (stdenv.lib) optionalString optional optionals; }; + +stdenv.mkDerivation rec { + name = "${pname}-${stdenv.lib.optionalString contribPlugins "full-"}${version}"; + version = "13.12"; + pname = "codeblocks"; + + src = fetchurl { + url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}-1.tar.gz"; + sha256 = "044njhps4cm1ijfdyr5f9wjyd0vblhrz9b4603ma52wcdq25093p"; + }; + + buildInputs = [ automake autoconf libtool pkgconfig file zip wxGTK gtk ] + ++ optionals contribPlugins [ hunspell gamin boost ]; + enableParallelBuilding = true; + patches = [ ./writable-projects.patch ]; + preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file"; + postConfigure = optionalString stdenv.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig"; + configureFlags = [ "--enable-pch=no" ] + ++ optional contribPlugins "--with-contrib-plugins"; + + meta = with stdenv.lib; { + maintainers = [ maintainers.linquize ]; + platforms = platforms.all; + description = "The open source, cross platform, free C, C++ and Fortran IDE"; + longDescription = + '' + Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users. + It is designed to be very extensible and fully configurable. + Finally, an IDE with all the features you need, having a consistent look, feel and operation across platforms. + ''; + homepage = http://www.codeblocks.org; + license = licenses.gpl3; + }; +} diff --git a/pkgs/applications/editors/codeblocks/writable-projects.patch b/pkgs/applications/editors/codeblocks/writable-projects.patch new file mode 100644 index 00000000000..3b6364a52a1 --- /dev/null +++ b/pkgs/applications/editors/codeblocks/writable-projects.patch @@ -0,0 +1,18 @@ +diff --git a/src/plugins/scriptedwizard/wiz.cpp b/src/plugins/scriptedwizard/wiz.cpp +index 0eb4b27..7d469fe 100644 +--- a/src/plugins/scriptedwizard/wiz.cpp ++++ b/src/plugins/scriptedwizard/wiz.cpp +@@ -785,6 +785,13 @@ void Wiz::CopyFiles(cbProject* theproject, const wxString& prjdir, const wxStri + } + } + if (do_copy) wxCopyFile(srcfile, dstfile, true); ++ // Noticed! Files in Nix Store are readonly, so make the copied file writable ++ if (do_copy) ++ { ++ struct stat statbuf; ++ if (!::stat(dstfile.mb_str(), &statbuf)) ++ ::chmod(dstfile.mb_str(), statbuf.st_mode | 0200); ++ } + + // and add it to the project + fname.MakeRelativeTo(prjdir); diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 3759ed8f35f..24ba2461027 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -176,6 +176,22 @@ in { }; }; + eclipse_cpp_43 = buildEclipse { + name = "eclipse-cpp-4.3.2"; + description = "Eclipse IDE for C/C++ Developers"; + src = + if stdenv.system == "x86_64-linux" then + fetchurl { + url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/kepler/SR2/eclipse-cpp-kepler-SR2-linux-gtk-x86_64.tar.gz; + sha256 = "16zhjm6bx78263b1clg75kfiliahkhwg0k116vp9fj039nlpc30l"; + } + else + fetchurl { + url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/epp/downloads/release/kepler/SR2/eclipse-cpp-kepler-SR2-linux-gtk.tar.gz; + sha256 = "0d6jlj7hwz8blx6csrlyi2h2prql0wckbh7ihwjmgclwpcpj84g6"; + }; + }; + eclipse_sdk_421 = buildEclipse { name = "eclipse-sdk-4.2.1"; description = "Eclipse Classic"; diff --git a/pkgs/applications/editors/emacs-24/macport.nix b/pkgs/applications/editors/emacs-24/macport.nix new file mode 100644 index 00000000000..4c599916d94 --- /dev/null +++ b/pkgs/applications/editors/emacs-24/macport.nix @@ -0,0 +1,101 @@ +{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls +}: + +stdenv.mkDerivation rec { + emacsName = "emacs-24.3"; + name = "${emacsName}-mac-4.8"; + + #builder = ./builder.sh; + + src = fetchurl { + url = "mirror://gnu/emacs/${emacsName}.tar.xz"; + sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"; + }; + + macportSrc = fetchurl { + url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz"; + sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx"; + }; + + buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ]; + + postUnpack = '' + mv $emacsName $name + tar xzf $macportSrc + mv $name $emacsName + ''; + + preConfigure = '' + patch -p0 < patch-mac + + # The search for 'tputs' will fail because it's in ncursesw within the + # ncurses package, yet Emacs' configure script only looks in ncurses. + # Further, we need to make sure that the -L option occurs before mention + # of the library, so that it finds it within the Nix store. + sed -i 's/tinfo ncurses/tinfo ncursesw/' configure + ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g') + sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure + sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure + + configureFlagsArray=( + LDFLAGS=-L${ncurses}/lib + --with-xml2=yes + --with-gnutls=yes + --with-mac + --enable-mac-app=$out/Applications + ) + makeFlagsArray=( + CFLAGS=-O3 + LDFLAGS="-O3 -L${ncurses}/lib" + ); + ''; + + postInstall = '' + cat >$out/share/emacs/site-lisp/site-start.el <auto/config.log <<_ACEOF ++cat >config.log <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +@@ -2262,7 +2262,7 @@ generated by GNU Autoconf 2.69. Invocation command line was + $ $0 $@ + + _ACEOF +-exec 5>>auto/config.log ++exec 5>>config.log + { + cat <<_ASUNAME + ## --------- ## +@@ -5377,10 +5377,7 @@ $as_echo "no" >&6; } + fi + + if test "X$vi_cv_path_mzscheme_pfx" != "X"; then +- if test "x$MACOSX" = "xyes"; then +- MZSCHEME_LIBS="-framework Racket" +- MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" +- elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then ++ if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then + MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" + elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then +@@ -5716,23 +5713,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; } + fi + + if test "x$MACOSX" = "xyes"; then +- dir=/System/Library/Perl +- darwindir=$dir/darwin +- if test -d $darwindir; then +- PERL=/usr/bin/perl +- else +- dir=/System/Library/Perl/5.8.1 +- darwindir=$dir/darwin-thread-multi-2level +- if test -d $darwindir; then +- PERL=/usr/bin/perl +- fi +- fi +- if test -n "$PERL"; then +- PERL_DIR="$dir" +- PERL_CFLAGS="-DFEAT_PERL -I$darwindir/CORE" +- PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a" +- PERL_LIBS="-L$darwindir/CORE -lperl" +- fi + PERL_LIBS=`echo "$PERL_LIBS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` + PERL_CFLAGS=`echo "$PERL_CFLAGS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'` + fi +@@ -5926,10 +5906,6 @@ __: + eof + eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`" + rm -f -- "${tmp_mkf}" +- if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \ +- "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then +- vi_cv_path_python_plibs="-framework Python" +- else + if test "${vi_cv_var_python_version}" = "1.4"; then + vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a" + else +@@ -5937,7 +5913,6 @@ eof + fi + vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}" + vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//` +- fi + + fi + +@@ -6004,13 +5979,6 @@ rm -f core conftest.err conftest.$ac_objext \ + $as_echo "no" >&6; } + fi + +- if test -n "$MACSDK"; then +- PYTHON_CFLAGS= +- PYTHON_LIBS=-framework Python +- PYTHON_CONFDIR= +- PYTHON_GETPATH_CFLAGS= +- fi +- + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compile and link flags for Python are sane" >&5 + $as_echo_n "checking if compile and link flags for Python are sane... " >&6; } + cflags_save=$CFLAGS +@@ -6853,11 +6821,7 @@ $as_echo "$tclver - OK" >&6; }; + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of Tcl include" >&5 + $as_echo_n "checking for location of Tcl include... " >&6; } +- if test "x$MACOSX" != "xyes"; then + tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver" +- else +- tclinc="/System/Library/Frameworks/Tcl.framework/Headers" +- fi + TCL_INC= + for try in $tclinc; do + if test -f "$try/tcl.h"; then +@@ -6875,12 +6839,8 @@ $as_echo "" >&6; } + if test -z "$SKIP_TCL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of tclConfig.sh script" >&5 + $as_echo_n "checking for location of tclConfig.sh script... " >&6; } +- if test "x$MACOSX" != "xyes"; then + tclcnf=`echo $tclinc | sed s/include/lib/g` + tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`" +- else +- tclcnf="/System/Library/Frameworks/Tcl.framework" +- fi + for try in $tclcnf; do + if test -f $try/tclConfig.sh; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/tclConfig.sh" >&5 +@@ -7050,10 +7010,6 @@ $as_echo "$rubyhdrdir" >&6; } + if test -f "$rubylibdir/$librubya"; then + librubyarg="$librubyarg" + RUBY_LIBS="$RUBY_LIBS -L$rubylibdir" +- elif test -d "/System/Library/Frameworks/Ruby.framework"; then +- RUBY_LIBS="-framework Ruby" +- RUBY_CFLAGS="-DRUBY_VERSION=$rubyversion" +- librubyarg= + fi + + if test "X$librubyarg" != "X"; then +@@ -14061,7 +14017,7 @@ fi + + _ACEOF + cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +-exec 5>>auto/config.log ++exec 5>>config.log + { + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +@@ -14653,7 +14609,7 @@ if test "$no_create" != yes; then + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false +- exec 5>>auto/config.log ++ exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 diff --git a/pkgs/applications/editors/vim/python_framework.patch b/pkgs/applications/editors/vim/python_framework.patch new file mode 100644 index 00000000000..b7c7cee6cd9 --- /dev/null +++ b/pkgs/applications/editors/vim/python_framework.patch @@ -0,0 +1,23 @@ +diff --git a/src/auto/configure b/src/auto/configure +index a9755a0..4a0e2a4 100755 +--- a/auto/configure ++++ b/auto/configure +@@ -5638,10 +5638,6 @@ __: + eof + eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`" + rm -f -- "${tmp_mkf}" +- if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \ +- "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then +- vi_cv_path_python_plibs="-framework Python" +- else + if test "${vi_cv_var_python_version}" = "1.4"; then + vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a" + else +@@ -5649,7 +5645,6 @@ eof + fi + vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}" + vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//` +- fi + + fi + diff --git a/pkgs/applications/editors/vim/qvim.nix b/pkgs/applications/editors/vim/qvim.nix index 15a147319a1..2357e23bf01 100644 --- a/pkgs/applications/editors/vim/qvim.nix +++ b/pkgs/applications/editors/vim/qvim.nix @@ -61,7 +61,17 @@ composableDerivation { // edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter. // edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter. - // edf { name = "lua" ; feat = "luainterp"; enable = { nativeBuildInputs = [lua]; configureFlags = ["--with-lua-prefix=${args.lua}"];};} + // edf { + name = "lua"; + feat = "luainterp"; + enable = { + nativeBuildInputs = [lua]; + configureFlags = [ + "--with-lua-prefix=${args.lua}" + "--enable-luainterp" + ]; + }; + } // edf { name = "cscope"; } #Include cscope interface. // edf { name = "workshop"; } #Include Sun Visual Workshop support. // edf { name = "netbeans"; } #Disable NetBeans integration support. @@ -76,6 +86,7 @@ composableDerivation { ; cfg = { + luaSupport = config.vim.lua or true; pythonSupport = config.vim.python or true; rubySupport = config.vim.ruby or true; nlsSupport = config.vim.nls or false; diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 35659cbfe6f..64b1f5b3b2c 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -18,14 +18,14 @@ }: let - version = "6.8.8-7"; + version = "6.8.9-0"; in stdenv.mkDerivation rec { name = "ImageMagick-${version}"; src = fetchurl { url = "mirror://imagemagick/${name}.tar.xz"; - sha256 = "1x5jkbrlc10rx7vm344j7xrs74c80xk3n1akqx8w5c194fj56mza"; + sha256 = "1lapn2798fkc2wn81slpms5p21kq4dsyg45khsk7n8p69cvrmw2b"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index d4983ca04d8..c4e2a7534af 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.4.1"; + version = "1.4.2"; name = "darktable-${version}"; src = fetchurl { url = "mirror://sourceforge/darktable/darktable/1.2/darktable-${version}.tar.xz"; - sha256 = "1pkixhiyyjx5wx4dlkvabga9glcx374f1ic2kxmzzdprfm6kkqfd"; + sha256 = "02875rnabw5m9aqfls59901889iyxkmm4xk445fvh1v06dp1lcf1"; }; buildInputs = diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix index ab421cee158..c7582fd6c33 100644 --- a/pkgs/applications/graphics/dia/default.nix +++ b/pkgs/applications/graphics/dia/default.nix @@ -1,11 +1,11 @@ -{stdenv, fetchurl_gnome, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext +{stdenv, fetchurlGnome, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext , python, libxml2Python, docbook5, docbook_xsl, libxslt, intltool, libart_lgpl , withGNOME ? false, libgnomeui }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "dia"; major = "0"; minor = "97"; patchlevel = "2"; extension = "xz"; sha256 = "1qgawm7rrf4wd1yc0fp39ywv8gbz4ry1s16k00dzg5w6p67lfqd7"; diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index 4f52e6dec0f..d23f42fdbf9 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -1,22 +1,23 @@ -{ stdenv, makeWrapper, fetchurl, x11, imlib2, libjpeg, libpng, giblib +{ stdenv, makeWrapper, fetchurl, x11, imlib2, libjpeg, libpng , libXinerama, curl }: stdenv.mkDerivation rec { - name = "feh-2.10"; + name = "feh-2.12"; src = fetchurl { url = "http://feh.finalrewind.org/${name}.tar.bz2"; - sha256 = "10ya8j0mxlni08qli3gdkyjhy54g4d2q2kc0hhragmzd9s42ly5w"; + sha256 = "0ckhidmsms2l5jycp0qf71jzmb3bpbhjq3bcgfpvfvszah7pmq30"; }; - buildInputs = [makeWrapper x11 imlib2 giblib libjpeg libpng libXinerama curl ]; + buildInputs = [makeWrapper x11 imlib2 libjpeg libpng libXinerama curl]; preBuild = '' makeFlags="PREFIX=$out" ''; postInstall = '' - wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg}/bin" + wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg}/bin" \ + --add-flags '--theme=feh' ''; meta = { diff --git a/pkgs/applications/graphics/freecad/cmake.patch b/pkgs/applications/graphics/freecad/cmake.patch index e54e16da977..62efaf1e29d 100644 --- a/pkgs/applications/graphics/freecad/cmake.patch +++ b/pkgs/applications/graphics/freecad/cmake.patch @@ -1,7 +1,27 @@ -diff -ru freecad-0.13.1830.orig/CMakeLists.txt freecad-0.13.1830/CMakeLists.txt ---- freecad-0.13.1830.orig/CMakeLists.txt 2013-02-02 18:09:17.000000000 +0100 -+++ freecad-0.13.1830/CMakeLists.txt 2014-02-15 10:16:00.939725500 +0100 -@@ -321,7 +321,7 @@ +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) diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix index ff1e5052054..44ca66ac5b9 100644 --- a/pkgs/applications/graphics/geeqie/default.nix +++ b/pkgs/applications/graphics/geeqie/default.nix @@ -35,13 +35,14 @@ stdenv.mkDerivation rec { description = "Geeqie, a lightweight GTK+ based image viewer"; longDescription = - '' Geeqie is a lightweight GTK+ based image viewer for Unix like - operating systems. It features: EXIF, IPTC and XMP metadata - browsing and editing interoperability; easy integration with other - software; geeqie works on files and directories, there is no need to - import images; fast preview for many raw image formats; tools for - image comparison, sorting and managing photo collection. Geeqie was - initially based on GQview. + '' + Geeqie is a lightweight GTK+ based image viewer for Unix like + operating systems. It features: EXIF, IPTC and XMP metadata + browsing and editing interoperability; easy integration with other + software; geeqie works on files and directories, there is no need to + import images; fast preview for many raw image formats; tools for + image comparison, sorting and managing photo collection. Geeqie was + initially based on GQview. ''; license = "GPLv2+"; diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix index 0f8d6d45f12..aca4d822c82 100644 --- a/pkgs/applications/graphics/gimp/2.8.nix +++ b/pkgs/applications/graphics/gimp/2.8.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { name = "gimp-2.8.10"; src = fetchurl { - url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2"; + url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2"; sha256 = "1rha8yx0pplfjziqczjrxxp16vsvpmb5ziq3c218s4w9z4cqpzg7"; }; diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix index 7151fc7af5c..4e2075ff471 100644 --- a/pkgs/applications/graphics/meshlab/default.nix +++ b/pkgs/applications/graphics/meshlab/default.nix @@ -12,6 +12,12 @@ stdenv.mkDerivation rec { # buildPhase gets removed from the 'meshlab' binary dontPatchELF = true; + # Patches are from the Arch Linux package + patchPhase = '' + patch -Np0 -i "${./qt-4.8.patch}" + patch -Np1 -i "${./gcc-4.7.patch}" + ''; + buildPhase = '' mkdir -p "$out/include" cp -r vcglib "$out/include" diff --git a/pkgs/applications/graphics/meshlab/gcc-4.7.patch b/pkgs/applications/graphics/meshlab/gcc-4.7.patch new file mode 100644 index 00000000000..07dc1a08aff --- /dev/null +++ b/pkgs/applications/graphics/meshlab/gcc-4.7.patch @@ -0,0 +1,38 @@ +diff --git a/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h b/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h +index 2351b2a..90c6d76 100644 +--- a/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h ++++ b/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h +@@ -40,7 +40,7 @@ public: + + //! Reset histogram data. + void Clear() { +- this->::Clear(); ++ Histogram::Clear(); + CV.clear(); + } + /* +diff --git a/vcglib/wrap/gl/trimesh.h b/vcglib/wrap/gl/trimesh.h +index 5d40404..ab9d0aa 100644 +--- a/vcglib/wrap/gl/trimesh.h ++++ b/vcglib/wrap/gl/trimesh.h +@@ -1003,7 +1003,7 @@ void Crease(MESH_TYPE &m, typename MESH_TYPE::scalar_type angleRad) + } + } + +- m.vert.math::Swap(newvert); ++ m.vert.math.Swap(newvert); + m.vn=m.vert.size(); + } + +diff --git a/vcglib/wrap/ply/plystuff.h b/vcglib/wrap/ply/plystuff.h +index 3e41e63..4af9508 100644 +--- a/vcglib/wrap/ply/plystuff.h ++++ b/vcglib/wrap/ply/plystuff.h +@@ -75,6 +75,7 @@ using namespace vcg; + #define pb_close _close + #define DIR_SEP "\\" + #else ++#include + #define pb_mkdir(n) mkdir(n,0755) + #define pb_access access + #define pb_stat stat diff --git a/pkgs/applications/graphics/meshlab/qt-4.8.patch b/pkgs/applications/graphics/meshlab/qt-4.8.patch new file mode 100644 index 00000000000..abfd77d6f25 --- /dev/null +++ b/pkgs/applications/graphics/meshlab/qt-4.8.patch @@ -0,0 +1,54 @@ +diff -Nur meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp +--- meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp 2011-01-25 18:51:28.000000000 +1100 ++++ meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp 2012-01-07 11:47:12.836800072 +1100 +@@ -7,6 +7,12 @@ + #include "SyntopiaCore/Logging/Logging.h" + #include "SyntopiaCore/Misc/MiniParser.h" + ++#ifdef Q_WS_MAC ++#include ++#else ++#include ++#endif ++ + using namespace SyntopiaCore::Math; + using namespace SyntopiaCore::Misc; + +diff -Nur meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h +--- meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h 2011-01-25 18:51:28.000000000 +1100 ++++ meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h 2012-01-07 11:45:26.795586149 +1100 +@@ -3,6 +3,12 @@ + #include "SyntopiaCore/Math/Vector3.h" + #include "Object3D.h" + ++#ifdef Q_WS_MAC ++#include ++#else ++#include ++#endif ++ + namespace SyntopiaCore { + namespace GLEngine { + +diff -Nur meshlab.orig/src/external/structuresynth/structuresynth.pro meshlab/src/external/structuresynth/structuresynth.pro +--- meshlab.orig/src/external/structuresynth/structuresynth.pro 2011-01-25 18:49:34.000000000 +1100 ++++ meshlab/src/external/structuresynth/structuresynth.pro 2012-01-07 11:51:46.695981995 +1100 +@@ -113,6 +113,7 @@ + ssynth/StructureSynth/Model/Rendering/TemplateRenderer.cpp + CONFIG+=opengl + QT+=xml opengl script ++unix:LIBS += -lGLU + macx:DESTDIR = ../lib/macx + win32-g++:DESTDIR = ../lib/win32-gcc + win32-msvc2005:DESTDIR = ../lib/win32-msvc2005 +diff -Nur meshlab.orig/src/meshlab/meshlab.pro meshlab/src/meshlab/meshlab.pro +--- meshlab.orig/src/meshlab/meshlab.pro 2011-02-15 20:39:47.000000000 +1100 ++++ meshlab/src/meshlab/meshlab.pro 2012-01-07 11:57:18.055586086 +1100 +@@ -85,6 +85,7 @@ + QT += xmlpatterns + QT += network + QT += script ++unix:LIBS += -lGLU + + + # the following line is needed to avoid mismatch between diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix index 67b91fd6857..def22804bb6 100644 --- a/pkgs/applications/graphics/mirage/default.nix +++ b/pkgs/applications/graphics/mirage/default.nix @@ -5,7 +5,7 @@ buildPythonPackage rec { name = "mirage-0.9.5.2"; src = fetchurl { - url = "http://download.berlios.de/mirageiv/${name}.tar.bz2"; + url = "mirror://sourceforge/mirageiv/${name}.tar.bz2"; sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c"; }; @@ -22,7 +22,7 @@ buildPythonPackage rec { meta = { description = "Simple image viewer written in PyGTK"; - homepage = http://mirageiv.berlios.de/; + homepage = http://mirageiv.sourceforge.net/; license = "GPLv2"; }; diff --git a/pkgs/applications/graphics/potrace/default.nix b/pkgs/applications/graphics/potrace/default.nix new file mode 100644 index 00000000000..81af6db9a4c --- /dev/null +++ b/pkgs/applications/graphics/potrace/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, zlib }: + +let version = "1.11"; in + +stdenv.mkDerivation { + name = "potrace-${version}"; + + src = fetchurl { + url = "http://potrace.sourceforge.net/download/potrace-${version}.tar.gz"; + sha256 = "1bbyl7jgigawmwc8r14znv8lb6lrcxh8zpvynrl6s800dr4yp9as"; + }; + + buildInputs = [ zlib ]; + + meta = { + homepage = http://potrace.sourceforge.net/; + description = "A tool for tracing a bitmap, which means, transforming a bitmap into a smooth, scalable image"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.pSub ]; + license = "GPL2"; + }; +} diff --git a/pkgs/applications/graphics/sane/config.nix b/pkgs/applications/graphics/sane/config.nix new file mode 100644 index 00000000000..fc1cd81ebc6 --- /dev/null +++ b/pkgs/applications/graphics/sane/config.nix @@ -0,0 +1,27 @@ +{ stdenv }: + +{ paths }: + +with stdenv.lib; +let installSanePath = path: '' + find "${path}/lib/sane" -not -type d -maxdepth 1 | while read backend; do + ln -s $backend $out/lib/sane/$(basename $backend) + done + + find "${path}/etc/sane.d" -not -type d -maxdepth 1 | while read conf; do + ln -s $conf $out/etc/sane.d/$(basename $conf) + done + + find "${path}/etc/sane.d/dll.d" -not -type d -maxdepth 1 | while read conf; do + ln -s $conf $out/etc/sane.d/dll.d/$(basename $conf) + done + ''; +in +stdenv.mkDerivation { + name = "sane-config"; + phases = "installPhase"; + + installPhase = '' + mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane + '' + concatMapStrings installSanePath paths; +} diff --git a/pkgs/applications/misc/arbtt/default.nix b/pkgs/applications/misc/arbtt/default.nix index 92b8cb4f295..b5ecf8fa1d1 100644 --- a/pkgs/applications/misc/arbtt/default.nix +++ b/pkgs/applications/misc/arbtt/default.nix @@ -1,21 +1,27 @@ -{ cabal, binary, bytestringProgress, deepseq, filepath -, libXScrnSaver, parsec, pcreLight, strict, terminalProgressBar -, time, transformers, utf8String, X11 +{ cabal, aeson, binary, bytestringProgress, deepseq, filepath +, HUnit, libXScrnSaver, parsec, pcreLight, processExtras, strict +, tasty, tastyGolden, tastyHunit, terminalProgressBar, time +, transformers, utf8String, X11 }: cabal.mkDerivation (self: { pname = "arbtt"; - version = "0.7"; - sha256 = "05q31fsyrbkcx0mlf2r91zgmpma5sl2a7100h7qsa882sijc2ybn"; + version = "0.8"; + sha256 = "0anjcg8ikd3jxc5rb3k215wj7ar4kg2plv8sdr8hv64758xkc5q9"; isLibrary = false; isExecutable = true; buildDepends = [ - binary bytestringProgress deepseq filepath parsec pcreLight strict - terminalProgressBar time transformers utf8String X11 + aeson binary bytestringProgress deepseq filepath parsec pcreLight + strict terminalProgressBar time transformers utf8String X11 + ]; + testDepends = [ + binary deepseq HUnit parsec pcreLight processExtras tasty + tastyGolden tastyHunit time transformers utf8String ]; extraLibraries = [ libXScrnSaver ]; + jailbreak = true; meta = { - homepage = "http://www.joachim-breitner.de/projects#arbtt"; + homepage = "http://arbtt.nomeata.de/"; description = "Automatic Rule-Based Time Tracker"; license = "GPL"; platforms = self.ghc.meta.platforms; diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix new file mode 100644 index 00000000000..64bca952ff5 --- /dev/null +++ b/pkgs/applications/misc/avrdudess/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, unzip, mono, avrgcclibc, avrdude, gtk, xdg_utils }: + +stdenv.mkDerivation rec { + name = "avrdudess-2.2.20140102"; + + src = fetchurl { + url = "http://blog.zakkemble.co.uk/download/avrdudess_20140102.zip"; + sha256 = "18llpvjsfhypzijrvfbzmcg3g141f307mzsrg11wcdxh9syxqak6"; + }; + + buildInputs = [ unzip ]; + + phases = [ "buildPhase" ]; + + buildPhase = '' + mkdir -p "$out/avrdudess" + mkdir -p "$out/bin" + + unzip "$src" -d "$out/avrdudess" + + cat >> "$out/bin/avrdudess" << __EOF__ + #!${stdenv.shell} + export LD_LIBRARY_PATH="${gtk}/lib:${mono}/lib" + # We need PATH from user env for xdg-open to find its tools, which + # typically depend on the currently running desktop environment. + export PATH="${avrgcclibc}/bin:${avrdude}/bin:${xdg_utils}/bin:\$PATH" + + # avrdudess must have its resource files in its current working directory + cd $out/avrdudess && exec ${mono}/bin/mono "$out/avrdudess/avrdudess.exe" "\$@" + __EOF__ + + chmod a+x "$out/bin/"* + ''; + + meta = with stdenv.lib; { + description = "GUI for AVRDUDE (AVR microcontroller programmer)"; + homepage = https://github.com/zkemble/AVRDUDESS; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix index 1785526d14a..118b56c55b0 100644 --- a/pkgs/applications/misc/bitcoin/default.nix +++ b/pkgs/applications/misc/bitcoin/default.nix @@ -1,26 +1,39 @@ -{ fetchurl, stdenv, openssl, db, 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 db 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 2e9cf46bf86..930a48a617f 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,35 +1,35 @@ { stdenv, fetchurl, SDL, boost, cmake, ffmpeg, gettext, glew -, ilmbase, jackaudio, libXi, libjpeg, libpng, libsamplerate, libsndfile +, ilmbase, libXi, libjpeg, libpng, libsamplerate, libsndfile , libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg, python , zlib +, jackaudioSupport ? false, jackaudio }: stdenv.mkDerivation rec { - name = "blender-2.70"; + name = "blender-2.70a"; src = fetchurl { url = "http://download.blender.org/source/${name}.tar.gz"; - sha256 = "0j73yfpavcrzg5v54kcha7sig6179g5ykrlhih8d288pnb5c7596"; + sha256 = "1rgkijn1nirj3jwh058zv6piw8q4j5wwjapgbvh2hh6fpbj84bgb"; }; - buildInputs = [ - SDL boost cmake ffmpeg gettext glew ilmbase jackaudio libXi - libjpeg libpng libsamplerate libsndfile libtiff mesa openal - opencolorio openexr openimageio openjpeg python zlib - ]; + buildInputs = + [ SDL boost cmake ffmpeg gettext glew ilmbase jackaudio libXi + libjpeg libpng libsamplerate libsndfile libtiff mesa openal + opencolorio openexr openimageio openjpeg python zlib + ] ++ stdenv.lib.optional jackaudioSupport jackaudio; - - cmakeFlags = [ - "-DOPENEXR_INC=${openexr}/include/OpenEXR" - "-DWITH_OPENCOLLADA=OFF" - "-DWITH_CODEC_FFMPEG=ON" - "-DWITH_CODEC_SNDFILE=ON" - "-DWITH_JACK=ON" - "-DWITH_INSTALL_PORTABLE=OFF" - "-DPYTHON_LIBRARY=python${python.majorVersion}m" - "-DPYTHON_LIBPATH=${python}/lib" - "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m" - ]; + cmakeFlags = + [ "-DOPENEXR_INC=${openexr}/include/OpenEXR" + "-DWITH_OPENCOLLADA=OFF" + "-DWITH_CODEC_FFMPEG=ON" + "-DWITH_CODEC_SNDFILE=ON" + "-DWITH_INSTALL_PORTABLE=OFF" + "-DPYTHON_LIBRARY=python${python.majorVersion}m" + "-DPYTHON_LIBPATH=${python}/lib" + "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m" + "-DPYTHON_VERSION=${python.majorVersion}" + ] ++ stdenv.lib.optional jackaudioSupport "-DWITH_JACK=ON"; NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}m"; @@ -43,6 +43,5 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.goibhniu ]; - }; } diff --git a/pkgs/applications/misc/cdrtools/default.nix b/pkgs/applications/misc/cdrtools/default.nix index 94af2ee58f5..455ff8d46b8 100644 --- a/pkgs/applications/misc/cdrtools/default.nix +++ b/pkgs/applications/misc/cdrtools/default.nix @@ -1,6 +1,6 @@ {stdenv, fetchurl}: -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "cdrtools-2.01"; configurePhase = "prefix=$out"; @@ -16,7 +16,7 @@ stdenv.mkDerivation { ''; src = fetchurl { - url = ftp://ftp.berlios.de/pub/cdrecord/cdrtools-2.01.tar.bz2; + url = "mirror://sourceforge/cdrtools/${name}.tar.bz2"; md5 = "d44a81460e97ae02931c31188fe8d3fd"; }; @@ -24,6 +24,6 @@ stdenv.mkDerivation { meta = { description = "Highly portable CD/DVD/BluRay command line recording software (deprecated; use cdrkit instead)"; - homepage = http://cdrecord.berlios.de/old/private/cdrecord.html; + homepage = http://sourceforge.net/projects/cdrtools/; # berlios shut down; I found no better link }; } diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix index 048514ad4aa..3fecddcb316 100644 --- a/pkgs/applications/misc/dmenu/default.nix +++ b/pkgs/applications/misc/dmenu/default.nix @@ -19,6 +19,10 @@ stdenv.mkDerivation rec { patches = optional enableXft xftPatch; + postPatch = '' + sed -ri -e 's!\<(dmenu|stest)\>!'"$out/bin"'/&!g' dmenu_run + ''; + preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ]; meta = { diff --git a/pkgs/applications/misc/fbreader/default.nix b/pkgs/applications/misc/fbreader/default.nix index 612285c697c..2b193ef42cd 100644 --- a/pkgs/applications/misc/fbreader/default.nix +++ b/pkgs/applications/misc/fbreader/default.nix @@ -30,6 +30,6 @@ stdenv.mkDerivation { homepage = http://www.fbreader.org/; license = licenses.gpl3; platforms = platforms.linux; # possibly also on unix general - maintainer = [ maintainers.coroa ]; + maintainers = [ maintainers.coroa ]; }; } diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix index eb01baf44dd..57d677395b4 100644 --- a/pkgs/applications/misc/fetchmail/default.nix +++ b/pkgs/applications/misc/fetchmail/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation { name="fetchmail-${version}"; src = fetchurl { - url = "http://download.berlios.de/fetchmail/fetchmail-${version}.tar.bz2"; + url = "mirror://sourceforge/fetchmail.berlios/fetchmail-${version}.tar.bz2"; sha256 = "08rafrs1dlr11myr0p99kg4k80qyy0fa63gg3ac88zn49174lwhw"; }; diff --git a/pkgs/applications/misc/galculator/default.nix b/pkgs/applications/misc/galculator/default.nix new file mode 100644 index 00000000000..010f75a575e --- /dev/null +++ b/pkgs/applications/misc/galculator/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl +, intltool, pkgconfig, gtk + }: + +stdenv.mkDerivation rec { + + name = "galculator-${version}"; + version = "2.1.3"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/galculator/${name}.tar.gz"; + sha256 = "12m7dldjk10lpkdxk7zpk98n32ci65zmxidghihb7n1m3rhp3q17"; + }; + + buildInputs = [ intltool pkgconfig gtk ]; + + meta = { + description = "A GTK 2/3 algebraic and RPN calculator"; + longDescription = '' + galculator is a GTK 2 / GTK 3 based calculator. Its main features include: + + - Algebraic, RPN (Reverse Polish Notation), Formula Entry and Paper modes; + - Basic and Scientific Modes + - Decimal, hexadecimal, octal and binary number base + - Radiant, degree and grad support + - User defined constants and functions + - A bunch of common functions + - Binary arithmetic of configurable bit length and signedness + - Quad-precision floating point arithmetic, and 112-bit binary arithmetic + ''; + homepage = http://galculator.sourceforge.net/; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + }; +} diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix index 308b181fe88..08fad5a021d 100644 --- a/pkgs/applications/misc/get_iplayer/default.nix +++ b/pkgs/applications/misc/get_iplayer/default.nix @@ -1,6 +1,6 @@ {stdenv, fetchurl, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, vlc, rtmpdump}: buildPerlPackage { - name = "get_iplayer-2.83"; + name = "get_iplayer-2.86"; buildInputs = [makeWrapper perl]; propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP]; @@ -12,12 +12,12 @@ buildPerlPackage { mkdir -p $out/bin cp get_iplayer $out/bin sed -i 's|^update_script|#update_script|' $out/bin/get_iplayer - wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin + wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin --prefix PERL5LIB : $PERL5LIB ''; src = fetchurl { - url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.83.tar.gz; - sha256 = "169zji0rr3z5ng6r4cyzvs89779m4iklln9gsqpryvm81ipalfga"; + url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.86.tar.gz; + sha256 = "0zhcw0ikxrrz1jayx7jjgxmdf7gzk4pmzfvpraxmv64xwzgc1sc1"; }; } diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix index 7e67682f17f..1a0dea586d0 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.2.1"; + version = "3.7.3"; src = fetchurl { url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz"; - sha256 = "101wr19nxfc5x7i4s10vgrypaa0vj2pkg8b2vn5j5s9iv8gpwswc"; + sha256 = "0caj7dqppav53nhn0ima106hpsn0sakw57v1ihac9fk7ka0x2w8w"; }; buildInputs = [ diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix index 6d54032bb38..1a79af7cb57 100644 --- a/pkgs/applications/misc/keepassx/2.0.nix +++ b/pkgs/applications/misc/keepassx/2.0.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, cmake, libgcrypt, qt4, xlibs, ... }: stdenv.mkDerivation { - name = "keepassx-2.0alpha5"; + name = "keepassx2-2.0alpha5"; src = fetchurl { url = "https://github.com/keepassx/keepassx/archive/2.0-alpha5.tar.gz"; sha256 = "1vxj306zhrr38mvsy3vpjlg6d0xwlcvsi3l69nhhwzkccsc4smfm"; diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index ef7571f5d14..a89735c093f 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg +{ stdenv, fetchurl, fetchpatch, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg , libX11, libXext }: stdenv.mkDerivation rec { name = "mupdf-1.3"; @@ -8,23 +8,53 @@ stdenv.mkDerivation rec { sha256 = "0y247nka5gkr1ajn47jrlp5rcnf6h4ff7dfsprma3h4wxqdv7a5b"; }; - patches = [(fetchurl { + patches = [(fetchpatch { name = "CVE-2014-2013.patch"; url = "http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;" + "h=60dabde18d7fe12b19da8b509bdfee9cc886aafc"; - sha256 = "1walj3wir9x50i6lph33bx14c8593r9xrn08gkd3v7r6d15lmjps"; + sha256 = "0p721f3g2djz9fy6rcgj83c20f5k257wg2d0yvvmp02m7sp06l0g"; })]; buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ]; enableParallelBuilding = true; + my_soname = "libmupdf.so.1.3"; + my_soname_js_none = "libmupdf-js-none.so.1.3"; preBuild = '' - export makeFlags="prefix=$out build=release" + export makeFlags="prefix=$out build=release XCFLAGS=-fpic" export NIX_CFLAGS_COMPILE=" $NIX_CFLAGS_COMPILE -I$(echo ${openjpeg}/include/openjpeg-*) " + + # Copied from Gentoo ebuild + rm -rf thirdparty + sed -e "\$a\$(MUPDF_LIB): \$(MUPDF_JS_NONE_LIB)" \ + -e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname} -Wl,--no-undefined -o \$@ \$^ \$(MUPDF_JS_NONE_LIB) \$(LIBS)" \ + -e "/^MUPDF_LIB :=/s:=.*:= \$(OUT)/${my_soname}:" \ + -e "\$a\$(MUPDF_JS_NONE_LIB):" \ + -e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname_js_none} -Wl,--no-undefined -o \$@ \$^ \$(LIBS)" \ + -e "/^MUPDF_JS_NONE_LIB :=/s:=.*:= \$(OUT)/${my_soname_js_none}:" \ + -i Makefile + + sed -e "s/libopenjpeg1/libopenjp2/" -i Makerules ''; postInstall = '' + ln -s ${my_soname} $out/lib/libmupdf.so + + mkdir -p "$out/lib/pkgconfig" + cat >"$out/lib/pkgconfig/mupdf.pc" < $out/share/applications/mupdf.desktop <=7,\ + from distutils.core import setup, Extension, Command + from distutils.command.install_data import install_data + ++import matplotlib ++matplotlib.use('Agg') + from ocrolib import default ++ + modeldir = "models/" + modelfiles = default.installable + modelprefix = "http://iupr1.cs.uni-kl.de/~tmb/ocropus-models/" diff --git a/pkgs/applications/misc/posterazor/default.nix b/pkgs/applications/misc/posterazor/default.nix new file mode 100644 index 00000000000..0cad2fbd2cd --- /dev/null +++ b/pkgs/applications/misc/posterazor/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, cmake, unzip, pkgconfig, libXpm, fltk13, freeimage }: + +stdenv.mkDerivation rec { + name = "posterazor-1.5"; + + src = fetchurl { + url = "mirror://sourceforge/posterazor/1.5/PosteRazor-1.5-Source.zip"; + sha256 = "0xy313d2j57s4wy2y3hjapbjr5zfaki0lhkfz6nw2p9gylcmwmjy"; + }; + + buildInputs = [ cmake unzip pkgconfig libXpm fltk13 freeimage ]; + + unpackPhase = '' + unzip $src -d posterazor + cd posterazor/src + ''; + + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=667328 + patchPhase = '' + sed "s/\(#define CASESENSITIVESTRCMP strcasecmp\)/#include \n\1/" -i FlPosteRazorDialog.cpp + ''; + + installPhase = '' + mkdir -p $out/bin + cp PosteRazor $out/bin + ''; + + meta = { + homepage = "http://posterazor.sourceforge.net/"; + description = "The PosteRazor cuts a raster image into pieces which can afterwards be printed out and assembled to a poster"; + maintainers = [ stdenv.lib.maintainers.madjar ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix new file mode 100644 index 00000000000..38606d79873 --- /dev/null +++ b/pkgs/applications/misc/qtbitcointrader/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, qt4 }: + +let + version = "1.07.98"; +in +stdenv.mkDerivation { + name = "qtbitcointrader-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/bitcointrader/SRC/QtBitcoinTrader-${version}.tar.gz"; + sha256 = "1irz17q71fx64dfkmgajlyva7d1wifv4bxgb2iwz7d69rvhzaqzx"; + }; + + buildInputs = [ qt4 ]; + + postUnpack = "sourceRoot=\${sourceRoot}/src"; + + configurePhase = '' + qmake \ + PREFIX=$out \ + DESKTOPDIR=$out/share/applications \ + ICONDIR=$out/share/pixmaps \ + QtBitcoinTrader_Desktop.pro + ''; + + meta = { + description = "Secure bitcoin trading client"; + homepage = http://qtopentrader.com; + license = stdenv.lib.licenses.lgpl21Plus; + platforms = stdenv.lib.platforms.linux; # arbitrary choice + maintainers = [ stdenv.lib.maintainers.emery ]; + }; +} \ No newline at end of file diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix index 2e3ef9f0d10..7392123673a 100644 --- a/pkgs/applications/misc/rxvt_unicode/default.nix +++ b/pkgs/applications/misc/rxvt_unicode/default.nix @@ -1,19 +1,20 @@ { stdenv, fetchurl, perlSupport, libX11, libXt, libXft, ncurses, perl, - fontconfig, freetype, pkgconfig, libXrender, gdkPixbufSupport, gdk_pixbuf }: + fontconfig, freetype, pkgconfig, libXrender, gdkPixbufSupport, gdk_pixbuf, + unicode3Support }: let name = "rxvt-unicode"; - version = "9.16"; + version = "9.20"; n = "${name}-${version}"; in stdenv.mkDerivation (rec { - name = "${n}${if perlSupport then "-with-perl" else ""}"; + name = "${n}${if perlSupport then "-with-perl" else ""}${if unicode3Support then "-with-unicode3" else ""}"; src = fetchurl { url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2"; - sha256 = "0x28wyslqnhn2q11y4hncqdl07wgh5ypywl92fq0jxycr36ibfvn"; + sha256 = "e73e13fe64b59fd3c8e6e20c00f149d388741f141b8155e4700d3ed40aa94b4e"; }; buildInputs = @@ -24,12 +25,15 @@ stdenv.mkDerivation (rec { outputs = [ "out" "terminfo" ]; - patches = [ ./rxvt-unicode-9.06-font-width.patch ]; + patches = [ + ./rxvt-unicode-9.06-font-width.patch + ./rxvt-unicode-256-color-resources.patch + ]; preConfigure = '' mkdir -p $terminfo/share/terminfo - configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"}"; + configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"} ${if unicode3Support then "--enable-unicode3" else "--disable-unicode3"}"; export TERMINFO=$terminfo/share/terminfo # without this the terminfo won't be compiled by tic, see man tic NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2" NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender " diff --git a/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-256-color-resources.patch b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-256-color-resources.patch new file mode 100644 index 00000000000..c8d2acfbdc5 --- /dev/null +++ b/pkgs/applications/misc/rxvt_unicode/rxvt-unicode-256-color-resources.patch @@ -0,0 +1,255 @@ +diff --git a/src/xdefaults.C b/src/xdefaults.C +index 23b6822..382f3b1 100644 +--- a/src/xdefaults.C ++++ b/src/xdefaults.C +@@ -155,6 +155,250 @@ optList[] = { + RSTRG (Rs_color + minCOLOR + 5, "color5", "color"), + RSTRG (Rs_color + minCOLOR + 6, "color6", "color"), + RSTRG (Rs_color + minCOLOR + 7, "color7", "color"), ++ // 88 xterm colors ++ RSTRG (Rs_color + minCOLOR + 16, "color16", "color"), ++ RSTRG (Rs_color + minCOLOR + 17, "color17", "color"), ++ RSTRG (Rs_color + minCOLOR + 18, "color18", "color"), ++ RSTRG (Rs_color + minCOLOR + 19, "color19", "color"), ++ RSTRG (Rs_color + minCOLOR + 20, "color20", "color"), ++ RSTRG (Rs_color + minCOLOR + 21, "color21", "color"), ++ RSTRG (Rs_color + minCOLOR + 22, "color22", "color"), ++ RSTRG (Rs_color + minCOLOR + 23, "color23", "color"), ++ RSTRG (Rs_color + minCOLOR + 24, "color24", "color"), ++ RSTRG (Rs_color + minCOLOR + 25, "color25", "color"), ++ RSTRG (Rs_color + minCOLOR + 26, "color26", "color"), ++ RSTRG (Rs_color + minCOLOR + 27, "color27", "color"), ++ RSTRG (Rs_color + minCOLOR + 28, "color28", "color"), ++ RSTRG (Rs_color + minCOLOR + 29, "color29", "color"), ++ RSTRG (Rs_color + minCOLOR + 30, "color30", "color"), ++ RSTRG (Rs_color + minCOLOR + 31, "color31", "color"), ++ RSTRG (Rs_color + minCOLOR + 32, "color32", "color"), ++ RSTRG (Rs_color + minCOLOR + 33, "color33", "color"), ++ RSTRG (Rs_color + minCOLOR + 34, "color34", "color"), ++ RSTRG (Rs_color + minCOLOR + 35, "color35", "color"), ++ RSTRG (Rs_color + minCOLOR + 36, "color36", "color"), ++ RSTRG (Rs_color + minCOLOR + 37, "color37", "color"), ++ RSTRG (Rs_color + minCOLOR + 38, "color38", "color"), ++ RSTRG (Rs_color + minCOLOR + 39, "color39", "color"), ++ RSTRG (Rs_color + minCOLOR + 40, "color40", "color"), ++ RSTRG (Rs_color + minCOLOR + 41, "color41", "color"), ++ RSTRG (Rs_color + minCOLOR + 42, "color42", "color"), ++ RSTRG (Rs_color + minCOLOR + 43, "color43", "color"), ++ RSTRG (Rs_color + minCOLOR + 44, "color44", "color"), ++ RSTRG (Rs_color + minCOLOR + 45, "color45", "color"), ++ RSTRG (Rs_color + minCOLOR + 46, "color46", "color"), ++ RSTRG (Rs_color + minCOLOR + 47, "color47", "color"), ++ RSTRG (Rs_color + minCOLOR + 48, "color48", "color"), ++ RSTRG (Rs_color + minCOLOR + 49, "color49", "color"), ++ RSTRG (Rs_color + minCOLOR + 50, "color50", "color"), ++ RSTRG (Rs_color + minCOLOR + 51, "color51", "color"), ++ RSTRG (Rs_color + minCOLOR + 52, "color52", "color"), ++ RSTRG (Rs_color + minCOLOR + 53, "color53", "color"), ++ RSTRG (Rs_color + minCOLOR + 54, "color54", "color"), ++ RSTRG (Rs_color + minCOLOR + 55, "color55", "color"), ++ RSTRG (Rs_color + minCOLOR + 56, "color56", "color"), ++ RSTRG (Rs_color + minCOLOR + 57, "color57", "color"), ++ RSTRG (Rs_color + minCOLOR + 58, "color58", "color"), ++ RSTRG (Rs_color + minCOLOR + 59, "color59", "color"), ++ RSTRG (Rs_color + minCOLOR + 60, "color60", "color"), ++ RSTRG (Rs_color + minCOLOR + 61, "color61", "color"), ++ RSTRG (Rs_color + minCOLOR + 62, "color62", "color"), ++ RSTRG (Rs_color + minCOLOR + 63, "color63", "color"), ++ RSTRG (Rs_color + minCOLOR + 64, "color64", "color"), ++ RSTRG (Rs_color + minCOLOR + 65, "color65", "color"), ++ RSTRG (Rs_color + minCOLOR + 66, "color66", "color"), ++ RSTRG (Rs_color + minCOLOR + 67, "color67", "color"), ++ RSTRG (Rs_color + minCOLOR + 68, "color68", "color"), ++ RSTRG (Rs_color + minCOLOR + 69, "color69", "color"), ++ RSTRG (Rs_color + minCOLOR + 70, "color70", "color"), ++ RSTRG (Rs_color + minCOLOR + 71, "color71", "color"), ++ RSTRG (Rs_color + minCOLOR + 72, "color72", "color"), ++ RSTRG (Rs_color + minCOLOR + 73, "color73", "color"), ++ RSTRG (Rs_color + minCOLOR + 74, "color74", "color"), ++ RSTRG (Rs_color + minCOLOR + 75, "color75", "color"), ++ RSTRG (Rs_color + minCOLOR + 76, "color76", "color"), ++ RSTRG (Rs_color + minCOLOR + 77, "color77", "color"), ++ RSTRG (Rs_color + minCOLOR + 78, "color78", "color"), ++ RSTRG (Rs_color + minCOLOR + 79, "color79", "color"), ++ RSTRG (Rs_color + minCOLOR + 80, "color80", "color"), ++ RSTRG (Rs_color + minCOLOR + 81, "color81", "color"), ++ RSTRG (Rs_color + minCOLOR + 82, "color82", "color"), ++ RSTRG (Rs_color + minCOLOR + 83, "color83", "color"), ++ RSTRG (Rs_color + minCOLOR + 84, "color84", "color"), ++ RSTRG (Rs_color + minCOLOR + 85, "color85", "color"), ++ RSTRG (Rs_color + minCOLOR + 86, "color86", "color"), ++ RSTRG (Rs_color + minCOLOR + 87, "color87", "color"), ++#if USE_256_COLORS ++ // 256 xterm colors ++ RSTRG (Rs_color + minCOLOR + 88, "color88", "color"), ++ RSTRG (Rs_color + minCOLOR + 89, "color89", "color"), ++ RSTRG (Rs_color + minCOLOR + 90, "color90", "color"), ++ RSTRG (Rs_color + minCOLOR + 91, "color91", "color"), ++ RSTRG (Rs_color + minCOLOR + 92, "color92", "color"), ++ RSTRG (Rs_color + minCOLOR + 93, "color93", "color"), ++ RSTRG (Rs_color + minCOLOR + 94, "color94", "color"), ++ RSTRG (Rs_color + minCOLOR + 95, "color95", "color"), ++ RSTRG (Rs_color + minCOLOR + 96, "color96", "color"), ++ RSTRG (Rs_color + minCOLOR + 97, "color97", "color"), ++ RSTRG (Rs_color + minCOLOR + 98, "color98", "color"), ++ RSTRG (Rs_color + minCOLOR + 99, "color99", "color"), ++ RSTRG (Rs_color + minCOLOR + 100, "color100", "color"), ++ RSTRG (Rs_color + minCOLOR + 101, "color101", "color"), ++ RSTRG (Rs_color + minCOLOR + 102, "color102", "color"), ++ RSTRG (Rs_color + minCOLOR + 103, "color103", "color"), ++ RSTRG (Rs_color + minCOLOR + 104, "color104", "color"), ++ RSTRG (Rs_color + minCOLOR + 105, "color105", "color"), ++ RSTRG (Rs_color + minCOLOR + 106, "color106", "color"), ++ RSTRG (Rs_color + minCOLOR + 107, "color107", "color"), ++ RSTRG (Rs_color + minCOLOR + 108, "color108", "color"), ++ RSTRG (Rs_color + minCOLOR + 109, "color109", "color"), ++ RSTRG (Rs_color + minCOLOR + 110, "color110", "color"), ++ RSTRG (Rs_color + minCOLOR + 111, "color111", "color"), ++ RSTRG (Rs_color + minCOLOR + 112, "color112", "color"), ++ RSTRG (Rs_color + minCOLOR + 113, "color113", "color"), ++ RSTRG (Rs_color + minCOLOR + 114, "color114", "color"), ++ RSTRG (Rs_color + minCOLOR + 115, "color115", "color"), ++ RSTRG (Rs_color + minCOLOR + 116, "color116", "color"), ++ RSTRG (Rs_color + minCOLOR + 117, "color117", "color"), ++ RSTRG (Rs_color + minCOLOR + 118, "color118", "color"), ++ RSTRG (Rs_color + minCOLOR + 119, "color119", "color"), ++ RSTRG (Rs_color + minCOLOR + 120, "color120", "color"), ++ RSTRG (Rs_color + minCOLOR + 121, "color121", "color"), ++ RSTRG (Rs_color + minCOLOR + 122, "color122", "color"), ++ RSTRG (Rs_color + minCOLOR + 123, "color123", "color"), ++ RSTRG (Rs_color + minCOLOR + 124, "color124", "color"), ++ RSTRG (Rs_color + minCOLOR + 125, "color125", "color"), ++ RSTRG (Rs_color + minCOLOR + 126, "color126", "color"), ++ RSTRG (Rs_color + minCOLOR + 127, "color127", "color"), ++ RSTRG (Rs_color + minCOLOR + 128, "color128", "color"), ++ RSTRG (Rs_color + minCOLOR + 129, "color129", "color"), ++ RSTRG (Rs_color + minCOLOR + 130, "color130", "color"), ++ RSTRG (Rs_color + minCOLOR + 131, "color131", "color"), ++ RSTRG (Rs_color + minCOLOR + 132, "color132", "color"), ++ RSTRG (Rs_color + minCOLOR + 133, "color133", "color"), ++ RSTRG (Rs_color + minCOLOR + 134, "color134", "color"), ++ RSTRG (Rs_color + minCOLOR + 135, "color135", "color"), ++ RSTRG (Rs_color + minCOLOR + 136, "color136", "color"), ++ RSTRG (Rs_color + minCOLOR + 137, "color137", "color"), ++ RSTRG (Rs_color + minCOLOR + 138, "color138", "color"), ++ RSTRG (Rs_color + minCOLOR + 139, "color139", "color"), ++ RSTRG (Rs_color + minCOLOR + 140, "color140", "color"), ++ RSTRG (Rs_color + minCOLOR + 141, "color141", "color"), ++ RSTRG (Rs_color + minCOLOR + 142, "color142", "color"), ++ RSTRG (Rs_color + minCOLOR + 143, "color143", "color"), ++ RSTRG (Rs_color + minCOLOR + 144, "color144", "color"), ++ RSTRG (Rs_color + minCOLOR + 145, "color145", "color"), ++ RSTRG (Rs_color + minCOLOR + 146, "color146", "color"), ++ RSTRG (Rs_color + minCOLOR + 147, "color147", "color"), ++ RSTRG (Rs_color + minCOLOR + 148, "color148", "color"), ++ RSTRG (Rs_color + minCOLOR + 149, "color149", "color"), ++ RSTRG (Rs_color + minCOLOR + 150, "color150", "color"), ++ RSTRG (Rs_color + minCOLOR + 151, "color151", "color"), ++ RSTRG (Rs_color + minCOLOR + 152, "color152", "color"), ++ RSTRG (Rs_color + minCOLOR + 153, "color153", "color"), ++ RSTRG (Rs_color + minCOLOR + 154, "color154", "color"), ++ RSTRG (Rs_color + minCOLOR + 155, "color155", "color"), ++ RSTRG (Rs_color + minCOLOR + 156, "color156", "color"), ++ RSTRG (Rs_color + minCOLOR + 157, "color157", "color"), ++ RSTRG (Rs_color + minCOLOR + 158, "color158", "color"), ++ RSTRG (Rs_color + minCOLOR + 159, "color159", "color"), ++ RSTRG (Rs_color + minCOLOR + 160, "color160", "color"), ++ RSTRG (Rs_color + minCOLOR + 161, "color161", "color"), ++ RSTRG (Rs_color + minCOLOR + 162, "color162", "color"), ++ RSTRG (Rs_color + minCOLOR + 163, "color163", "color"), ++ RSTRG (Rs_color + minCOLOR + 164, "color164", "color"), ++ RSTRG (Rs_color + minCOLOR + 165, "color165", "color"), ++ RSTRG (Rs_color + minCOLOR + 166, "color166", "color"), ++ RSTRG (Rs_color + minCOLOR + 167, "color167", "color"), ++ RSTRG (Rs_color + minCOLOR + 168, "color168", "color"), ++ RSTRG (Rs_color + minCOLOR + 169, "color169", "color"), ++ RSTRG (Rs_color + minCOLOR + 170, "color170", "color"), ++ RSTRG (Rs_color + minCOLOR + 171, "color171", "color"), ++ RSTRG (Rs_color + minCOLOR + 172, "color172", "color"), ++ RSTRG (Rs_color + minCOLOR + 173, "color173", "color"), ++ RSTRG (Rs_color + minCOLOR + 174, "color174", "color"), ++ RSTRG (Rs_color + minCOLOR + 175, "color175", "color"), ++ RSTRG (Rs_color + minCOLOR + 176, "color176", "color"), ++ RSTRG (Rs_color + minCOLOR + 177, "color177", "color"), ++ RSTRG (Rs_color + minCOLOR + 178, "color178", "color"), ++ RSTRG (Rs_color + minCOLOR + 179, "color179", "color"), ++ RSTRG (Rs_color + minCOLOR + 180, "color180", "color"), ++ RSTRG (Rs_color + minCOLOR + 181, "color181", "color"), ++ RSTRG (Rs_color + minCOLOR + 182, "color182", "color"), ++ RSTRG (Rs_color + minCOLOR + 183, "color183", "color"), ++ RSTRG (Rs_color + minCOLOR + 184, "color184", "color"), ++ RSTRG (Rs_color + minCOLOR + 185, "color185", "color"), ++ RSTRG (Rs_color + minCOLOR + 186, "color186", "color"), ++ RSTRG (Rs_color + minCOLOR + 187, "color187", "color"), ++ RSTRG (Rs_color + minCOLOR + 188, "color188", "color"), ++ RSTRG (Rs_color + minCOLOR + 189, "color189", "color"), ++ RSTRG (Rs_color + minCOLOR + 190, "color190", "color"), ++ RSTRG (Rs_color + minCOLOR + 191, "color191", "color"), ++ RSTRG (Rs_color + minCOLOR + 192, "color192", "color"), ++ RSTRG (Rs_color + minCOLOR + 193, "color193", "color"), ++ RSTRG (Rs_color + minCOLOR + 194, "color194", "color"), ++ RSTRG (Rs_color + minCOLOR + 195, "color195", "color"), ++ RSTRG (Rs_color + minCOLOR + 196, "color196", "color"), ++ RSTRG (Rs_color + minCOLOR + 197, "color197", "color"), ++ RSTRG (Rs_color + minCOLOR + 198, "color198", "color"), ++ RSTRG (Rs_color + minCOLOR + 199, "color199", "color"), ++ RSTRG (Rs_color + minCOLOR + 200, "color200", "color"), ++ RSTRG (Rs_color + minCOLOR + 201, "color201", "color"), ++ RSTRG (Rs_color + minCOLOR + 202, "color202", "color"), ++ RSTRG (Rs_color + minCOLOR + 203, "color203", "color"), ++ RSTRG (Rs_color + minCOLOR + 204, "color204", "color"), ++ RSTRG (Rs_color + minCOLOR + 205, "color205", "color"), ++ RSTRG (Rs_color + minCOLOR + 206, "color206", "color"), ++ RSTRG (Rs_color + minCOLOR + 207, "color207", "color"), ++ RSTRG (Rs_color + minCOLOR + 208, "color208", "color"), ++ RSTRG (Rs_color + minCOLOR + 209, "color209", "color"), ++ RSTRG (Rs_color + minCOLOR + 210, "color210", "color"), ++ RSTRG (Rs_color + minCOLOR + 211, "color211", "color"), ++ RSTRG (Rs_color + minCOLOR + 212, "color212", "color"), ++ RSTRG (Rs_color + minCOLOR + 213, "color213", "color"), ++ RSTRG (Rs_color + minCOLOR + 214, "color214", "color"), ++ RSTRG (Rs_color + minCOLOR + 215, "color215", "color"), ++ RSTRG (Rs_color + minCOLOR + 216, "color216", "color"), ++ RSTRG (Rs_color + minCOLOR + 217, "color217", "color"), ++ RSTRG (Rs_color + minCOLOR + 218, "color218", "color"), ++ RSTRG (Rs_color + minCOLOR + 219, "color219", "color"), ++ RSTRG (Rs_color + minCOLOR + 220, "color220", "color"), ++ RSTRG (Rs_color + minCOLOR + 221, "color221", "color"), ++ RSTRG (Rs_color + minCOLOR + 222, "color222", "color"), ++ RSTRG (Rs_color + minCOLOR + 223, "color223", "color"), ++ RSTRG (Rs_color + minCOLOR + 224, "color224", "color"), ++ RSTRG (Rs_color + minCOLOR + 225, "color225", "color"), ++ RSTRG (Rs_color + minCOLOR + 226, "color226", "color"), ++ RSTRG (Rs_color + minCOLOR + 227, "color227", "color"), ++ RSTRG (Rs_color + minCOLOR + 228, "color228", "color"), ++ RSTRG (Rs_color + minCOLOR + 229, "color229", "color"), ++ RSTRG (Rs_color + minCOLOR + 230, "color230", "color"), ++ RSTRG (Rs_color + minCOLOR + 231, "color231", "color"), ++ RSTRG (Rs_color + minCOLOR + 232, "color232", "color"), ++ RSTRG (Rs_color + minCOLOR + 233, "color233", "color"), ++ RSTRG (Rs_color + minCOLOR + 234, "color234", "color"), ++ RSTRG (Rs_color + minCOLOR + 235, "color235", "color"), ++ RSTRG (Rs_color + minCOLOR + 236, "color236", "color"), ++ RSTRG (Rs_color + minCOLOR + 237, "color237", "color"), ++ RSTRG (Rs_color + minCOLOR + 238, "color238", "color"), ++ RSTRG (Rs_color + minCOLOR + 239, "color239", "color"), ++ RSTRG (Rs_color + minCOLOR + 240, "color240", "color"), ++ RSTRG (Rs_color + minCOLOR + 241, "color241", "color"), ++ RSTRG (Rs_color + minCOLOR + 242, "color242", "color"), ++ RSTRG (Rs_color + minCOLOR + 243, "color243", "color"), ++ RSTRG (Rs_color + minCOLOR + 244, "color244", "color"), ++ RSTRG (Rs_color + minCOLOR + 245, "color245", "color"), ++ RSTRG (Rs_color + minCOLOR + 246, "color246", "color"), ++ RSTRG (Rs_color + minCOLOR + 247, "color247", "color"), ++ RSTRG (Rs_color + minCOLOR + 248, "color248", "color"), ++ RSTRG (Rs_color + minCOLOR + 249, "color249", "color"), ++ RSTRG (Rs_color + minCOLOR + 250, "color250", "color"), ++ RSTRG (Rs_color + minCOLOR + 251, "color251", "color"), ++ RSTRG (Rs_color + minCOLOR + 252, "color252", "color"), ++ RSTRG (Rs_color + minCOLOR + 253, "color253", "color"), ++ RSTRG (Rs_color + minCOLOR + 254, "color254", "color"), ++ RSTRG (Rs_color + minCOLOR + 255, "color255", "color"), ++#endif + RSTRG (Rs_color + minBrightCOLOR + 0, "color8", "color"), + RSTRG (Rs_color + minBrightCOLOR + 1, "color9", "color"), + RSTRG (Rs_color + minBrightCOLOR + 2, "color10", "color"), diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix index e1f98fceace..7dbe723d9eb 100644 --- a/pkgs/applications/misc/spacefm/default.nix +++ b/pkgs/applications/misc/spacefm/default.nix @@ -15,9 +15,9 @@ in stdenv.mkDerivation rec { 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/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix index dc1fce1d64c..998c34e5610 100644 --- a/pkgs/applications/misc/taskwarrior/default.nix +++ b/pkgs/applications/misc/taskwarrior/default.nix @@ -1,17 +1,17 @@ -{stdenv, fetchurl, cmake}: +{ stdenv, fetchurl, cmake, libuuid }: stdenv.mkDerivation rec { name = "taskwarrior-${version}"; - version = "2.2.0"; + version = "2.3.0"; enableParallelBuilding = true; src = fetchurl { url = "http://www.taskwarrior.org/download/task-${version}.tar.gz"; - sha256 = "057fh50qp9bd5s08rw51iybpamn55v5nhn3s6ds89g76hp95vqir"; + sha256 = "0wxcfq0n96vmcbwrlk2x377k8cc5k4i64ca6p02y74g6168ji6ib"; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake libuuid ]; meta = { description = "GTD (getting things done) implementation"; diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix index 4af565d717a..5abf57ae1fc 100644 --- a/pkgs/applications/misc/vifm/default.nix +++ b/pkgs/applications/misc/vifm/default.nix @@ -2,17 +2,16 @@ let name = "vifm-${version}"; - version = "0.7.6"; + version = "0.7.7"; in stdenv.mkDerivation { inherit name; src = fetchurl { - url="mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2"; - sha256 ="03v50hmgfvrci5fz31zmklmp6ix7qpqnhvm6639wbk3g5mcrh5w6"; + url = "mirror://sourceforge/project/vifm/vifm/${name}.tar.bz2"; + sha256 = "1lflmkd5q7qqi9d44py0y41pcx5bsadkihn3gc0x5cka04f2gh0d"; }; - #phaseNames = ["doConfigure" "doMakeInstall"]; buildInputs = [ utillinux ncurses file libX11 ]; meta = { diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix index fb6b011f30a..0bc2170340c 100644 --- a/pkgs/applications/misc/xca/default.nix +++ b/pkgs/applications/misc/xca/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool }: +{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool, gcc, makeWrapper }: stdenv.mkDerivation rec { name = "xca-${version}"; @@ -15,7 +15,12 @@ stdenv.mkDerivation rec { prefix=$out ./configure ${openssl} ${libtool} ''; - buildInputs = [ openssl qt4 libtool ]; + postInstall = '' + wrapProgram "$out/bin/xca" \ + --prefix LD_LIBRARY_PATH : "${qt4}/lib:${gcc.gcc}/lib:${gcc.gcc}/lib64:${openssl}/lib:${libtool}/lib" + ''; + + buildInputs = [ openssl qt4 libtool gcc makeWrapper ]; nativeBuildInputs = [ pkgconfig ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix index a7aeed339e2..acd0568772a 100644 --- a/pkgs/applications/misc/xmobar/default.nix +++ b/pkgs/applications/misc/xmobar/default.nix @@ -1,5 +1,6 @@ -{ cabal, alsaCore, alsaMixer, filepath, HTTP, libXrandr, mtl -, parsec, regexCompat, stm, time, utf8String, wirelesstools, X11 +{ cabal, alsaCore, alsaMixer, dbus, filepath, hinotify, HTTP +, libmpd, libXrandr, mtl, parsec, regexCompat, stm, time +, timezoneOlson, timezoneSeries, utf8String, wirelesstools, X11 , X11Xft }: @@ -10,11 +11,12 @@ cabal.mkDerivation (self: { isLibrary = false; isExecutable = true; buildDepends = [ - alsaCore alsaMixer filepath HTTP mtl parsec regexCompat stm time - utf8String X11 X11Xft + alsaCore alsaMixer dbus filepath hinotify HTTP libmpd mtl parsec + regexCompat stm time timezoneOlson timezoneSeries utf8String X11 + X11Xft ]; extraLibraries = [ libXrandr wirelesstools ]; - configureFlags = "-fwith_xft -fwith_iwlib -fwith_alsa"; + configureFlags = "-fall_extensions"; meta = { homepage = "http://projects.haskell.org/xmobar/"; description = "A Minimalistic Text Based Status Bar"; diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix index f943bff7bf0..1a4ab3d772c 100644 --- a/pkgs/applications/misc/zathura/default.nix +++ b/pkgs/applications/misc/zathura/default.nix @@ -1,4 +1,4 @@ -{ callPackage, pkgs, fetchurl }: +{ callPackage, pkgs, fetchurl, useMupdf }: rec { inherit (pkgs) stdenv; @@ -12,6 +12,10 @@ rec { zathura_pdf_poppler = callPackage ./pdf-poppler { }; + zathura_pdf_mupdf = callPackage ./pdf-mupdf { + gtk = pkgs.gtk3; + }; + zathura_djvu = callPackage ./djvu { gtk = pkgs.gtk3; }; @@ -27,9 +31,9 @@ rec { name = "zathura-${zathura_core.version}"; plugins_path = stdenv.lib.makeSearchPath "lib" [ - zathura_pdf_poppler zathura_djvu zathura_ps + (if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler) ]; builder = ./builder.sh; diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/config.patch b/pkgs/applications/misc/zathura/pdf-mupdf/config.patch new file mode 100644 index 00000000000..c7d172c9263 --- /dev/null +++ b/pkgs/applications/misc/zathura/pdf-mupdf/config.patch @@ -0,0 +1,17 @@ +--- zathura-pdf-mupdf-0.2.6/config.mk ++++ zathura-pdf-mupdf-0.2.6/config.mk +@@ -32,10 +32,11 @@ + OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto) + OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto) + +-MUPDF_LIB ?= -lmupdf -lmupdf-js-none ++MUPDF_INC ?= $(shell pkg-config --cflags mupdf) ++MUPDF_LIB ?= $(shell pkg-config --libs mupdf) + +-INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC} +-LIBS = ${GTK_LIB} ${GIRARA_LIB} ${MUPDF_LIB} ${OPENSSL_LIB} -ljbig2dec -lopenjp2 -ljpeg ++INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC} ${MUPDF_INC} ++LIBS = ${GTK_LIB} ${GIRARA_LIB} ${OPENSSL_LIB} ${MUPDF_LIB} -ljbig2dec -ljpeg + + # flags + CFLAGS += -std=c99 -fPIC -pedantic -Wall -Wno-format-zero-length $(INCS) diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix new file mode 100644 index 00000000000..4e585d852a2 --- /dev/null +++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl, openjpeg, libjpeg, jbig2dec }: + +stdenv.mkDerivation rec { + version = "0.2.6"; + name = "zathura-pdf-mupdf-${version}"; + + src = fetchurl { + url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz"; + sha256 = "5df94b6f906008b5f3bca770a552da6d2917d6b8d3e4b3049cb7001302041b20"; + }; + + buildInputs = [ pkgconfig zathura_core gtk girara openssl mupdf openjpeg libjpeg jbig2dec ]; + + makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib"; + + preConfigure = "patch -p1 < ${./config.patch}"; + + meta = { + homepage = http://pwmt.org/projects/zathura/; + description = "A zathura PDF plugin (mupdf)"; + longDescription = '' + The zathura-pdf-mupdf plugin adds PDF support to zathura by + using the mupdf rendering library. + ''; + license = stdenv.lib.licenses.zlib; + platforms = stdenv.lib.platforms.linux; +# maintainers = [ ]; + }; +} diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix index ce4894e6c0f..6625bf47194 100644 --- a/pkgs/applications/misc/zathura/pdf-poppler/default.nix +++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler, gettext }: +{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler }: stdenv.mkDerivation rec { version = "0.2.5"; @@ -9,16 +9,16 @@ stdenv.mkDerivation rec { sha256 = "1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0"; }; - buildInputs = [ pkgconfig poppler gettext zathura_core girara ]; + buildInputs = [ pkgconfig poppler zathura_core girara ]; makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib"; meta = { homepage = http://pwmt.org/projects/zathura/; - description = "A zathura PDF plugin"; + description = "A zathura PDF plugin (poppler)"; longDescription = '' The zathura-pdf-poppler plugin adds PDF support to zathura by - using the poppler rendering engine. + using the poppler rendering library. ''; license = stdenv.lib.licenses.zlib; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix index c260b75c9fe..abb94a32bd7 100644 --- a/pkgs/applications/networking/bittorrentsync/default.nix +++ b/pkgs/applications/networking/bittorrentsync/default.nix @@ -5,15 +5,15 @@ let else if stdenv.system == "i686-linux" then "i386" else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - sha256 = if stdenv.system == "x86_64-linux" then "1x95pag8ncjx3svm4424fjk5nmbdg8m87fsxy9sc63ba3qs9645j" - else if stdenv.system == "i686-linux" then "0l8d85ib6kbpz5sh9v0qga03i4xph61iiy9xlhazm9h30d5a6l8v" + sha256 = if stdenv.system == "x86_64-linux" then "1xba0wv45w4kg84i5sywkfk44vj9wxkr7f1vga2mpz86j8vq25iy" + else if stdenv.system == "i686-linux" then "10ml1wclix9236zcb4mh60hdm9vvfaarlb62z7fdrwk6ikqbm7fk" else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ]; in stdenv.mkDerivation rec { name = "btsync-${version}"; - version = "1.3.77"; + version = "1.3.94"; src = fetchurl { url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz"; diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix new file mode 100644 index 00000000000..a4b99bc5802 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -0,0 +1,40 @@ +{ stdenv, mkChromiumDerivation }: + +with stdenv.lib; + +mkChromiumDerivation (base: rec { + name = "chromium-browser"; + packageName = "chromium"; + buildTargets = [ "chrome" ]; + + installPhase = '' + ensureDir "$libExecPath" + cp -v "$buildPath/"*.pak "$libExecPath/" + cp -v "$buildPath/icudtl.dat" "$libExecPath/" + cp -vR "$buildPath/locales" "$buildPath/resources" "$libExecPath/" + cp -v $buildPath/libffmpegsumo.so "$libExecPath/" + + cp -v "$buildPath/chrome" "$libExecPath/$packageName" + + mkdir -vp "$out/share/man/man1" + cp -v "$buildPath/chrome.1" "$out/share/man/man1/$packageName.1" + + for icon_file in chrome/app/theme/chromium/product_logo_*[0-9].png; do + num_and_suffix="''${icon_file##*logo_}" + icon_size="''${num_and_suffix%.*}" + expr "$icon_size" : "^[0-9][0-9]*$" || continue + logo_output_prefix="$out/share/icons/hicolor" + logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps" + mkdir -vp "$logo_output_path" + cp -v "$icon_file" "$logo_output_path/$packageName.png" + done + ''; + + meta = { + description = "An open source web browser from Google"; + homepage = http://www.chromium.org/; + maintainers = with maintainers; [ goibhniu chaoflow aszlig wizeman ]; + license = licenses.bsd3; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix new file mode 100644 index 00000000000..69e54e25c37 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -0,0 +1,206 @@ +{ stdenv, fetchurl, ninja, which + +# default dependencies +, bzip2, flac, speex, icu, libopus +, libevent, expat, libjpeg, snappy +, libpng, libxml2, libxslt +, xdg_utils, yasm, minizip, libwebp +, libusb1, libexif, pciutils + +, python, pythonPackages, perl, pkgconfig +, nspr, udev, krb5 +, utillinux, alsaLib +, gcc, bison, gperf +, glib, gtk, dbus_glib +, libXScrnSaver, libXcursor, libXtst, mesa +, protobuf, speechd, libXdamage + +# optional dependencies +, libgcrypt ? null # gnomeSupport || cupsSupport + +# package customization +, enableSELinux ? false, libselinux ? null +, enableNaCl ? false +, useOpenSSL ? false, nss ? null, openssl ? null +, gnomeSupport ? false, gnome ? null +, gnomeKeyringSupport ? false, libgnome_keyring3 ? null +, proprietaryCodecs ? true +, cupsSupport ? false +, pulseSupport ? false, pulseaudio ? null + +, source +, plugins +}: + +buildFun: + +with stdenv.lib; + +let + # The additional attributes for creating derivations based on the chromium + # source tree. + extraAttrs = buildFun base; + + mkGypFlags = + let + sanitize = value: + if value == true then "1" + else if value == false then "0" + else "${value}"; + toFlag = key: value: "-D${key}=${sanitize value}"; + in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs)); + + gypFlagsUseSystemLibs = { + use_system_bzip2 = true; + use_system_flac = true; + use_system_libevent = true; + use_system_libexpat = true; + use_system_libexif = true; + use_system_libjpeg = true; + use_system_libpng = true; + use_system_libwebp = true; + use_system_libxml = true; + use_system_opus = true; + use_system_snappy = true; + use_system_speex = true; + use_system_ssl = useOpenSSL; + use_system_stlport = true; + use_system_xdg_utils = true; + use_system_yasm = true; + use_system_zlib = false; + use_system_protobuf = true; + + use_system_harfbuzz = false; + use_system_icu = false; # Doesn't support ICU 52 yet. + use_system_libusb = false; # http://crbug.com/266149 + use_system_skia = false; + use_system_sqlite = false; # http://crbug.com/22208 + use_system_v8 = false; + }; + + opusWithCustomModes = libopus.override { + withCustomModes = !versionOlder source.version "35.0.0.0"; + }; + + defaultDependencies = [ + bzip2 flac speex icu opusWithCustomModes + libevent expat libjpeg snappy + libpng libxml2 libxslt + xdg_utils yasm minizip libwebp + libusb1 libexif + ]; + + # build paths and release info + packageName = extraAttrs.packageName or extraAttrs.name; + buildType = "Release"; + buildPath = "out/${buildType}"; + libExecPath = "$out/libexec/${packageName}"; + + base = rec { + name = "${packageName}-${version}"; + inherit (source) version; + inherit packageName buildType buildPath; + src = source; + + buildInputs = defaultDependencies ++ [ + which + python perl pkgconfig + nspr udev + (if useOpenSSL then openssl else nss) + utillinux alsaLib + gcc bison gperf krb5 + glib gtk dbus_glib + libXScrnSaver libXcursor libXtst mesa + pciutils protobuf speechd libXdamage + pythonPackages.gyp pythonPackages.ply pythonPackages.jinja2 + ] ++ optional gnomeKeyringSupport libgnome_keyring3 + ++ optionals gnomeSupport [ gnome.GConf libgcrypt ] + ++ optional enableSELinux libselinux + ++ optional cupsSupport libgcrypt + ++ optional pulseSupport pulseaudio; + + # XXX: Wait for https://crbug.com/239107 and https://crbug.com/239181 to + # be fixed, then try again to unbundle everything into separate + # derivations. + prePatch = '' + cp -dsr --no-preserve=mode "${source.main}"/* . + cp -dsr --no-preserve=mode "${source.sandbox}" sandbox + cp -dr "${source.bundled}" third_party + chmod -R u+w third_party + + # Hardcode source tree root in all gyp files + find -iname '*.gyp*' \( -type f -o -type l \) \ + -exec sed -i -e 's|<(DEPTH)|'"$(pwd)"'|g' {} + \ + -exec chmod u+w {} + + ''; + + postPatch = let + toPatch = if versionOlder source.version "36.0.0.0" + then "content/browser/browser_main_loop.cc" + else "sandbox/linux/suid/client/setuid_sandbox_client.cc"; + in '' + sed -i -e '/base::FilePath exe_dir/,/^ *} *$/c \ + sandbox_binary = base::FilePath(getenv("CHROMIUM_SANDBOX_BINARY_PATH")); + ' ${toPatch} + ''; + + gypFlags = mkGypFlags (gypFlagsUseSystemLibs // { + linux_use_gold_binary = false; + linux_use_gold_flags = false; + proprietary_codecs = false; + use_gnome_keyring = gnomeKeyringSupport; + use_gconf = gnomeSupport; + use_gio = gnomeSupport; + use_pulseaudio = pulseSupport; + linux_link_pulseaudio = pulseSupport; + disable_nacl = !enableNaCl; + use_openssl = useOpenSSL; + selinux = enableSELinux; + use_cups = cupsSupport; + linux_sandbox_chrome_path="${libExecPath}/${packageName}"; + werror = ""; + + # Google API keys, see: + # http://www.chromium.org/developers/how-tos/api-keys + # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, + # please get your own set of keys. + google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI"; + google_default_client_id = "404761575300.apps.googleusercontent.com"; + google_default_client_secret = "9rIFQjfnkykEmqb6FfjJQD1D"; + + } // optionalAttrs proprietaryCodecs { + # enable support for the H.264 codec + proprietary_codecs = true; + 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"; + } // (extraAttrs.gypFlags or {})); + + configurePhase = '' + # This is to ensure expansion of $out. + libExecPath="${libExecPath}" + python build/linux/unbundle/replace_gyp_files.py ${gypFlags} + python build/gyp_chromium -f ninja --depth "$(pwd)" ${gypFlags} + ''; + + buildPhase = let + CC = "${gcc}/bin/gcc"; + CXX = "${gcc}/bin/g++"; + in '' + CC="${CC}" CC_host="${CC}" \ + CXX="${CXX}" CXX_host="${CXX}" \ + LINK_host="${CXX}" \ + "${ninja}/bin/ninja" -C "${buildPath}" \ + -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \ + ${concatStringsSep " " (extraAttrs.buildTargets or [])} + ''; + }; + +# Remove some extraAttrs we supplied to the base attributes already. +in stdenv.mkDerivation (base // removeAttrs extraAttrs [ + "name" "gypFlags" "buildTargets" +]) diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 213e75ee6ef..44fd3c69e53 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,287 +1,86 @@ -{ stdenv, fetchurl, makeWrapper, ninja, which - -# default dependencies -, bzip2, flac, speex -, libevent, expat, libjpeg -, libpng, libxml2, libxslt -, xdg_utils, yasm, zlib -, libusb1, libexif, pciutils - -, python, pythonPackages, perl, pkgconfig -, nspr, udev, krb5 -, utillinux, alsaLib -, gcc, bison, gperf -, glib, gtk, dbus_glib -, libXScrnSaver, libXcursor, libXtst, mesa -, protobuf, speechd, libXdamage - -# optional dependencies -, libgcrypt ? null # gnomeSupport || cupsSupport +{ newScope, stdenv, makeWrapper, makeDesktopItem # package customization , channel ? "stable" -, enableSELinux ? false, libselinux ? null +, enableSELinux ? false , enableNaCl ? false -, useOpenSSL ? false, nss ? null, openssl ? null -, gnomeSupport ? false, gconf ? null -, gnomeKeyringSupport ? false, libgnome_keyring ? null +, useOpenSSL ? false +, gnomeSupport ? false +, gnomeKeyringSupport ? false , proprietaryCodecs ? true +, enablePepperFlash ? false +, enablePepperPDF ? false , cupsSupport ? false -, pulseSupport ? false, pulseaudio ? null +, pulseSupport ? false }: -with stdenv.lib; - let - src = with getAttr channel (import ./sources.nix); stdenv.mkDerivation { - name = "chromium-source-${version}"; + callPackage = newScope chromium; - src = fetchurl { - inherit url sha256; + chromium = { + source = callPackage ./source { + inherit channel; + # XXX: common config + inherit useOpenSSL; }; - buildInputs = [ python ]; # cannot patch shebangs otherwise + mkChromiumDerivation = callPackage ./common.nix { + inherit enableSELinux enableNaCl useOpenSSL gnomeSupport + gnomeKeyringSupport proprietaryCodecs cupsSupport + pulseSupport; + }; - phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + browser = callPackage ./browser.nix { }; + sandbox = callPackage ./sandbox.nix { }; - opensslPatches = optional useOpenSSL openssl.patches; - - prePatch = "patchShebangs ."; - - patches = singleton ./sandbox_userns_31.patch; - - postPatch = '' - 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 '' - 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" ]; - installPhase = '' - ensureDir "$out" "$sandbox" "$bundled" "$main" - - header "copying browser main sources to $main" - find . -mindepth 1 -maxdepth 1 \ - \! -path ./sandbox \ - \! -path ./third_party \ - \! -path ./build \ - \! -path ./tools \ - \! -name '.*' \ - -print | xargs cp -rt "$main" - stopNest - - header "copying sandbox components to $sandbox" - cp -rt "$sandbox" sandbox/* - stopNest - - header "copying third party sources to $bundled" - cp -rt "$bundled" third_party/* - stopNest - - header "copying build requisites to $out" - cp -rt "$out" build tools - stopNest - - rm -rf "$out/tools/gyp" # XXX: Don't even copy it in the first place. - ''; - - passthru = { - inherit version; + plugins = callPackage ./plugins.nix { + inherit enablePepperFlash enablePepperPDF; }; }; - mkGypFlags = - let - sanitize = value: - if value == true then "1" - else if value == false then "0" - else "${value}"; - toFlag = key: value: "-D${key}=${sanitize value}"; - in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs)); - - gypFlagsUseSystemLibs = { - use_system_bzip2 = true; - use_system_flac = true; - use_system_libevent = true; - use_system_libexpat = true; - use_system_libexif = true; - use_system_libjpeg = true; - use_system_libpng = false; # PNG dlopen() version conflict - use_system_libusb = true; - use_system_libxml = true; - use_system_speex = true; - use_system_ssl = useOpenSSL; - use_system_stlport = true; - use_system_xdg_utils = true; - use_system_yasm = true; - use_system_zlib = false; # http://crbug.com/143623 - use_system_protobuf = true; - - use_system_harfbuzz = false; - use_system_icu = false; - use_system_libwebp = false; # http://crbug.com/133161 - use_system_skia = false; - use_system_sqlite = false; # http://crbug.com/22208 - use_system_v8 = false; + desktopItem = makeDesktopItem { + name = "chromium"; + exec = "chromium"; + icon = "${chromium.browser}/share/icons/hicolor/48x48/apps/chromium.png"; + comment = "An open source web browser from Google"; + desktopName = "Chromium"; + genericName = "Web browser"; + mimeType = stdenv.lib.concatStringsSep ";" [ + "text/html" + "text/xml" + "application/xhtml+xml" + "x-scheme-handler/http" + "x-scheme-handler/https" + "x-scheme-handler/ftp" + "x-scheme-handler/mailto" + "x-scheme-handler/webcal" + ]; + categories = "Network;WebBrowser"; }; - defaultDependencies = [ - bzip2 flac speex - libevent expat libjpeg - libpng libxml2 libxslt - xdg_utils yasm zlib - libusb1 libexif - ]; +in stdenv.mkDerivation { + name = "chromium-${channel}-${chromium.browser.version}"; - sandbox = import ./sandbox.nix { - inherit stdenv; - src = src.sandbox; - binary = "${packageName}_sandbox"; - }; + buildInputs = [ makeWrapper ]; - # build paths and release info - packageName = "chromium"; - buildType = "Release"; - buildPath = "out/${buildType}"; - libExecPath = "$out/libexec/${packageName}"; - sandboxPath = "${sandbox}/bin/${packageName}_sandbox"; - -in stdenv.mkDerivation rec { - name = "${packageName}-${src.version}"; - inherit packageName src; - - buildInputs = defaultDependencies ++ [ - which makeWrapper - python perl pkgconfig - nspr udev - (if useOpenSSL then openssl else nss) - utillinux alsaLib - gcc bison gperf krb5 - glib gtk dbus_glib - libXScrnSaver libXcursor libXtst mesa - pciutils protobuf speechd libXdamage - pythonPackages.gyp - ] ++ optional gnomeKeyringSupport libgnome_keyring - ++ optionals gnomeSupport [ gconf libgcrypt ] - ++ optional enableSELinux libselinux - ++ optional cupsSupport libgcrypt - ++ optional pulseSupport pulseaudio; - - prePatch = '' - # XXX: Figure out a way how to split these properly. - #cpflags="-dsr --no-preserve=mode" - cpflags="-dr" - cp $cpflags "${src.main}"/* . - cp $cpflags "${src.bundled}" third_party - cp $cpflags "${src.sandbox}" sandbox - chmod -R u+w . # XXX! - ''; - - postPatch = '' - sed -i -e '/base::FilePath exe_dir/,/^ *} *$/c \ - sandbox_binary = \ - base::FilePath("'"${sandboxPath}"'"); - ' content/browser/browser_main_loop.cc - ''; - - gypFlags = mkGypFlags (gypFlagsUseSystemLibs // { - linux_use_gold_binary = false; - linux_use_gold_flags = false; - proprietary_codecs = false; - use_gnome_keyring = gnomeKeyringSupport; - use_gconf = gnomeSupport; - use_gio = gnomeSupport; - use_pulseaudio = pulseSupport; - disable_nacl = !enableNaCl; - use_openssl = useOpenSSL; - selinux = enableSELinux; - use_cups = cupsSupport; - linux_sandbox_path="${sandboxPath}"; - linux_sandbox_chrome_path="${libExecPath}/${packageName}"; - werror = ""; - - # Google API keys, see http://www.chromium.org/developers/how-tos/api-keys. - # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, - # please get your own set of keys. - google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI"; - google_default_client_id = "404761575300.apps.googleusercontent.com"; - google_default_client_secret = "9rIFQjfnkykEmqb6FfjJQD1D"; - - } // optionalAttrs proprietaryCodecs { - # enable support for the H.264 codec - proprietary_codecs = true; - 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 = '' - python build/gyp_chromium -f ninja --depth "$(pwd)" ${gypFlags} - ''; - - buildPhase = let - CC = "${gcc}/bin/gcc"; - CXX = "${gcc}/bin/g++"; + buildCommand = let + browserBinary = "${chromium.browser}/libexec/chromium/chromium"; + sandboxBinary = "${chromium.sandbox}/bin/chromium-sandbox"; in '' - CC="${CC}" CC_host="${CC}" \ - CXX="${CXX}" CXX_host="${CXX}" \ - LINK_host="${CXX}" \ - "${ninja}/bin/ninja" -C "${buildPath}" \ - -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \ - chrome ${optionalString (!enableSELinux) "chrome_sandbox"} + ensureDir "$out/bin" "$out/share/applications" + + ln -s "${chromium.browser}/share" "$out/share" + makeWrapper "${browserBinary}" "$out/bin/chromium" \ + --set CHROMIUM_SANDBOX_BINARY_PATH "${sandboxBinary}" \ + --add-flags "${chromium.plugins.flagsEnabled}" + + ln -s "${chromium.browser}/share/icons" "$out/share/icons" + cp -v "${desktopItem}/share/applications/"* "$out/share/applications" ''; - 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}/" - - cp -v "${buildPath}/chrome" "${libExecPath}/${packageName}" - - mkdir -vp "$out/bin" - makeWrapper "${libExecPath}/${packageName}" "$out/bin/${packageName}" - - mkdir -vp "$out/share/man/man1" - cp -v "${buildPath}/chrome.1" "$out/share/man/man1/${packageName}.1" - - for icon_file in chrome/app/theme/chromium/product_logo_*[0-9].png; do - num_and_suffix="''${icon_file##*logo_}" - icon_size="''${num_and_suffix%.*}" - expr "$icon_size" : "^[0-9][0-9]*$" || continue - logo_output_prefix="$out/share/icons/hicolor" - logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps" - mkdir -vp "$logo_output_path" - cp -v "$icon_file" "$logo_output_path/${packageName}.png" - done - ''; + inherit (chromium.browser) meta packageName; passthru = { - inherit sandbox; - }; - - meta = { - description = "An open source web browser from Google"; - homepage = http://www.chromium.org/; - maintainers = with maintainers; [ goibhniu chaoflow aszlig wizeman ]; - license = licenses.bsd3; - platforms = platforms.linux; + mkDerivation = chromium.mkChromiumDerivation; }; } diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix new file mode 100644 index 00000000000..f760b06fe24 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/plugins.nix @@ -0,0 +1,78 @@ +{ stdenv +, enablePepperFlash ? false +, enablePepperPDF ? false + +, source +}: + +with stdenv.lib; + +let + plugins = stdenv.mkDerivation { + name = "chromium-binary-plugins"; + + # XXX: Only temporary and has to be version-specific + src = source.plugins; + + phases = [ "unpackPhase" "patchPhase" "checkPhase" "installPhase" ]; + outputs = [ "pdf" "flash" ]; + + unpackCmd = let + chan = if source.channel == "dev" then "chrome-unstable" + else if source.channel == "stable" then "chrome" + else "chrome-${source.channel}"; + in '' + ensureDir plugins + ar p "$src" data.tar.lzma | tar xJ -C plugins --strip-components=4 \ + ./opt/google/${chan}/PepperFlash \ + ./opt/google/${chan}/libpdf.so + ''; + + doCheck = true; + checkPhase = '' + ! find -iname '*.so' -exec ldd {} + | grep 'not found' + ''; + + patchPhase = let + rpaths = [ stdenv.gcc.gcc ]; + mkrpath = p: "${makeSearchPath "lib64" p}:${makeSearchPath "lib" p}"; + in '' + for sofile in PepperFlash/libpepflashplayer.so libpdf.so; do + chmod +x "$sofile" + patchelf --set-rpath "${mkrpath rpaths}" "$sofile" + done + ''; + + installPhase = let + pdfName = "Chrome PDF Viewer"; + pdfDescription = "Portable Document Format"; + pdfMimeTypes = concatStringsSep ";" [ + "application/pdf" + "application/x-google-chrome-print-preview-pdf" + ]; + pdfInfo = "#${pdfName}#${pdfDescription};${pdfMimeTypes}"; + in '' + install -vD libpdf.so "$pdf/lib/libpdf.so" + ensureDir "$pdf/nix-support" + echo "--register-pepper-plugins='$pdf/lib/libpdf.so${pdfInfo}'" \ + > "$pdf/nix-support/chromium-flags" + + flashVersion="$( + sed -n -r 's/.*"version": "([^"]+)",.*/\1/p' PepperFlash/manifest.json + )" + + install -vD PepperFlash/libpepflashplayer.so \ + "$flash/lib/libpepflashplayer.so" + ensureDir "$flash/nix-support" + echo "--ppapi-flash-path='$flash/lib/libpepflashplayer.so'" \ + "--ppapi-flash-version=$flashVersion" \ + > "$flash/nix-support/chromium-flags" + ''; + + passthru.flagsEnabled = let + enabledPlugins = optional enablePepperFlash plugins.flash + ++ optional enablePepperPDF plugins.pdf; + getFlags = plugin: "$(< ${plugin}/nix-support/chromium-flags)"; + in concatStringsSep " " (map getFlags enabledPlugins); + }; +in plugins diff --git a/pkgs/applications/networking/browsers/chromium/sandbox.nix b/pkgs/applications/networking/browsers/chromium/sandbox.nix index b43385e8633..b470ed63325 100644 --- a/pkgs/applications/networking/browsers/chromium/sandbox.nix +++ b/pkgs/applications/networking/browsers/chromium/sandbox.nix @@ -1,12 +1,13 @@ -{ stdenv, src, binary }: +{ stdenv, source }: stdenv.mkDerivation { - name = "chromium-sandbox-${src.version}"; - inherit src; + name = "chromium-sandbox-${source.version}"; + src = source.sandbox; patchPhase = '' sed -i -e '/#include.*base_export/c \ #define BASE_EXPORT __attribute__((visibility("default"))) + /#include/s|sandbox/linux|'"$(pwd)"'/linux| ' linux/suid/*.[hc] ''; @@ -15,6 +16,6 @@ stdenv.mkDerivation { ''; installPhase = '' - install -svD sandbox "$out/bin/${binary}" + install -svD sandbox "$out/bin/chromium-sandbox" ''; } diff --git a/pkgs/applications/networking/browsers/chromium/source/default.nix b/pkgs/applications/networking/browsers/chromium/source/default.nix new file mode 100644 index 00000000000..2c7e7277b81 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/source/default.nix @@ -0,0 +1,79 @@ +{ stdenv, fetchurl, python +, channel ? "stable" +, useOpenSSL # XXX +}: + +with stdenv.lib; + +with (import ./update.nix { + inherit (stdenv) system; +}).getChannel channel; + +stdenv.mkDerivation { + name = "chromium-source-${version}"; + + src = fetchurl main; + + buildInputs = [ python ]; # cannot patch shebangs otherwise + + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + + opensslPatches = optional useOpenSSL openssl.patches; + + prePatch = "patchShebangs ."; + + patches = if (versionOlder version "36.0.0.0") + then singleton ./sandbox_userns_31.patch + else singleton ./sandbox_userns_36.patch; + + postPatch = '' + 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 -e '/not RunGN/,+1d' -e '/import.*depot/d' 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 '' + cat $opensslPatches | patch -p1 -d third_party/openssl/openssl + '' + optionalString (!versionOlder version "34.0.0.0") '' + ''; + + outputs = [ "out" "sandbox" "bundled" "main" ]; + installPhase = '' + ensureDir "$out" "$sandbox" "$bundled" "$main" + + header "copying browser main sources to $main" + find . -mindepth 1 -maxdepth 1 \ + \! -path ./sandbox \ + \! -path ./third_party \ + \! -path ./build \ + \! -path ./tools \ + \! -name '.*' \ + -print | xargs cp -rt "$main" + stopNest + + header "copying sandbox components to $sandbox" + cp -rt "$sandbox" sandbox/* + stopNest + + header "copying third party sources to $bundled" + cp -rt "$bundled" third_party/* + stopNest + + header "copying build requisites to $out" + cp -rt "$out" build tools + stopNest + + rm -rf "$out/tools/gyp" # XXX: Don't even copy it in the first place. + ''; + + preferLocalBuild = true; + + passthru = { + inherit version channel; + plugins = fetchurl binary; + }; +} diff --git a/pkgs/applications/networking/browsers/chromium/sandbox_userns_31.patch b/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_31.patch similarity index 100% rename from pkgs/applications/networking/browsers/chromium/sandbox_userns_31.patch rename to pkgs/applications/networking/browsers/chromium/source/sandbox_userns_31.patch diff --git a/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch b/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch new file mode 100644 index 00000000000..8338aa65482 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/source/sandbox_userns_36.patch @@ -0,0 +1,274 @@ +commit c66c07a2ebcd1b68f412a5a2945fef15b3ba567c +Author: aszlig +Date: Thu May 16 14:17:56 2013 +0200 + + zygote: Add support for user namespaces on Linux. + + The implementation is done by patching the Zygote host to execute the sandbox + binary with CLONE_NEWUSER and setting the uid and gid mapping so that the child + process is using uid 0 and gid 0 which map to the current user of the parent. + Afterwards, the sandbox will continue as if it was called as a setuid binary. + + In addition, this adds new_user_namespace as an option in process_util in order + to set the UID and GID mapping correctly. The reason for this is that just + passing CLONE_NEWUSER to clone_flags doesn't help in LaunchProcess(), because + without setting the mappings exec*() will clear the process's capability sets. + + If the kernel doesn't support unprivileged user namespaces and the sandbox + binary doesn't have the setuid flag, the Zygote main process will run without a + sandbox. This is to mimic the behaviour if no SUID sandbox binary path is set. + + Signed-off-by: aszlig + +diff --git a/base/process/launch.cc b/base/process/launch.cc +index 81748f5..930f20f 100644 +--- a/base/process/launch.cc ++++ b/base/process/launch.cc +@@ -26,6 +26,7 @@ LaunchOptions::LaunchOptions() + #if defined(OS_LINUX) + , clone_flags(0) + , allow_new_privs(false) ++ , new_user_namespace(false) + #endif // OS_LINUX + #if defined(OS_CHROMEOS) + , ctrl_terminal_fd(-1) +diff --git a/base/process/launch.h b/base/process/launch.h +index 9e39fba..00e4c79 100644 +--- a/base/process/launch.h ++++ b/base/process/launch.h +@@ -115,6 +115,9 @@ struct BASE_EXPORT LaunchOptions { + // By default, child processes will have the PR_SET_NO_NEW_PRIVS bit set. If + // true, then this bit will not be set in the new child process. + bool allow_new_privs; ++ ++ // If true, start the process in a new user namespace. ++ bool new_user_namespace; + #endif // defined(OS_LINUX) + + #if defined(OS_CHROMEOS) +diff --git a/base/process/launch_posix.cc b/base/process/launch_posix.cc +index fe4da1a..7f118b8 100644 +--- a/base/process/launch_posix.cc ++++ b/base/process/launch_posix.cc +@@ -40,6 +40,10 @@ + + #if defined(OS_LINUX) + #include ++#include ++#if !defined(CLONE_NEWUSER) ++#define CLONE_NEWUSER 0x10000000 ++#endif + #endif + + #if defined(OS_CHROMEOS) +@@ -301,13 +305,23 @@ bool LaunchProcess(const std::vector& argv, + + pid_t pid; + #if defined(OS_LINUX) +- if (options.clone_flags) { ++ int map_pipe_fd[2]; ++ int flags = options.clone_flags; ++ ++ if (options.new_user_namespace) { ++ flags |= CLONE_NEWUSER; ++ if (pipe(map_pipe_fd) < 0) { ++ DPLOG(ERROR) << "user namespace pipe"; ++ return false; ++ } ++ } ++ ++ if (options.clone_flags || options.new_user_namespace) { + // Signal handling in this function assumes the creation of a new + // process, so we check that a thread is not being created by mistake + // and that signal handling follows the process-creation rules. +- RAW_CHECK( +- !(options.clone_flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM))); +- pid = syscall(__NR_clone, options.clone_flags, 0, 0, 0); ++ RAW_CHECK(!(flags & (CLONE_SIGHAND | CLONE_THREAD | CLONE_VM))); ++ pid = syscall(__NR_clone, flags, 0, 0, 0); + } else + #endif + { +@@ -328,6 +342,21 @@ bool LaunchProcess(const std::vector& argv, + // DANGER: no calls to malloc or locks are allowed from now on: + // http://crbug.com/36678 + ++#if defined(OS_LINUX) ++ if (options.new_user_namespace) { ++ // Close the write end of the pipe so we get an EOF when the parent closes ++ // the FD. This is to avoid race conditions when the UID/GID mappings are ++ // written _after_ execvp(). ++ close(map_pipe_fd[1]); ++ ++ char dummy; ++ if (HANDLE_EINTR(read(map_pipe_fd[0], &dummy, 1)) != 0) { ++ RAW_LOG(ERROR, "Unexpected input in uid/gid mapping pipe."); ++ _exit(127); ++ } ++ } ++#endif ++ + // DANGER: fork() rule: in the child, if you don't end up doing exec*(), + // you call _exit() instead of exit(). This is because _exit() does not + // call any previously-registered (in the parent) exit handlers, which +@@ -451,6 +480,40 @@ bool LaunchProcess(const std::vector& argv, + _exit(127); + } else { + // Parent process ++#if defined(OS_LINUX) ++ if (options.new_user_namespace) { ++ // We need to write UID/GID mapping here to map the current user outside ++ // the namespace to the root user inside the namespace in order to ++ // correctly "fool" the child process. ++ char buf[256]; ++ int map_fd, map_len; ++ ++ snprintf(buf, sizeof(buf), "/proc/%d/uid_map", pid); ++ map_fd = open(buf, O_RDWR); ++ DPCHECK(map_fd >= 0); ++ snprintf(buf, sizeof(buf), "0 %d 1", geteuid()); ++ map_len = strlen(buf); ++ if (write(map_fd, buf, map_len) != map_len) { ++ RAW_LOG(WARNING, "Can't write to uid_map."); ++ } ++ close(map_fd); ++ ++ snprintf(buf, sizeof(buf), "/proc/%d/gid_map", pid); ++ map_fd = open(buf, O_RDWR); ++ DPCHECK(map_fd >= 0); ++ snprintf(buf, sizeof(buf), "0 %d 1", getegid()); ++ map_len = strlen(buf); ++ if (write(map_fd, buf, map_len) != map_len) { ++ RAW_LOG(WARNING, "Can't write to gid_map."); ++ } ++ close(map_fd); ++ ++ // Close the pipe on the parent, so the child can continue doing the ++ // execvp() call. ++ close(map_pipe_fd[1]); ++ } ++#endif ++ + if (options.wait) { + // While this isn't strictly disk IO, waiting for another process to + // finish is the sort of thing ThreadRestrictions is trying to prevent. +diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc +index 94bdc16..3398615 100644 +--- a/content/browser/zygote_host/zygote_host_impl_linux.cc ++++ b/content/browser/zygote_host/zygote_host_impl_linux.cc +@@ -143,6 +143,9 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) { + // A non empty sandbox_cmd means we want a SUID sandbox. + using_suid_sandbox_ = !sandbox_cmd.empty(); + ++ bool userns_sandbox = false; ++ const std::vector cmd_line_unwrapped(cmd_line.argv()); ++ + // Start up the sandbox host process and get the file descriptor for the + // renderers to talk to it. + const int sfd = RenderSandboxHostLinux::GetInstance()->GetRendererSocket(); +@@ -162,11 +165,24 @@ void ZygoteHostImpl::Init(const std::string& sandbox_cmd) { + dummy_fd.reset(socket(AF_UNIX, SOCK_DGRAM, 0)); + CHECK_GE(dummy_fd.get(), 0); + fds_to_map.push_back(std::make_pair(dummy_fd.get(), kZygoteIdFd)); ++ userns_sandbox = sandbox_client->IsNoSuid(); + } + + base::ProcessHandle process = -1; + options.fds_to_remap = &fds_to_map; ++ if (userns_sandbox) ++ options.new_user_namespace = true; + base::LaunchProcess(cmd_line.argv(), options, &process); ++ ++ if (process == -1 && userns_sandbox) { ++ LOG(ERROR) << "User namespace sandbox failed to start, running without " ++ << "sandbox! You need at least kernel 3.8.0 with CONFIG_USER_NS " ++ << "enabled in order to use the sandbox without setuid bit."; ++ using_suid_sandbox_ = false; ++ options.new_user_namespace = false; ++ base::LaunchProcess(cmd_line_unwrapped, options, &process); ++ } ++ + CHECK(process != -1) << "Failed to launch zygote process"; + dummy_fd.reset(); + +diff --git a/content/zygote/zygote_main_linux.cc b/content/zygote/zygote_main_linux.cc +index cc28a6f..e8f665a 100644 +--- a/content/zygote/zygote_main_linux.cc ++++ b/content/zygote/zygote_main_linux.cc +@@ -389,6 +389,13 @@ static bool EnterSuidSandbox(sandbox::SetuidSandboxClient* setuid_sandbox) { + CHECK(CreateInitProcessReaper()); + } + ++ // Don't set non-dumpable, as it causes trouble when the host tries to find ++ // the zygote process (XXX: Not quite sure why this happens with user ++ // namespaces). Fortunately, we also have the seccomp filter sandbox which ++ // should disallow the use of ptrace. ++ if (setuid_sandbox->IsNoSuid()) ++ return true; ++ + #if !defined(OS_OPENBSD) + // Previously, we required that the binary be non-readable. This causes the + // kernel to mark the process as non-dumpable at startup. The thinking was +diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc +index 3300cb4..4bfa516 100644 +--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc ++++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc +@@ -212,6 +212,10 @@ bool SetuidSandboxClient::IsInNewNETNamespace() const { + return env_->HasVar(kSandboxNETNSEnvironmentVarName); + } + ++bool SetuidSandboxClient::IsNoSuid() const { ++ return env_->HasVar(kSandboxNoSuidVarName); ++} ++ + bool SetuidSandboxClient::IsSandboxed() const { + return sandboxed_; + } +@@ -267,8 +271,7 @@ void SetuidSandboxClient::PrependWrapper(base::CommandLine* cmd_line, + "LinuxSUIDSandboxDevelopment."; + } + +- if (access(sandbox_binary.c_str(), X_OK) != 0 || (st.st_uid != 0) || +- ((st.st_mode & S_ISUID) == 0) || ((st.st_mode & S_IXOTH)) == 0) { ++ if (access(sandbox_binary.c_str(), X_OK) != 0) { + LOG(FATAL) << "The SUID sandbox helper binary was found, but is not " + "configured correctly. Rather than run without sandboxing " + "I'm aborting now. You need to make sure that " +@@ -284,6 +287,12 @@ void SetuidSandboxClient::PrependWrapper(base::CommandLine* cmd_line, + options->allow_new_privs = true; + UnsetExpectedEnvironmentVariables(&options->environ); + } ++ ++ if (!((st.st_uid == 0) && ++ (st.st_mode & S_ISUID) && ++ (st.st_mode & S_IXOTH))) { ++ env_->SetVar(kSandboxNoSuidVarName, "1"); ++ } + } + + void SetuidSandboxClient::SetupLaunchEnvironment() { +diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.h b/sandbox/linux/suid/client/setuid_sandbox_client.h +index 332c63b..4f603f8 100644 +--- a/sandbox/linux/suid/client/setuid_sandbox_client.h ++++ b/sandbox/linux/suid/client/setuid_sandbox_client.h +@@ -70,6 +70,8 @@ class SANDBOX_EXPORT SetuidSandboxClient { + bool IsInNewPIDNamespace() const; + // Did the setuid helper create a new network namespace ? + bool IsInNewNETNamespace() const; ++ // Is sandboxed without SUID binary ? ++ bool IsNoSuid() const; + // Are we done and fully sandboxed ? + bool IsSandboxed() const; + +diff --git a/sandbox/linux/suid/common/sandbox.h b/sandbox/linux/suid/common/sandbox.h +index 9345287..2db659e 100644 +--- a/sandbox/linux/suid/common/sandbox.h ++++ b/sandbox/linux/suid/common/sandbox.h +@@ -15,6 +15,7 @@ static const char kAdjustOOMScoreSwitch[] = "--adjust-oom-score"; + + static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D"; + static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID"; ++static const char kSandboxNoSuidVarName[] = "SBX_NO_SUID"; + + static const long kSUIDSandboxApiNumber = 1; + static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ"; diff --git a/pkgs/applications/networking/browsers/chromium/source/sources.nix b/pkgs/applications/networking/browsers/chromium/source/sources.nix new file mode 100644 index 00000000000..bd5ded3f4c6 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/source/sources.nix @@ -0,0 +1,21 @@ +# This file is autogenerated from update.sh in the parent directory. +{ + dev = { + version = "36.0.1964.2"; + sha256 = "0yrp1553pl0310h5pkfh2x27xhfrrxrpc25zad36f3k73iwmbg4c"; + sha256bin32 = "02brz6lj7vfyyapc942dhdw7z26ksvnm7xqryfxn49y1rkd26xrf"; + sha256bin64 = "0ibry2bfjcqnihwb8ykyl48qk25bzfxmw948sm70xnrmwbkv42ny"; + }; + beta = { + version = "35.0.1916.86"; + sha256 = "0pjgpif8fiq14fk05pxs3js0pcg2jwmw0fklcci11rzq6rcm7r2g"; + sha256bin32 = "1js71l88hqfli6c342iigwddxrqrzlx5fcazfxwlps4bdwgig6f8"; + sha256bin64 = "1sqavz6lh0ryf8jlw8jcfwk265spxs70bhigcgcqsd6647fbdqsr"; + }; + stable = { + version = "35.0.1916.114"; + sha256 = "1bvpkwjchkzx1qfc93hd8md6sz5sd7pl55xc8b8m3iakbp0csvsn"; + sha256bin32 = "0zm5770cv9dld37xall9lpl9faa0bgjcp8hjx6l1ivfhs6lxbxxa"; + sha256bin64 = "18p302aj2d7xdza9kf438vbz3wqh8db7v2dq5d9b4b3ak6w9ld03"; + }; +} diff --git a/pkgs/applications/networking/browsers/chromium/source/update.nix b/pkgs/applications/networking/browsers/chromium/source/update.nix new file mode 100644 index 00000000000..de45d409937 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/source/update.nix @@ -0,0 +1,120 @@ +{ system ? builtins.currentSystem }: + +let + inherit (import { + inherit system; + }) lib writeText stdenv; + + sources = if builtins.pathExists ./sources.nix + then import ./sources.nix + else null; + + bucketURL = "http://commondatastorage.googleapis.com/" + + "chromium-browser-official"; + + debURL = "https://dl.google.com/linux/chrome/deb/pool/main/g"; + + # Untrusted mirrors, don't try to update from them! + debMirrors = [ + "http://95.31.35.30/chrome/pool/main/g" + "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g" + ]; + + tryChannel = channel: let + chan = builtins.getAttr channel sources; + in if sources != null then '' + oldver="${chan.version}"; + echo -n "Checking if $oldver ($channel) is up to date..." >&2; + if [ "x$(get_newest_ver "$version" "$oldver")" != "x$oldver" ]; + then + echo " no, getting sha256 for new version $version:" >&2; + sha256="$(prefetch_sha "$channel" "$version")" || return 1; + else + echo " yes, keeping old sha256." >&2; + sha256="${chan.sha256}"; + ${if (chan ? sha256bin32 && chan ? sha256bin64) then '' + sha256="$sha256.${chan.sha256bin32}.${chan.sha256bin64}"; + '' else '' + sha256="$sha256.$(prefetch_deb_sha "$channel" "$version")"; + ''} + fi; + '' else '' + sha256="$(prefetch_sha "$channel" "$version")" || return 1; + ''; + + caseChannel = channel: '' + ${channel}) ${tryChannel channel};; + ''; + +in rec { + getChannel = channel: let + chanAttrs = builtins.getAttr channel sources; + in { + inherit (chanAttrs) version; + + main = { + url = "${bucketURL}/chromium-${chanAttrs.version}.tar.xz"; + inherit (chanAttrs) sha256; + }; + + binary = let + pname = if channel == "dev" + then "google-chrome-unstable" + else "google-chrome-${channel}"; + arch = if stdenv.is64bit then "amd64" else "i386"; + relpath = "${pname}/${pname}_${chanAttrs.version}-1_${arch}.deb"; + in lib.optionalAttrs (chanAttrs ? sha256bin64) { + urls = map (url: "${url}/${relpath}") ([ debURL ] ++ debMirrors); + sha256 = if stdenv.is64bit + then chanAttrs.sha256bin64 + else chanAttrs.sha256bin32; + }; + }; + + updateHelpers = writeText "update-helpers.sh" '' + + prefetch_main_sha() + { + nix-prefetch-url "${bucketURL}/chromium-$2.tar.xz"; + } + + prefetch_deb_sha() + { + channel="$1"; + version="$2"; + + case "$1" in + dev) pname="google-chrome-unstable";; + *) pname="google-chrome-$channel";; + esac; + + deb_pre="${debURL}/$pname/$pname"; + + deb32=$(nix-prefetch-url "''${deb_pre}_$version-1_i386.deb"); + deb64=$(nix-prefetch-url "''${deb_pre}_$version-1_amd64.deb"); + + echo "$deb32.$deb64"; + return 0; + } + + prefetch_sha() + { + echo "$(prefetch_main_sha "$@").$(prefetch_deb_sha "$@")"; + return 0; + } + + get_sha256() + { + channel="$1"; + version="$2"; + + case "$channel" in + ${lib.concatMapStrings caseChannel [ "stable" "dev" "beta" ]} + esac; + + sha_insert "$version" "$sha256"; + echo "$sha256"; + return 0; + } + ''; +} diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix deleted file mode 100644 index 49b5e2b4221..00000000000 --- a/pkgs/applications/networking/browsers/chromium/sources.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This file is autogenerated from update.sh in the same directory. -{ - dev = { - version = "35.0.1883.0"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-35.0.1883.0.tar.xz"; - sha256 = "0qbv6prxl18y5824pfd13ng9798g561gzb6nypwp502hqr45jvb6"; - }; - beta = { - version = "34.0.1847.60"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-34.0.1847.60.tar.xz"; - sha256 = "1na5d6z4a0wkabn7cj62vyiv3mmvcb6qdvrkyy6fj79h7gk2hb7k"; - }; - stable = { - 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/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index 0c4881bb396..e82d22f34fd 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -3,16 +3,9 @@ channels_url="http://omahaproxy.appspot.com/all?csv=1"; history_url="http://omahaproxy.appspot.com/history"; bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/"; -output_file="$(cd "$(dirname "$0")" && pwd)/sources.nix"; +base_path="$(cd "$(dirname "$0")" && pwd)/source"; -nix_getattr() -{ - input_file="$1"; - attr="$2"; - - var="$(nix-instantiate --eval-only -A "$attr" "$output_file")"; - echo "$var" | tr -d '\\"'; -} +source "$(nix-build --no-out-link "$base_path/update.nix" -A updateHelpers)"; ### poor mans key/value-store :-) ### @@ -53,39 +46,6 @@ get_newest_ver() fi; } -if [ -e "$output_file" ]; -then - get_sha256() - { - channel="$1"; - version="$2"; - url="$3"; - - oldver="$(nix_getattr "$output_file" "$channel.version")"; - - echo -n "Checking if $oldver ($channel) is up to date..." >&2; - - if [ "x$(get_newest_ver "$version" "$oldver")" != "x$oldver" ]; - then - echo " no, getting sha256 for new version $version:" >&2; - sha256="$(nix-prefetch-url "$url")" || return 1; - else - echo " yes, keeping old sha256." >&2; - sha256="$(nix_getattr "$output_file" "$channel.sha256")" \ - || return 1; - fi; - - sha_insert "$version" "$sha256"; - echo "$sha256"; - return 0; - } -else - get_sha256() - { - nix-prefetch-url "$3"; - } -fi; - fetch_filtered_history() { curl -s "$history_url" | sed -nr 's/^'"linux,$1"',([^,]+).*$/\1/p'; @@ -99,9 +59,8 @@ get_prev_sha256() for version in $(fetch_filtered_history "$channel"); do [ "x$version" = "x$current_version" ] && continue; - url="${bucket_url%/}/chromium-$version.tar.xz"; - sha256="$(get_sha256 "$channel" "$version" "$url")" || continue; - echo "$sha256:$version:$url"; + sha256="$(get_sha256 "$channel" "$version")" || continue; + echo "$sha256:$version"; return 0; done; } @@ -113,34 +72,39 @@ get_channel_exprs() channel="${chline%%,*}"; version="${chline##*,}"; - url="${bucket_url%/}/chromium-$version.tar.xz"; - echo -n "Checking if sha256 of version $version is cached..." >&2; if sha256="$(sha_lookup "$version")"; then echo " yes: $sha256" >&2; else echo " no." >&2; - sha256="$(get_sha256 "$channel" "$version" "$url")"; + sha256="$(get_sha256 "$channel" "$version")"; if [ $? -ne 0 ]; then echo "Whoops, failed to fetch $version, trying previous" \ "versions:" >&2; - sha_ver_url="$(get_prev_sha256 "$channel" "$version")"; - sha256="${sha_ver_url%%:*}"; - ver_url="${sha_ver_url#*:}"; - version="${ver_url%%:*}"; - url="${ver_url#*:}"; + sha_ver="$(get_prev_sha256 "$channel" "$version")"; + sha256="${sha_ver%:*}"; + version="${sha_ver#*:}"; fi; fi; sha_insert "$version" "$sha256"; + main="${sha256%%.*}"; + deb="${sha256#*.}"; + deb32="${deb%.*}"; + deb64="${deb#*.}"; + echo " $channel = {"; echo " version = \"$version\";"; - echo " url = \"$url\";"; - echo " sha256 = \"$sha256\";"; + echo " sha256 = \"$main\";"; + if [ "x${deb#*[a-z0-9].[a-z0-9]}" != "x$deb" ]; + then + echo " sha256bin32 = \"$deb32\";"; + echo " sha256bin64 = \"$deb64\";"; + fi; echo " };"; done; } @@ -151,8 +115,8 @@ omaha="$(curl -s "$channels_url")"; versions="$(echo "$omaha" | sed -nr -e 's/^linux,([^,]+,[^,]+).*$/\1/p')"; channel_exprs="$(get_channel_exprs "$versions")"; -cat > "$output_file" <<-EOF -# This file is autogenerated from update.sh in the same directory. +cat > "$base_path/sources.nix" <<-EOF +# This file is autogenerated from update.sh in the parent directory. { $channel_exprs } diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix index 79402c31f8b..cd96c0a6be8 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-20140212"; + name = "conkeror-1.0pre-20140509"; src = fetchgit { url = git://repo.or.cz/conkeror.git; - rev = "07064d76d10e0978c6de535e21f4597d44560fbd"; - sha256 = "b03a7debee8583ff7a3f2d95474f60e956f0e24dbd1a8fd22412de1d6627f322"; + rev = "eaf02dccf979d824667d177544103af000ae40bf"; + sha256 = "1896db59d260f34a459402cb0c252b636aab9bf0378ae663a6d039f15af5b350"; }; 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 00000000000..0cf23f38b0f --- /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 dcdbe724194..40b875c8c57 100644 --- a/pkgs/applications/networking/browsers/dwb/default.nix +++ b/pkgs/applications/networking/browsers/dwb/default.nix @@ -2,15 +2,15 @@ m4, glib_networking, gsettings_desktop_schemas }: stdenv.mkDerivation { - name = "dwb-2014-03-27"; + name = "dwb-2014-06-03"; src = fetchgit { url = "https://bitbucket.org/portix/dwb.git"; - rev = "4566d58575fbf687ebe9e3414996c45697b62787"; - sha256 = "145sq2wv0s0n32cwpwgy59ff6ppcv80ialak7nnj1rpqicfqb72h"; + rev = "d00af56c1e60978060f1b2077f3d49995b98c54f"; + sha256 = "02bs9nbgk8ghaxywhqd8mii4lik748dssn551m00i1305p6q1cjj"; }; - buildInputs = [ pkgconfig makeWrapper gsettings_desktop_schemas 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='' diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index b45fb4bbae7..0c1a974ec69 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -17,19 +17,14 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null; rec { - firefoxVersion = "27.0.1"; + firefoxVersion = "29.0.1"; - xulVersion = "27.0.1"; # this attribute is used by other packages + xulVersion = "29.0.1"; # this attribute is used by other packages src = fetchurl { - urls = [ - # It is better to use this url for official releases, to take load off Mozilla's ftp server. - "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2" - # 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" - ]; - sha256 = "13qd53yf8dn9m03p4x5ml9h3mys60nba5nz82lcvaq7ycp1pl1bn"; + url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"; + sha1 = "2819ef63403de2bcfff5496bd21a3b8cb5dfce82"; }; commonConfigureFlags = @@ -41,7 +36,7 @@ rec { "--with-system-libevent" "--with-system-libvpx" "--with-system-png" - "--with-system-icu" + # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0 "--enable-system-ffi" "--enable-system-hunspell" "--enable-system-pixman" @@ -56,6 +51,7 @@ rec { "--disable-necko-wifi" # maybe we want to enable this at some point "--disable-installer" "--disable-updater" + "--disable-pulseaudio" ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"] else [ "--disable-debug" "--enable-release" "--enable-optimize" "--enable-strip" ]); diff --git a/pkgs/applications/networking/browsers/lynx/default.nix b/pkgs/applications/networking/browsers/lynx/default.nix index b0f9b69012c..74c9574c7d6 100644 --- a/pkgs/applications/networking/browsers/lynx/default.nix +++ b/pkgs/applications/networking/browsers/lynx/default.nix @@ -5,11 +5,11 @@ assert sslSupport -> openssl != null; stdenv.mkDerivation { - name = "lynx-2.8.7"; + name = "lynx-2.8.8"; src = fetchurl { - url = http://lynx.isc.org/lynx2.8.7/lynx2.8.7.tar.bz2; - sha256 = "1baxwpdvak6nalr943g22z67r1d3fbibbkqvkvvar9xlvrs9gv20"; + url = http://lynx.isc.org/lynx2.8.8/lynx2.8.8.tar.bz2; + sha256 = "1rxysl08acqll5b87368f04kckl8sggy1qhnq59gsxyny1ffg039"; }; configureFlags = if sslSupport then "--with-ssl=${openssl}" else ""; diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix index db9e1c24cb5..11a17709ade 100644 --- a/pkgs/applications/networking/browsers/midori/default.nix +++ b/pkgs/applications/networking/browsers/midori/default.nix @@ -4,7 +4,7 @@ }: let - version = "0.5.7"; + version = "0.5.8"; in stdenv.mkDerivation rec { name = "midori-${version}"; @@ -19,9 +19,11 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/downloads/midori_${version}_all_.tar.bz2"; - sha256 = "0k8bppicgzm97g5x8ahvpw9wvg2f1mq093qp8biwr858m0mbnx98"; + sha256 = "10ckm98rfqfbwr84b8mc1ssgj84wjgkr4dadvx2l7c64sigi66dg"; }; + sourceRoot = "."; + buildInputs = [ cmake pkgconfig intltool vala makeWrapper webkitgtk librsvg libnotify @@ -32,9 +34,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 a78ab7d27f7..378e32c0afb 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -36,7 +36,7 @@ let # -> http://get.adobe.com/flashplayer/ - version = "11.2.202.350"; + version = "11.2.202.359"; src = if stdenv.system == "x86_64-linux" then @@ -47,7 +47,7 @@ let else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; - sha256 = "0f5y05c0acvdzd7a7qi93kd17byazf9swm6gml5rph5bc25aw77l"; + sha256 = "13myq6f999qy1jbgm73gxnadrxdvasi2jiffdyxmwpbwglhhrpka"; } else if stdenv.system == "i686-linux" then if debug then { @@ -58,7 +58,7 @@ let } else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; - sha256 = "0nsrj56xbpn8r4365zby8qbc38cl2anb5ky0h7jwyh7xyrs9xmml"; + sha256 = "04wh18jbscp7m3drvsxxhp2vjnhww69vw0pgr23hx81ry0ccvb8m"; } else throw "Flash Player is not supported on this platform"; @@ -88,7 +88,7 @@ stdenv.mkDerivation { meta = { description = "Adobe Flash Player browser plugin"; homepage = http://www.adobe.com/products/flashplayer/; - maintainer = with stdenv.lib.maintainers; [ wizeman ]; + maintainers = with stdenv.lib.maintainers; [ wizeman ]; license = "unfree"; }; } diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix index 4c6458d909f..318b9576392 100644 --- a/pkgs/applications/networking/browsers/uzbl/default.nix +++ b/pkgs/applications/networking/browsers/uzbl/default.nix @@ -1,45 +1,39 @@ -a : -let - fetchgit = a.fetchgit; +{ stdenv, fetchurl, pkgconfig, python, makeWrapper, pygtk +, webkit, glib_networking, gsettings_desktop_schemas +}: - buildInputs = with a; [ - libsoup pkgconfig webkit gtk makeWrapper - kbproto glib pango cairo gdk_pixbuf atk - python3 - ]; -in -rec { - src = fetchgit { - url = "https://github.com/Dieterbe/uzbl.git"; - rev = "refs/tags/2012.05.14"; - sha256 = "1crvikb0qqsx5qb003i4w7ywh72psl37gjslrj5hx2fd2f215l0l"; - }; +stdenv.mkDerivation rec { + name = "uzbl-20120514"; - name = "uzbl-git"; - - inherit buildInputs; - configureFlags = []; - - /* doConfigure should be removed if not needed */ - phaseNames = ["addInputs" "setVars" "doMakeInstall" "doWrap"]; - - setVars = a.noDepEntry ('' - export NIX_LDFLAGS="$NIX_LDFLAGS -L${a.libX11}/lib -lX11" - ''); - - doWrap = a.makeManyWrappers "$out/bin/uzbl-core" - '' - --prefix GST_PLUGIN_PATH : ${a.webkit.gstreamer}/lib/gstreamer-* \ - --prefix GST_PLUGIN_PATH : ${a.webkit.gst_plugins_base}/lib/gstreamer-* \ - --prefix GST_PLUGIN_PATH : ${a.webkit.gst_plugins_good}/lib/gstreamer-* \ - --prefix GST_PLUGIN_PATH : ${a.webkit.gst_ffmpeg}/lib/gstreamer-* \ - --prefix GIO_EXTRA_MODULES : ${a.glib_networking}/lib/gio/modules - ''; - - installFlags = "PREFIX=$out PYINSTALL_EXTRA=\"--prefix=$out\""; - - meta = { + meta = with stdenv.lib; { description = "Tiny externally controllable webkit browser"; - maintainers = [a.lib.maintainers.raskin]; + homepage = "http://uzbl.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ raskin ]; }; + + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://github.com/uzbl/uzbl/archive/2012.05.14.tar.gz"; + sha256 = "1flpf0rg0c3n9bjifr37zxljn9yxslg8vkll7ghkm341x76cbkwn"; + }; + + preConfigure = '' + makeFlags="$makeFlags PREFIX=$out" + makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out" + ''; + + preFixup = '' + for f in $out/bin/*; do + wrapProgram $f \ + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" + done + ''; + + nativeBuildInputs = [ pkgconfig python makeWrapper ]; + + buildInputs = [ gsettings_desktop_schemas webkit pygtk ]; } diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix index f723e3791f3..8e1e00795d2 100644 --- a/pkgs/applications/networking/browsers/vimprobable2/default.nix +++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix @@ -2,11 +2,11 @@ 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 diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix index 61f2d0c6e20..1e9fe918a2e 100644 --- a/pkgs/applications/networking/cluster/spark/default.nix +++ b/pkgs/applications/networking/cluster/spark/default.nix @@ -2,16 +2,16 @@ stdenv.mkDerivation rec { name = "spark-${version}"; - version = "0.9.0"; + version = "0.9.1"; src = fetchurl { - url = "http://d3kbcqa49mib13.cloudfront.net/${name}-incubating-bin-cdh4.tgz"; - sha256 = "0dgirq2ws25accijijanqij6d1mwxkrcqkmq1xsslfpz26svs1w1"; + url = "http://d3kbcqa49mib13.cloudfront.net/${name}-bin-cdh4.tgz"; + sha256 = "1k3954srx3km3ckmfi6wn8rldrljxc039g0pf5m3azgkmaz0gld5"; }; unpackPhase = ''tar zxf $src''; - untarDir = "spark-${version}-incubating-bin-cdh4"; + untarDir = "${name}-bin-cdh4"; installPhase = '' set -x mkdir -p $out/lib $out/bin @@ -118,10 +118,11 @@ stdenv.mkDerivation rec { phases = "unpackPhase installPhase"; meta = { - description = "Spark cluster computing"; - homepage = "http://spark.incubator.apache.org"; - license = stdenv.lib.licenses.asl20; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + description = "Lightning-fast cluster computing"; + homepage = "http://spark.apache.org"; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + repositories.git = git://git.apache.org/spark.git; }; } diff --git a/pkgs/applications/networking/dropbox-cli/default.nix b/pkgs/applications/networking/dropbox-cli/default.nix index 6af15211a52..5262c121bb2 100644 --- a/pkgs/applications/networking/dropbox-cli/default.nix +++ b/pkgs/applications/networking/dropbox-cli/default.nix @@ -1,31 +1,30 @@ -{ stdenv, coreutils, fetchurl, python, dropbox }: - +{ stdenv, pkgconfig, fetchurl, python, dropbox }: +let + version = "1.6.2"; +in stdenv.mkDerivation { - # 1.6.0 because it's the only version mentioned in the script - name = "dropbox-cli-1.6.0"; + name = "dropbox-cli-${version}"; src = fetchurl { - # Note: dropbox doesn't version this file. Annoying. - url = "https://linux.dropbox.com/packages/dropbox.py"; - sha256 = "0505k0xrhbmsv7g5phxxnz5wbff6m5gdsqyxkhd95wdi9d71c43c"; + url = "https://linux.dropbox.com/packages/nautilus-dropbox-${version}.tar.bz2"; + sha256 = "1r1kqvnf5a0skby6rr8bmxg128z97fz4gb1n7zlc1vyhqw4k3mb3"; }; - buildInputs = [ coreutils python ]; + buildInputs = [ pkgconfig python ]; - phases = "installPhase fixupPhase"; + phases = "unpackPhase installPhase"; installPhase = '' - mkdir -pv $out/bin/ - cp $src $out/bin/dropbox-cli - ''; + ensureDir "$out/bin/" "$out/share/applications" + cp data/dropbox.desktop "$out/share/applications" + substitute "dropbox.in" "$out/bin/dropbox" \ + --replace '@PACKAGE_VERSION@' ${version} \ + --replace '@DESKTOP_FILE_DIR@' "$out/share/applications" \ + --replace '@IMAGEDATA16@' '"too-lazy-to-fix"' \ + --replace '@IMAGEDATA64@' '"too-lazy-to-fix"' - fixupPhase = '' - substituteInPlace $out/bin/dropbox-cli \ - --replace "/usr/bin/python" ${python}/bin/python \ - --replace "use dropbox help" "use dropbox-cli help" \ - --replace "~/.dropbox-dist/dropboxd" ${dropbox}/bin/dropbox - - chmod +x $out/bin/dropbox-cli + chmod +x "$out/bin/"* + patchShebangs "$out/bin" ''; meta = { diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix index 0a9703d5e34..766ec0c17fc 100644 --- a/pkgs/applications/networking/esniper/default.nix +++ b/pkgs/applications/networking/esniper/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }: stdenv.mkDerivation { - name = "esniper-2.29.0"; + name = "esniper-2.30.0"; src = fetchurl { - url = "mirror://sourceforge/esniper/esniper-2-29-0.tgz"; - sha256 = "052jfbzm0a88h3hss2vg1vfdrhibjwhbcdnwsbkk5i1z0jj16xxc"; + url = "mirror://sourceforge/esniper/esniper-2-30-0.tgz"; + sha256 = "1p85d5qfr3f35xfj5555ck4wwk5hqkh65ivam1527p8dwcz00wpl"; }; buildInputs = [ openssl curl ]; diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix index a8b4cfaf926..e88cf5b3f73 100644 --- a/pkgs/applications/networking/ftp/filezilla/default.nix +++ b/pkgs/applications/networking/ftp/filezilla/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, dbus, gnutls, wxGTK28, libidn, tinyxml, gettext , pkgconfig, xdg_utils, gtk2, sqlite }: -let version = "3.7.3"; in +let version = "3.8.0"; in stdenv.mkDerivation { name = "filezilla-${version}"; src = fetchurl { url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2"; - sha256 = "0hn043jjb7qh040dgyhffp9jrrmca1xxbc998vyqyg83lrq2j09b"; + sha256 = "02635sh88zvmqhqs7yx982dmfa1qd0rhk4z1fqvgh5pr2ac1r74d"; }; configureFlags = [ diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix index c0f76602b2b..6da12905f56 100644 --- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix +++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix @@ -1,59 +1,96 @@ -{ stdenv -, fetchurl -, libtool -, libXext -, libSM -, libICE -, libX11 -, libXft -, libXau -, libXdmcp -, libXrender -, freetype -, fontconfig -, openssl -}: +{ stdenv, fetchurl, libtool, xlibs, freetype, fontconfig, openssl, glib +, mesa, gstreamer, gst_plugins_base, dbus, alsaLib, zlib, libuuid +, libxml2, libxslt, sqlite, libogg, libvorbis, xz, libcanberra +, makeWrapper, libredirect, xkeyboard_config }: let - version = "1.94.407"; + + version = "2.2.1107"; rpath = stdenv.lib.makeSearchPath "lib" [ stdenv.glibc - stdenv.gcc.gcc libtool - libXext - libSM - libICE - libX11 - libXft - libXau - libXdmcp - libXrender + xlibs.libXext + xlibs.libSM + xlibs.libICE + xlibs.libX11 + xlibs.libXft + xlibs.libXau + xlibs.libXdmcp + xlibs.libXrender + xlibs.libXfixes + xlibs.libXcomposite + xlibs.libxcb + xlibs.libXi freetype fontconfig openssl - ]; + glib + mesa + gstreamer + gst_plugins_base + dbus + alsaLib + zlib + libuuid + libxml2 + libxslt + sqlite + libogg + libvorbis + xz + libcanberra + ] + ":${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}"; - src = fetchurl { - url = "http://downloads.hipchat.com/linux/arch/hipchat-${version}-i686.pkg.tar.xz"; - sha256 = "0kyjpa2ir066zqkvs1zmnx6kvl8v4jfl8h7bw110cgigwmiplk7k"; - }; -in stdenv.mkDerivation { + src = + if stdenv.system == "x86_64-linux" then + fetchurl { + url = "http://downloads.hipchat.com/linux/arch/x86_64/hipchat-${version}-x86_64.pkg.tar.xz"; + sha256 = "0lf780pxbh40m2i48cki072lrm75924cz3zgkmaxddmar3y13bwa"; + } + else if stdenv.system == "i686-linux" then + fetchurl { + url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz"; + sha256 = "1k33670rpigdpy9jcacryc1i05ykp5yffcplmbm5q29ng54cn0zv"; + } + else + throw "HipChat is not supported on ${stdenv.system}"; + +in + +stdenv.mkDerivation { name = "hipchat-${version}"; + inherit src; + + buildInputs = [ makeWrapper ]; + buildCommand = '' tar xf ${src} - mkdir -p $out - mv opt/HipChat/lib $out - mv opt/HipChat/bin $out + + mkdir -p $out/libexec/hipchat/bin + d=$out/libexec/hipchat/lib + rm -rfv opt/HipChat/lib/{libstdc++*,libz*,libuuid*,libxml2*,libxslt*,libsqlite*,libogg*,libvorbis*,liblzma*,libcanberra.*,libcanberra-*} + mv opt/HipChat/lib/ $d mv usr/share $out + patchShebangs $out/bin - for file in $(find $out/lib -type f); do - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $file || true - patchelf --set-rpath ${rpath}:$out/lib $file || true + + for file in $(find $d -type f); do + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $file || true + patchelf --set-rpath ${rpath}:\$ORIGIN $file || true done + substituteInPlace $out/share/applications/hipchat.desktop \ --replace /opt/HipChat/bin $out/bin + + makeWrapper $d/hipchat.bin $out/bin/hipchat \ + --set HIPCHAT_LD_LIBRARY_PATH '"$LD_LIBRARY_PATH"' \ + --set HIPCHAT_QT_PLUGIN_PATH '"$QT_PLUGIN_PATH"' \ + --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ + --set NIX_REDIRECTS /usr/share/X11/xkb=${xkeyboard_config}/share/X11/xkb + + mv opt/HipChat/bin/linuxbrowserlaunch $out/libexec/hipchat/bin/ ''; meta = { diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix index 9c787867e5a..b387ed350af 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix @@ -1,19 +1,20 @@ { stdenv, fetchurl, pidgin, intltool, libxml2 }: -let version = "1.12.0"; in +let version = "1.18.1"; in stdenv.mkDerivation { name = "pidgin-sipe-${version}"; - + src = fetchurl { url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz"; - sha256 = "12ki6n360v2ja961fzw4mwpgb8jdp9k21y5mbiab151867c862r6"; + sha256 = "18ch7jpi7ki7xlpahi88xrnmnhc6dcq4hafm0z6d5nfjfp8ldal5"; }; - meta = { + meta = with stdenv.lib; { description = "SIPE plugin for Pidgin IM"; homepage = http://sipe.sourceforge.net/; - license = "GPLv2"; + license = licenses.gpl2; + platforms = platforms.linux; }; postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe"; diff --git a/pkgs/applications/networking/instant-messengers/sflphone/default.nix b/pkgs/applications/networking/instant-messengers/sflphone/default.nix index 2401d796bfd..a31a682abf8 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/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix new file mode 100644 index 00000000000..7a57cb8ad62 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix @@ -0,0 +1,99 @@ +{ stdenv, fetchurl, makeWrapper }: + +let + + version = "3.0.10.3"; + + arch = if stdenv.is64bit then "amd64" else "x86"; + + libDir = if stdenv.is64bit then "lib64" else "lib"; +in + +stdenv.mkDerivation { + name = "teamspeak-server-${version}"; + + src = fetchurl { + urls = [ + "http://dl.4players.de/ts/releases/${version}/teamspeak3-server_linux-${arch}-${version}.tar.gz" + "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux-${arch}-${version}.tar.gz" + ]; + sha256 = if stdenv.is64bit + then "9606dd5c0c3677881b1aab833cb99f4f12ba08cc77ef4a97e9e282d9e10b0702" + else "8b8921e0df04bf74068a51ae06d744f25d759a8c267864ceaf7633eb3f81dbe5"; + }; + + buildInputs = [ makeWrapper ]; + + buildPhase = + '' + mv ts3server_linux_${arch} ts3server + echo "patching ts3server" + patchelf \ + --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath $(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \ + --force-rpath \ + ts3server + ''; + + installPhase = + '' + # Delete unecessary libraries - these are provided by nixos. + #rm *.so* + + # Install files. + mkdir -p $out/lib/teamspeak + mv * $out/lib/teamspeak/ + + # Make a symlink to the binary from bin. + mkdir -p $out/bin/ + ln -s $out/lib/teamspeak/ts3server $out/bin/ts3server + + wrapProgram $out/lib/teamspeak/ts3server --prefix LD_LIBRARY_PATH : $out/lib/teamspeak + ''; + + dontStrip = true; + dontPatchELF = true; + + meta = { + description = "TeamSpeak voice communication server"; + homepage = http://teamspeak.com/; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.arobyn ]; + }; +} + +/* +License issues: +Date: Mon, 10 Dec 2007 19:55:16 -0500 +From: TeamSpeak Sales +To: 'Marc Weber' +Subject: RE: teamspeak on nix? + +Yes, that would be fine. As long as you are not renting servers or selling +TeamSpeak then you are more than welcome to distribute it. + +Thank you, + +TeamSpeak Sales Team +________________________________ +e-Mail: sales@tritoncia.com +TeamSpeak: http://www.TeamSpeak.com +Account Login: https://sales.TritonCIA.com/users + + + +-----Original Message----- +From: Marc Weber [mailto:marco-oweber@gmx.de] +Sent: Monday, December 10, 2007 5:03 PM +To: sales@tritoncia.com +Subject: teamspeak on nix? + +Hello, + +nix is very young software distribution system (http://nix.cs.uu.nl/) +I'd like to ask wether you permit us to add teamspeak (server/ client?) + +Sincerly +Marc Weber (small nix contributor) +*/ diff --git a/pkgs/applications/networking/irc/chatzilla/default.nix b/pkgs/applications/networking/irc/chatzilla/default.nix index 5d16c979f6a..2010d064f0d 100644 --- a/pkgs/applications/networking/irc/chatzilla/default.nix +++ b/pkgs/applications/networking/irc/chatzilla/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, unzip, xulrunner, makeWrapper }: stdenv.mkDerivation rec { - name = "chatzilla-0.9.88"; - + name = "chatzilla-0.9.90.1"; + src = fetchurl { # Obtained from http://chatzilla.rdmsoft.com/xulrunner/. - url = "http://chatzilla.rdmsoft.com/xulrunner/download/${name}-xr.zip"; - sha256 = "041jpjl7wnbhqm2f8bf2pwp6igjapmy74swac94h54n644wl5nz0"; + url = "http://chatzilla.rdmsoft.com/xulrunner/download/${name}.en-US.xulapp"; + sha256 = "0z38jig91h10cb14rvs30rpg2pgn3v890nyxyy8lxzbv5ncxmngw"; }; buildInputs = [ unzip makeWrapper ]; @@ -17,10 +17,14 @@ stdenv.mkDerivation rec { makeWrapper ${xulrunner}/bin/xulrunner $out/bin/chatzilla \ --add-flags $out/libexec/chatzilla/application.ini + + sed -i $out/libexec/chatzilla/application.ini -e 's/.*MaxVersion.*/MaxVersion=99.*/' ''; meta = { homepage = http://chatzilla.hacksrus.com/; description = "Stand-alone version of Chatzilla, an IRC client"; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/networking/irc/weechat/devel.nix b/pkgs/applications/networking/irc/weechat/devel.nix new file mode 100644 index 00000000000..0ad05089c62 --- /dev/null +++ b/pkgs/applications/networking/irc/weechat/devel.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchgit, ncurses, openssl, perl, python, aspell, gnutls +, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile +, pythonPackages, cacert, cmake, makeWrapper }: + +stdenv.mkDerivation rec { + rev = "70d2b0ad8eb7854932d24c007a05b8627f751205"; + version = "1.0-rev${rev}"; + name = "weechat-${version}"; + + src = fetchgit { + inherit rev; + url = "git://github.com/weechat/weechat.git"; + sha256 = "1k7kcrq46anq87r14sq3vrhij8acn6id7zxyhn0qnjj2wqgrjp5i"; + }; + + buildInputs = + [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig + libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper + cacert cmake + ]; + + postInstall = '' + wrapProgram "$out/bin/weechat" \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + --prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages" + ''; + + meta = { + homepage = http://www.weechat.org/; + description = "A fast, light and extensible chat client"; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ garbas the-kenny ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/networking/jmeter/default.nix b/pkgs/applications/networking/jmeter/default.nix index ddb7b63fc6f..2d5e6b66bf0 100644 --- a/pkgs/applications/networking/jmeter/default.nix +++ b/pkgs/applications/networking/jmeter/default.nix @@ -1,10 +1,10 @@ { fetchurl, stdenv, ant }: stdenv.mkDerivation rec { - name = "jmeter-2.10"; + name = "jmeter-2.11"; src = fetchurl { url = "http://ftp.unicamp.br/pub/apache//jmeter/binaries/apache-${name}.tgz"; - sha256 = "1ygm0h02sllh4mfl5imj46v80wnbs1x7n88gfjm523ixmgsa0fvy"; + sha256 = "1fr3sw06qncb6yygcf2lbnkxma4v1dbigpf39ajrm0isxbpyv944"; }; installPhase = '' diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index 97722a51bb5..dbd5a41afd3 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -15,14 +15,14 @@ assert sslSupport -> openssl != null; assert saslSupport -> cyrus_sasl != null; let - version = "1.5.22"; + version = "1.5.23"; in stdenv.mkDerivation rec { name = "mutt-${version}"; src = fetchurl { - url = "ftp://ftp.mutt.org/mutt/devel/${name}.tar.gz"; - sha256 = "19zk81spnb0gc8y5mwmcfn33g77wv1xz5bmgic8aan07xn8fislg"; + url = "mirror://sourceforge/mutt/${name}.tar.gz"; + sha256 = "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s"; }; buildInputs = [ diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix index 31e65a857df..70d01f5df3e 100644 --- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix +++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix @@ -10,12 +10,14 @@ with stdenv.lib; assert sslSupport -> openssl != null; assert gpgSupport -> gpgme != null; +let version = "3.4.1"; in + stdenv.mkDerivation { - name = "sylpheed-3.2.0"; + name = "sylpheed-${version}"; src = fetchurl { - url = http://sylpheed.sraoss.jp/sylpheed/v3.2/sylpheed-3.2.0.tar.bz2; - sha256 = "1cdjwn1f8rgcxzfxj7j7qvacmaw4zfhnip81q4n5lj5d6rj7rssa"; + url = "http://sylpheed.sraoss.jp/sylpheed/v3.4/sylpheed-${version}.tar.bz2"; + sha256 = "11wpifvn8a0p4dqmvi7r61imqkgm6rjjp3h057c344vny37livbx"; }; buildInputs = diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix new file mode 100644 index 00000000000..c801c0f69b0 --- /dev/null +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -0,0 +1,266 @@ +{ stdenv, fetchurl, config +, gconf +, alsaLib +, at_spi2_atk +, atk +, cairo +, cups +, curl +, dbus_glib +, dbus_libs +, fontconfig +, freetype +, gdk_pixbuf +, glib +, glibc +, gst_plugins_base +, gstreamer +, gtk +, kerberos +, libX11 +, libXScrnSaver +, libXext +, libXinerama +, libXrender +, libXt +, libcanberra +, libgnome +, libgnomeui +, mesa +, nspr +, nss +, pango +}: + +let + version = "24.5.0"; + + sources = [ + { locale = "ar"; arch = "linux-i686"; sha256 = "a5d7a95ed93277c5e7191f868df343d1a1d14e6c692cac1e6069fd9ee7177273"; } + { locale = "ar"; arch = "linux-x86_64"; sha256 = "b3100ead31d208968edd5b8545b641d0db9692d31a63e07fa9c391dca61de8a4"; } + { locale = "ast"; arch = "linux-i686"; sha256 = "059ed2a01afabebc7bd28cc79841debcaaa0bf015f28145c719396d4e612f535"; } + { locale = "ast"; arch = "linux-x86_64"; sha256 = "75874c6fcabb21332095562b9f86b7c6b668efdfb09904b83fa20743e1740790"; } + { locale = "be"; arch = "linux-i686"; sha256 = "7eda8e02a15284a0e6814072a0212457a25bcfef5058e1c376fc22facb2970f1"; } + { locale = "be"; arch = "linux-x86_64"; sha256 = "9fb0150098810b152ecf95e0826a3bac1dbffdfd2f8f2ce400841cb4981e3f3d"; } + { locale = "bg"; arch = "linux-i686"; sha256 = "6929e9c0580e62cffb3bfffb1398f35b7ac59dcc3d76a4a5c49a20cfb72e6d60"; } + { locale = "bg"; arch = "linux-x86_64"; sha256 = "19e2098131a6e280f1f8e8bae7c623ebe1081b0ea0dea81ebbaea51111774729"; } + { locale = "bn-BD"; arch = "linux-i686"; sha256 = "30f95bf5d5974ab417ff5a24fad78687b88b3f16e2337a3a4a22dd4f1d670c7a"; } + { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "85000f577549ccf35b2a43dc3a79264b78d100dce1e0cfd3418a0ec1f87cff90"; } + { locale = "br"; arch = "linux-i686"; sha256 = "ef31dbfc1cc4528ee762e384d5e12fb6383f57ea34d4d1625975a2341d5004da"; } + { locale = "br"; arch = "linux-x86_64"; sha256 = "d2f8330081a203477c6fc6007230f3893290c17aab4ba9e8ed591ddc337dd73c"; } + { locale = "ca"; arch = "linux-i686"; sha256 = "86be66b6f8075cd85470e60a1e278fb7992fbd130b6481f0ebc21e9ad46c647f"; } + { locale = "ca"; arch = "linux-x86_64"; sha256 = "a2b19e3ce3a747e4b1e5b52d463e3f5822e8e120a7e043d83057746552fa9867"; } + { locale = "cs"; arch = "linux-i686"; sha256 = "632ece525a79537acad192f8ec37fbb1e3423bcf64b1af5d18da34f1410ffbae"; } + { locale = "cs"; arch = "linux-x86_64"; sha256 = "f45e4701d4b81e4a5a052b5759616540317b9e89e241dc97ad1ffc39b18abaed"; } + { locale = "da"; arch = "linux-i686"; sha256 = "9befe92c296b57c7a7b97ecb6eb23803c93949056177df72bc111c6e18d497f0"; } + { locale = "da"; arch = "linux-x86_64"; sha256 = "343ef548a102a63a96b1a10745ff7866f30ac6524d4f7a2ced1be3cb3bd9f64c"; } + { locale = "de"; arch = "linux-i686"; sha256 = "010c9225f56a3d9f552f77502daf2e70e88e45f85b39f183907741ad773cf811"; } + { locale = "de"; arch = "linux-x86_64"; sha256 = "ed60c8dd0abda8c8cabdf34fcb96d39463cde9cdf1247af44438da7586490120"; } + { locale = "el"; arch = "linux-i686"; sha256 = "03affa186bb66fabd9b61d0e53cb7f75aa13702a58fd2dd551e6da1b6e9cfd87"; } + { locale = "el"; arch = "linux-x86_64"; sha256 = "d60419e5ebeec445e8efc8d9db59d093060be86af140605c8019a8f24680c4bb"; } + { locale = "en-GB"; arch = "linux-i686"; sha256 = "e1b6c1f3f30ea522410f947c9cf331e3d580a1620af63401186d435707a041d8"; } + { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "6d873704a2cbeb2549dd2e55b8c915292b7167ce2f5022defd3bb2c0ad29da58"; } + { locale = "en-US"; arch = "linux-i686"; sha256 = "6441f90eda22808c37bca023748efee7735cf9b18b1d21ce75878c10da8baad7"; } + { locale = "en-US"; arch = "linux-x86_64"; sha256 = "a54afdf7dcadb94bfe2bc6ea3d6232d311568a74ed3fd93becff9cd57063ff0c"; } + { locale = "es-AR"; arch = "linux-i686"; sha256 = "989f400b587a75160a4ef1b6913819e0bd2c8b0689753b233943e61412bdba4d"; } + { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "c294e1a4173dd14222d0edba31c529a3f9005412de728b1a17602e2a89c84af8"; } + { locale = "es-ES"; arch = "linux-i686"; sha256 = "f6eac1108efaaa0c5f34c4856e7db5236c60b8aba7c99558b32b4e60f1df3dea"; } + { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "74132bc1e0fbe03c462399860168928bb1bca20ee1b0bf9a80262538ce320f57"; } + { locale = "et"; arch = "linux-i686"; sha256 = "09fea4be7480ae51d7d68bc4b044c4d4a79e405893c4952ae083a8f417b99b85"; } + { locale = "et"; arch = "linux-x86_64"; sha256 = "c8c5d621d975cfeb22695e589dd69a360d1b1dc6a4d0f52afc3b778835fbdb55"; } + { locale = "eu"; arch = "linux-i686"; sha256 = "19af889a9205d99080aa1a0afc7c75d0c43a970f864d4cefb956cc37c618b7d7"; } + { locale = "eu"; arch = "linux-x86_64"; sha256 = "0074802e84cab6ad21de7d960709ba15531705f4ff60bf141a917edb5295c201"; } + { locale = "fi"; arch = "linux-i686"; sha256 = "ae301f557be17b60290ee0910053fc99ab367fd6a68b4f0c27e1e80316fea95d"; } + { locale = "fi"; arch = "linux-x86_64"; sha256 = "567009788743148001e842418bfa520275ae6ed39857fd99da90ea37f6635008"; } + { locale = "fr"; arch = "linux-i686"; sha256 = "0491d2760611a5709c23df1a3ae618b4bc069c4af5ce2b2b7ae491bac390c058"; } + { locale = "fr"; arch = "linux-x86_64"; sha256 = "64e4cfe3e899cbd71ac3c3b6052d742bae4215704eeffb51f27c93f98ec7f3cb"; } + { locale = "fy-NL"; arch = "linux-i686"; sha256 = "9d72a5fdc02ce45030bf44d7d8b31274cfb3579efc93d064824e6909fef2ed81"; } + { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "f04d7404ce637abd3d807484422970852db0253da3da0a0654f3bea213f352a3"; } + { locale = "ga-IE"; arch = "linux-i686"; sha256 = "853112a5c6fda45afed60a9c9f2d5f9fe972d21b092ae83cc4a3796f1be90b91"; } + { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "36b0cef0ba9e483b13ce5f9fd12e7bc11e2bd0270b5b34e5b2690e79248724b5"; } + { locale = "gd"; arch = "linux-i686"; sha256 = "fcb07754340c2558e94ce44ac6e1577fb4cd155577b6bece74ceb61b2bf204b1"; } + { locale = "gd"; arch = "linux-x86_64"; sha256 = "cc842860d7abfc114c0db47d832508a70ea1ff0bc726fc58ccb875c245689d2b"; } + { locale = "gl"; arch = "linux-i686"; sha256 = "325e8a27d49b1748ac7b5c2070d32df0d66c8d9b1b651136d500d2bb4bfefe14"; } + { locale = "gl"; arch = "linux-x86_64"; sha256 = "dd4c6aad88ac32d6175320bd82026ae6b1c4f7b44fe04904743c7e7e3d270642"; } + { locale = "he"; arch = "linux-i686"; sha256 = "cbf801085b4a7a3b2ac84790b176fbea8e254b13776bd19413d4c5b6522645ea"; } + { locale = "he"; arch = "linux-x86_64"; sha256 = "9d60e3a8b5756bc3d3a9148dee458c28bed9bf1fac29587bd7e95318a78f59d8"; } + { locale = "hr"; arch = "linux-i686"; sha256 = "4361a3dc02a0dc8a26716a96aa47f0c529e0942658fcd16b472d03ae1f0f50d7"; } + { locale = "hr"; arch = "linux-x86_64"; sha256 = "b23b33c823ee55daa5a3f90a9f1f616fb8ea67be912182b6118521541f7039fa"; } + { locale = "hu"; arch = "linux-i686"; sha256 = "3d2e37fbdd5af291bc90666460258b61e4b499007ad9bba5e6e48b3b3f9cb068"; } + { locale = "hu"; arch = "linux-x86_64"; sha256 = "a7b904317bcf046f9139c415f1c453b66e355b31291211dc8dac76200902ac11"; } + { locale = "hy-AM"; arch = "linux-i686"; sha256 = "8802522b5db21a9230ae856f90013d80a466a8c2caed35079318ece7028120cd"; } + { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "43e899856a625d8dea84c79c0c7d1dfa15f286da628cec9f99c351139de1831e"; } + { locale = "id"; arch = "linux-i686"; sha256 = "6ff994c056189d13a0c36cde5925e45ba3ba52ccab61486b338a1753eafc09c8"; } + { locale = "id"; arch = "linux-x86_64"; sha256 = "287e89ba01280eb778b1cf1f2fd9859610b46f2abfe369fe54d4af8cc1f675ac"; } + { locale = "is"; arch = "linux-i686"; sha256 = "5ee6ea3e48d526af3ef29ef374b40a0cafb299d32c1d6af4684382b8b171f88c"; } + { locale = "is"; arch = "linux-x86_64"; sha256 = "aae33e6b2e75a9db69d17d356bc49e026bf39199cd1612ce42aa41a102a1ac03"; } + { locale = "it"; arch = "linux-i686"; sha256 = "3a54ac3fc738e02c8ed9b7a730624497fab15dee4f9f82e84a526dd5600e300a"; } + { locale = "it"; arch = "linux-x86_64"; sha256 = "cc99d99214e6d847fc885af036783fe3c1b2a55b04c758bbb2fd5bd0a39463ff"; } + { locale = "ja"; arch = "linux-i686"; sha256 = "804485d204392b52b4bfdbb28804f729614c53fa692a89e58f97161c89809bf0"; } + { locale = "ja"; arch = "linux-x86_64"; sha256 = "8bdce5e6f97c2747ff209acee7fad24f2dc0e07801ee30754370bb0450d383f7"; } + { locale = "ko"; arch = "linux-i686"; sha256 = "61ab133865b2c62ea88154917ddf1383a3157b96ac3b073568e392036874f5d7"; } + { locale = "ko"; arch = "linux-x86_64"; sha256 = "695ef59b94626f03151c8bd68ea799b0ae5e879a57f8185af5557799211bda1f"; } + { locale = "lt"; arch = "linux-i686"; sha256 = "014e8604790af3fa4af504986b86dc0de4bd2e53267548c01bb85e48bc90ffc5"; } + { locale = "lt"; arch = "linux-x86_64"; sha256 = "8c803b613526d39618c8e82d9f981293ebb6799136697488ef4d10eb2a485808"; } + { locale = "nb-NO"; arch = "linux-i686"; sha256 = "bfc828d3882588a9909fef1d6731a6bc1636eaf53342a57d56e3fbc975133869"; } + { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "f25bc7dacd28fd2c907565ab608d504abcc2896118e4cd8813de28c75d26c569"; } + { locale = "nl"; arch = "linux-i686"; sha256 = "cb94f869fa63215686465bb29a8c05f80611cd60a82d7cbded6ddf55577172e1"; } + { locale = "nl"; arch = "linux-x86_64"; sha256 = "ecb185013de3d55cfafaa156821308453a90a123b99d122ea4ef7a29e7d7fab5"; } + { locale = "nn-NO"; arch = "linux-i686"; sha256 = "8719216b8cc0293d8aa23c04e2d663dfef515a7bc1b6e06a5f03bed3d6fb3b6a"; } + { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "f6617cf98b49d28ae7fa8e7d022587c6ed8138c758ff088c5abc78f7bdd52613"; } + { locale = "pa-IN"; arch = "linux-i686"; sha256 = "b0e57d139f359850558f40bad00b2c4e69da8e9d73ec9aa7d180b9f33d970449"; } + { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "2efcfe4b366f7ff5dc95c45cb229aeed316315fe4554651e5d0239985cd64fdb"; } + { locale = "pl"; arch = "linux-i686"; sha256 = "3d579ed8e18d98c446a5f069d6d2e94a3ee234c75feffbaf99f561ef7bd45a2e"; } + { locale = "pl"; arch = "linux-x86_64"; sha256 = "04090e4b4b412f79d1879340c36e36c65e4f23fde5dc545b4d855c8497ca47f7"; } + { locale = "pt-BR"; arch = "linux-i686"; sha256 = "9d202dd10b626ed9753ac5e243c14f6b1eee76e8edd40389f56003c4e8816c83"; } + { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "3b82124d8956e83657b30347ef3b5e44cf3813c1b02998b197c817c6528423c0"; } + { locale = "pt-PT"; arch = "linux-i686"; sha256 = "65ebb88e9e544c38a9d85a70a1920ed9c6ec03452762f98cb2fe104912074b44"; } + { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "fba7f18daee4832b9851615a0597dbde98a5271c5882d56ab4c1e0cb6d8c4783"; } + { locale = "rm"; arch = "linux-i686"; sha256 = "e0ffc4b23cbf4a92768eff507335dffb92fad26d02662adf77e0ccff4f4b6c8b"; } + { locale = "rm"; arch = "linux-x86_64"; sha256 = "555e30eaa6942543c7b1cd3569a6480016be5826a474a76c2ba8e2078d6d5b83"; } + { locale = "ro"; arch = "linux-i686"; sha256 = "38bf63ae8365fbe1ca88b683d94c21cd5620a7397b3b344c0e4e938287311ec3"; } + { locale = "ro"; arch = "linux-x86_64"; sha256 = "328cb7395e61924240f8e29399bf1d64179bce5bb911595cda422b741d9b6f34"; } + { locale = "ru"; arch = "linux-i686"; sha256 = "8df9749d8dbe4218910026a8e4c4145b1f155903e577a16758d15eefbc2715f9"; } + { locale = "ru"; arch = "linux-x86_64"; sha256 = "99cd036facc18242e5ab5df00a480e5c7c779b50fa95eac191bbebfa7343a270"; } + { locale = "si"; arch = "linux-i686"; sha256 = "4ce33a17b148329334e596186d274b9c262a779e7190f9777dd0673df12f7b4c"; } + { locale = "si"; arch = "linux-x86_64"; sha256 = "c22cd896e651b2e664128411710a80a33471319951f5aff3cfc86ff86de39a86"; } + { locale = "sk"; arch = "linux-i686"; sha256 = "30351a15f43f905bf69e578d9ce14506ade61e805e34097f81bf8ac50f1f9ee9"; } + { locale = "sk"; arch = "linux-x86_64"; sha256 = "c8930d6ebff4f7429af5daf72648651162543fa000acad0fb63179c2c3f150e6"; } + { locale = "sl"; arch = "linux-i686"; sha256 = "10c61d7e3bc592f23811d5a06fcdc892a088cbef7fc3298e8ed9937dc7518b37"; } + { locale = "sl"; arch = "linux-x86_64"; sha256 = "81483f6bdc85eb244904d3a8328d81391be24ea2ae7604cb00bbf922025afd89"; } + { locale = "sq"; arch = "linux-i686"; sha256 = "8ac202a6eb0a3f08e9c34502b26b0cf1a85ab43850658cce7042f0afd5f9f50a"; } + { locale = "sq"; arch = "linux-x86_64"; sha256 = "23fc8634b6dfa984c530292f7f01f9a2d43b196a8092f93cc435abd7a8d131de"; } + { locale = "sr"; arch = "linux-i686"; sha256 = "9c96c0935b7a0124059caea758ba3319cc3a5977e542965f663d2daa54f5a32e"; } + { locale = "sr"; arch = "linux-x86_64"; sha256 = "2d64f970c70f34bd726296b8aa2db243c245d2c36167a36de7032ae17fc1ccb2"; } + { locale = "sv-SE"; arch = "linux-i686"; sha256 = "1b0d6476248896b9224c5c69a944084677df45e273508bf8d629eb14b57662a9"; } + { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "05977173bdd460eab1ff5a7065067b4074417297e38dbc70c6cceedca0c933b5"; } + { locale = "ta-LK"; arch = "linux-i686"; sha256 = "3ef8950e8aa9f130aa66a1ad2cfdd21c2ba9572ef3e0d868d7a8fbf1ef8e3291"; } + { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "be101ca34d96577ccc6ba715235eefa9dd065f04a651e9a35786f9edb6278a98"; } + { locale = "tr"; arch = "linux-i686"; sha256 = "d5b35faa3e0e09af778aebec4b33f39bbce98465a39edb2da15197671b777abe"; } + { locale = "tr"; arch = "linux-x86_64"; sha256 = "995c1abcd5357cfda831d07ad6e0b762fbabda61601a58122acc2e8942fb944a"; } + { locale = "uk"; arch = "linux-i686"; sha256 = "6c5b0df0a1448fcf1cebc8d82072d5653cb0432e2f787179526bae4cef774352"; } + { locale = "uk"; arch = "linux-x86_64"; sha256 = "86f3ce21bc863eb8f3e0099d9386e0f38ad8b2c8e29a79e47bfda37acecd991f"; } + { locale = "vi"; arch = "linux-i686"; sha256 = "0a21d13abb629549df74d956cc1c5f99c879980fbee2d269e1532610aebb404c"; } + { locale = "vi"; arch = "linux-x86_64"; sha256 = "29cbf72f4990eb55d30a85a767d01c8077ab89af69eba3b7299d43871aaa165e"; } + { locale = "xpi"; arch = "linux-i686"; sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; } + { locale = "xpi"; arch = "linux-x86_64"; sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; } + { locale = "zh-CN"; arch = "linux-i686"; sha256 = "1527b8e9f245c96d0104f0b7d5c8dc696036fbb80067d14a1eee9a423ddd9368"; } + { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "ae294571b8433b646b5d65a0cb1ab7f42295b17369f5ec82c2383c654df28e20"; } + { locale = "zh-TW"; arch = "linux-i686"; sha256 = "98e5c8f912d1a03f5c0a2f14b63f350823d15f1253e15a318b61227ba82fec0e"; } + { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "49ee58ad3978113e10de520eb094fc9c0f4d740ca6c0a0e07d5743e313163d0f"; } + ]; + + arch = if stdenv.system == "i686-linux" + then "linux-i686" + else "linux-x86_64"; + + isPrefixOf = prefix: string: + builtins.substring 0 (builtins.stringLength prefix) string == prefix; + + sourceMatches = locale: source: + (isPrefixOf source.locale locale) && source.arch == arch; + + systemLocale = config.i18n.defaultLocale or "en-US"; + + defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources; + + source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources; + +in + +stdenv.mkDerivation { + name = "thunderbird-bin-${version}"; + + src = fetchurl { + url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2"; + inherit (source) sha256; + }; + + phases = "unpackPhase installPhase"; + + libPath = stdenv.lib.makeLibraryPath + [ stdenv.gcc.gcc + gconf + alsaLib + at_spi2_atk + atk + cairo + cups + curl + dbus_glib + dbus_libs + fontconfig + freetype + gdk_pixbuf + glib + glibc + gst_plugins_base + gstreamer + gtk + kerberos + libX11 + libXScrnSaver + libXext + libXinerama + libXrender + libXt + libcanberra + libgnome + libgnomeui + mesa + nspr + nss + pango + ] + ":" + stdenv.lib.makeSearchPath "lib64" [ + stdenv.gcc.gcc + ]; + + installPhase = + '' + mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}" + cp -r * "$prefix/usr/lib/thunderbird-bin-${version}" + + mkdir -p "$out/bin" + ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/" + + for executable in \ + thunderbird mozilla-xremote-client thunderbird-bin plugin-container \ + updater + do + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + "$out/usr/lib/thunderbird-bin-${version}/$executable" + done + + for executable in \ + thunderbird mozilla-xremote-client thunderbird-bin plugin-container \ + updater libxul.so + do + patchelf --set-rpath "$libPath" \ + "$out/usr/lib/thunderbird-bin-${version}/$executable" + done + + # Create a desktop item. + mkdir -p $out/share/applications + cat > $out/share/applications/thunderbird.desktop < +Date: Sun, 13 Apr 2014 15:17:24 +0200 +Subject: [PATCH] Lookup dumpcap in PATH + +NixOS patch: Look for dumpcap in PATH first, because there may be a +dumpcap setuid-wrapper that we want to use instead of the default +non-setuid dumpcap binary. + +Also change execv() to execvp() because we've set argv[0] to "dumpcap" +and have to enable PATH lookup. Wireshark is not a setuid program, so +looking in PATH is not a security issue. +--- + capture_sync.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/capture_sync.c b/capture_sync.c +index eb05fae..efb5675 100644 +--- a/capture_sync.c ++++ b/capture_sync.c +@@ -326,8 +326,18 @@ init_pipe_args(int *argc) { + argv = (char **)g_malloc(sizeof (char *)); + *argv = NULL; + +- /* take Wireshark's absolute program path and replace "Wireshark" with "dumpcap" */ +- exename = g_strdup_printf("%s" G_DIR_SEPARATOR_S "dumpcap", progfile_dir); ++ /* ++ * NixOS patch: Look for dumpcap in PATH first, because there may be a ++ * dumpcap setuid-wrapper that we want to use instead of the default ++ * non-setuid dumpcap binary. ++ */ ++ if (system("command -v dumpcap >/dev/null") == 0) { ++ /* Found working dumpcap */ ++ exename = g_strdup_printf("dumpcap"); ++ } else { ++ /* take Wireshark's absolute program path and replace "Wireshark" with "dumpcap" */ ++ exename = g_strdup_printf("%s" G_DIR_SEPARATOR_S "dumpcap", progfile_dir); ++ } + + /* Make that the first argument in the argument list (argv[0]). */ + argv = sync_pipe_add_arg(argv, argc, exename); +@@ -649,7 +659,7 @@ sync_pipe_start(capture_options *capture_opts, capture_session *cap_session, voi + */ + dup2(sync_pipe[PIPE_WRITE], 2); + ws_close(sync_pipe[PIPE_READ]); +- execv(argv[0], argv); ++ execvp(argv[0], argv); + g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s", + argv[0], g_strerror(errno)); + sync_pipe_errmsg_to_parent(2, errmsg, ""); +@@ -879,7 +889,7 @@ sync_pipe_open_command(char** argv, int *data_read_fd, + dup2(sync_pipe[PIPE_WRITE], 2); + ws_close(sync_pipe[PIPE_READ]); + ws_close(sync_pipe[PIPE_WRITE]); +- execv(argv[0], argv); ++ execvp(argv[0], argv); + g_snprintf(errmsg, sizeof errmsg, "Couldn't run %s in child process: %s", + argv[0], g_strerror(errno)); + sync_pipe_errmsg_to_parent(2, errmsg, ""); +-- +1.9.0 + diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index 5447b21009f..6a5c574f638 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -6,30 +6,38 @@ 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; - patches = [] ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff"; + patches = [(fetchurl { + url = "https://git.samba.org/?p=rsync.git;a=commitdiff_plain;h=0dedfbce2c1b851684ba658861fe9d620636c56a"; + sha256 = "1jpwwdf07naqxc8fv1lspc95jgk50j5j3wvf037bjay2qzpwjmvf"; + name = "CVE-2014-2855.patch"; + })] + ++ stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff"; buildInputs = stdenv.lib.optional enableACLs acl; nativeBuildInputs = [perl]; + configureFlags = "--with-nobody-group=nogroup"; + meta = { homepage = http://samba.anu.edu.au/rsync/; description = "A fast incremental file transfer utility"; 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/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 50bc61eeeff..28603daa9c6 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -2,29 +2,25 @@ stdenv.mkDerivation rec { name = "syncthing-${version}"; - version = "0.7.1"; + version = "0.8.11"; src = fetchgit { url = "git://github.com/calmh/syncthing.git"; rev = "refs/tags/v${version}"; - sha256 = "1rja837kimiq15km8cridbm5yxvkm6mkvkwywdi76qf9rm0pcjl1"; + sha256 = "16dl9sqwhv0n1602pmi10d5j7z2196ijhvz4rfx7732210qbkpnn"; }; buildInputs = [ go ]; + patches = [ ./upnp.patch ]; + 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" + for a in auto buffers cid discover files lamport protocol scanner \ + logger beacon config xdr upnp model osutil versioner; do + cp -r "./$a" "./dependencies/src/github.com/calmh/syncthing" + done export GOPATH="`pwd`/Godeps/_workspace:`pwd`/dependencies" diff --git a/pkgs/applications/networking/syncthing/upnp.patch b/pkgs/applications/networking/syncthing/upnp.patch new file mode 100644 index 00000000000..f4164b4f6bc --- /dev/null +++ b/pkgs/applications/networking/syncthing/upnp.patch @@ -0,0 +1,28 @@ +Trying to fix upnp for miniupnpd: +https://github.com/calmh/syncthing/issues/211 + +diff --git a/upnp/upnp.go b/upnp/upnp.go +index 9de719a..9c85b23 100644 +--- a/upnp/upnp.go ++++ b/upnp/upnp.go +@@ -60,14 +60,12 @@ func Discover() (*IGD, error) { + return nil, err + } + +- search := []byte(` +-M-SEARCH * HTTP/1.1 +-Host: 239.255.255.250:1900 +-St: urn:schemas-upnp-org:device:InternetGatewayDevice:1 +-Man: "ssdp:discover" +-Mx: 3 +- +-`) ++ search := []byte("M-SEARCH * HTTP/1.1\r\n" + ++"Host: 239.255.255.250:1900\r\n" + ++"St: urn:schemas-upnp-org:device:InternetGatewayDevice:1\r\n" + ++"Man: \"ssdp:discover\"\r\n" + ++"Mx: 3\r\n" + ++"\r\n") + + _, err = socket.WriteTo(search, ssdp) + if err != nil { diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix index dbf886de978..fdd02aac0b5 100644 --- a/pkgs/applications/networking/znc/default.nix +++ b/pkgs/applications/networking/znc/default.nix @@ -7,11 +7,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "znc-1.2"; + name = "znc-1.4"; src = fetchurl { url = "http://znc.in/releases/${name}.tar.gz"; - sha256 = "07bh306wl5494sqsgz4a526wvyrylkc8vpnbr5pkxwjg90mcv8nr"; + sha256 = "0lkv58pq4d5lzcyx8v8anzinx0sx0zw0js4jij13jb8qxp88zsc6"; }; buildInputs = [ openssl pkgconfig ] diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index 0ae27e322b7..014aa5bf0fd 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -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/hledger-irr/default.nix b/pkgs/applications/office/hledger-irr/default.nix index 430b93011a3..303c6486381 100644 --- a/pkgs/applications/office/hledger-irr/default.nix +++ b/pkgs/applications/office/hledger-irr/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "hledger-irr"; - version = "0.1.1.3"; - sha256 = "0vjf478b9msmgr1nxyy8pgc9mvn61i768ypcr5gbinsnsr9kxqsm"; + version = "0.1.1.4"; + sha256 = "0nqd8br86d71dpwq7p8956q74pgqdimid42xikp9zvf632x2s8ax"; isLibrary = false; isExecutable = true; buildDepends = [ Cabal hledgerLib statistics time ]; diff --git a/pkgs/applications/office/keepnote/default.nix b/pkgs/applications/office/keepnote/default.nix index 514b8fd3151..419d761b095 100644 --- a/pkgs/applications/office/keepnote/default.nix +++ b/pkgs/applications/office/keepnote/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, buildPythonPackage, pythonPackages, pygtk }: buildPythonPackage { - name = "keepnote-0.6.5"; + name = "keepnote-0.7.8"; namePrefix = ""; src = fetchurl { - url = http://rasm.ods.org/keepnote/download/keepnote-0.6.5.tar.gz; - sha256 = "0kipcy90r50z4m9p8pyy9wi4dknsiwdrgy974xgakris2rh4lafw"; + url = "http://keepnote.org/download/keepnote-0.7.8.tar.gz"; + sha256 = "0nhkkv1n0lqf3zn17pxg5cgryv1wwlj4hfmhixwd76rcy8gs45dh"; }; propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk ]; diff --git a/pkgs/applications/office/ledger/2.6.3.nix b/pkgs/applications/office/ledger/2.6.3.nix index ca71ceeca66..69015dfb2d7 100644 --- a/pkgs/applications/office/ledger/2.6.3.nix +++ b/pkgs/applications/office/ledger/2.6.3.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, emacs, gmp, pcre, expat }: stdenv.mkDerivation rec { - name = "ledger-2.6.3"; + name = "ledger2-2.6.3"; src = fetchurl { url = "https://github.com/downloads/ledger/ledger/${name}.tar.gz"; diff --git a/pkgs/applications/office/ledger/3.0.nix b/pkgs/applications/office/ledger/3.0.nix index 1afa3a979e3..21f77ea1ea4 100644 --- a/pkgs/applications/office/ledger/3.0.nix +++ b/pkgs/applications/office/ledger/3.0.nix @@ -1,28 +1,28 @@ -{ stdenv, fetchgit, cmake, boost, gmp, mpfr, libedit, python, texinfo }: +{ stdenv, fetchgit, cmake, boost, gmp, mpfr, libedit, python +, texinfo, gnused }: let - rev = "3b5f496536"; + rev = "a0c5addbbd"; in + stdenv.mkDerivation { - name = "ledger3-2013.12.${rev}"; + name = "ledger-3.0.2.${rev}"; src = fetchgit { - url = "https://github.com/ledger/ledger.git"; + url = "git://github.com/ledger/ledger.git"; inherit rev; - sha256 = "0r36zsdsyy6aylfcwyqra4796y4abi3b27wv5fvk3g2bmyzqzx4j"; + sha256 = "1yr4i8gpby67j4vl7xk109dwb14z8a424nwgva8rbms8115w4ps5"; }; - buildInputs = [ cmake boost gmp mpfr libedit python texinfo ]; + buildInputs = [ cmake boost gmp mpfr libedit python texinfo gnused ]; - # Tests on Darwin are failing - doCheck = !stdenv.isDarwin; enableParallelBuilding = true; # Skip byte-compiling of emacs-lisp files because this is currently # broken in ledger... postInstall = '' mkdir -p $out/share/emacs/site-lisp/ - cp -v $src/lisp/*.el $out/share/emacs/site-lisp/ + cp -v "$src/lisp/"*.el $out/share/emacs/site-lisp/ ''; meta = { @@ -38,6 +38,6 @@ stdenv.mkDerivation { ''; platforms = stdenv.lib.platforms.all; - maintainers = with stdenv.lib.maintainers; [ simons the-kenny ]; + maintainers = with stdenv.lib.maintainers; [ simons the-kenny jwiegley ]; }; } diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 5918f0612ce..f4da232c747 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -257,6 +257,7 @@ stdenv.mkDerivation rec { neon nspr nss openldap openssl ORBit2 pam perl pkgconfigUpstream poppler python3 sablotron saneBackends tcsh unzip vigra which zip zlib mdds bluez5 glibc libmspub libixion liborcus liblangtag + libxshmfence ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 4afd250a549..5b311956da9 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -3,7 +3,7 @@ assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"); let - version = "4.0.19"; + version = "4.0.20"; arch = if stdenv.system == "x86_64-linux" then "linux-x86_64" else "linux-i686"; @@ -14,8 +14,8 @@ stdenv.mkDerivation { src = fetchurl { url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2"; sha256 = if stdenv.system == "x86_64-linux" - then "0xihvk7ms1vvzmxvpw8hs15pl1vvmf3zd72nwyaqhg469kwcz9s1" - else "1z4q8nzl90snb03ywk0cp64nv3cgasj9fvbcw2d4bgl2zlgwzpy9"; + then "0d7813k3h60fpxabdwiw83g5zfy9knxc9irgxxz60z31vd14zi0x" + else "0nj4mj22bkn2nwbkfs40kg4br6h6gcf718v9lfnvs13cyhx0wapc"; }; # Strip the bundled xulrunner diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix new file mode 100644 index 00000000000..07724d93254 --- /dev/null +++ b/pkgs/applications/science/electronics/pulseview/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, cmake, glib, qt4, boost, libsigrok +, libsigrokdecode, libserialport, libzip, udev, libusb1, libftdi +}: + +stdenv.mkDerivation rec { + name = "pulseview-0.2.0"; + + src = fetchurl { + url = "http://sigrok.org/download/source/pulseview/${name}.tar.gz"; + sha256 = "1pf1dgwd9j586nqmni6gqf3qxrsmawcmi9wzqfzqkjci18xd7dgy"; + }; + + buildInputs = [ pkgconfig cmake glib qt4 boost libsigrok + libsigrokdecode libserialport libzip udev libusb1 libftdi + ]; + + meta = with stdenv.lib; { + description = "Qt-based LA/scope/MSO GUI for sigrok (a signal analysis software suite)"; + homepage = http://sigrok.org/; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/applications/science/electronics/qfsm/default.nix b/pkgs/applications/science/electronics/qfsm/default.nix index 0f24784e9e5..160c530e722 100644 --- a/pkgs/applications/science/electronics/qfsm/default.nix +++ b/pkgs/applications/science/electronics/qfsm/default.nix @@ -18,7 +18,6 @@ stdenv.mkDerivation rec { description = "Graphical editor for finite state machines"; homepage = "http://qfsm.sourceforge.net/"; license = stdenv.lib.licenses.gpl3Plus; - maintainers = [ stdenv.lib.maintainers.simons ]; - platforms = stdenv.lib.platforms.linux; + broken = true; }; } diff --git a/pkgs/applications/science/electronics/tkgate/1.x.nix b/pkgs/applications/science/electronics/tkgate/1.x.nix index 7c04c85fdb7..1feac0b31c1 100644 --- a/pkgs/applications/science/electronics/tkgate/1.x.nix +++ b/pkgs/applications/science/electronics/tkgate/1.x.nix @@ -1,7 +1,9 @@ -{ stdenv, fetchurl, tcl, tk, libX11, libiconvOrLibc, which, yacc, flex, imake, xproto, gccmakedep }: - -assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; +{ stdenv, fetchurl, tcl, tk, libX11, glibc, which, yacc, flex, imake, xproto, gccmakedep }: +let + libiconvInc = stdenv.lib.optionalString stdenv.isLinux "${glibc}/include"; + libiconvLib = stdenv.lib.optionalString stdenv.isLinux "${glibc}/lib"; +in stdenv.mkDerivation rec { name = "tkgate-1.8.7"; @@ -10,13 +12,13 @@ stdenv.mkDerivation rec { sha256 = "1pqywkidfpdbj18i03h97f4cimld4fb3mqfy8jjsxs12kihm18fs"; }; - buildInputs = [ tcl tk libX11 libiconvOrLibc which yacc flex imake xproto gccmakedep ]; + buildInputs = [ tcl tk libX11 which yacc flex imake xproto gccmakedep ]; patchPhase = '' sed -i config.h \ -e 's|.*#define.*TKGATE_TCLTK_VERSIONS.*|#define TKGATE_TCLTK_VERSIONS "8.5"|' \ - -e 's|.*#define.*TKGATE_INCDIRS.*|#define TKGATE_INCDIRS "${tcl}/include ${tk}/include ${libiconvOrLibc}/include ${libX11}/include"|' \ - -e 's|.*#define.*TKGATE_LIBDIRS.*|#define TKGATE_LIBDIRS "${tcl}/lib ${tk}/lib ${libiconvOrLibc}/lib ${libX11}/lib"|' \ + -e 's|.*#define.*TKGATE_INCDIRS.*|#define TKGATE_INCDIRS "${tcl}/include ${tk}/include ${libiconvInc} ${libX11}/include"|' \ + -e 's|.*#define.*TKGATE_LIBDIRS.*|#define TKGATE_LIBDIRS "${tcl}/lib ${tk}/lib ${libiconvLib} ${libX11}/lib"|' \ \ -e '20 i #define TCL_LIBRARY "${tcl}/lib"' \ -e '20 i #define TK_LIBRARY "${tk}/lib/${tk.libPrefix}"' \ @@ -33,6 +35,6 @@ stdenv.mkDerivation rec { homepage = "http://www.tkgate.org/"; license = "GPLv2+"; maintainers = [ stdenv.lib.maintainers.simons ]; - platforms = stdenv.lib.platforms.linux; + hydraPlatforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/science/electronics/tkgate/2.x.nix b/pkgs/applications/science/electronics/tkgate/2.x.nix index 756fe7052d8..25c6a309cf3 100644 --- a/pkgs/applications/science/electronics/tkgate/2.x.nix +++ b/pkgs/applications/science/electronics/tkgate/2.x.nix @@ -1,7 +1,9 @@ -{ stdenv, fetchurl, tcl, tk, libX11, libiconvOrLibc }: - -assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; +{ stdenv, fetchurl, tcl, tk, libX11, glibc }: +let + libiconvInc = stdenv.lib.optionalString stdenv.isLinux "${glibc}/include"; + libiconvLib = stdenv.lib.optionalString stdenv.isLinux "${glibc}/lib"; +in stdenv.mkDerivation rec { name = "tkgate-2.0-b10"; @@ -16,8 +18,8 @@ stdenv.mkDerivation rec { patchPhase = '' sed -i configure \ - -e 's|TKGATE_INCDIRS=.*|TKGATE_INCDIRS="${tcl}/include ${tk}/include ${libiconvOrLibc}/include"|' \ - -e 's|TKGATE_LIBDIRS=.*|TKGATE_LIBDIRS="${tcl}/lib ${tk}/lib ${libiconvOrLibc}/lib"|' + -e 's|TKGATE_INCDIRS=.*|TKGATE_INCDIRS="${tcl}/include ${tk}/include ${libiconvInc}"|' \ + -e 's|TKGATE_LIBDIRS=.*|TKGATE_LIBDIRS="${tcl}/lib ${tk}/lib ${libiconvLib}"|' sed -i options.h \ -e 's|.* #define TCL_LIBRARY .*|#define TCL_LIBRARY "${tcl}/${tcl.libdir}"|' \ -e 's|.* #define TK_LIBRARY .*|#define TK_LIBRARY "${tk}/lib/${tk.libPrefix}"|' @@ -27,7 +29,6 @@ stdenv.mkDerivation rec { description = "Event driven digital circuit simulator with a TCL/TK-based graphical editor"; homepage = "http://www.tkgate.org/"; license = "GPLv2+"; - maintainers = [ stdenv.lib.maintainers.simons ]; - platforms = stdenv.lib.platforms.linux; + broken = true; }; } diff --git a/pkgs/applications/science/geometry/tetgen/default.nix b/pkgs/applications/science/geometry/tetgen/default.nix index a43ec3b0eb9..d14fa08bbb5 100644 --- a/pkgs/applications/science/geometry/tetgen/default.nix +++ b/pkgs/applications/science/geometry/tetgen/default.nix @@ -4,8 +4,8 @@ stdenv.mkDerivation rec { name = "tetgen-1.4.3"; src = fetchurl { - url = http://tetgen.berlios.de/files/tetgen1.4.3.tar.gz; - sha256 = "159i0vdjz7abb8bycz47ax4fqlzc82kv19sygqnrkr86qm4g43wy"; + url = "${meta.homepage}/files/tetgen1.4.3.tar.gz"; + sha256 = "0d70vjqdapmy1ghlsxjlvl5z9yp310zw697bapc4zxmp0sxi29wm"; }; installPhase = '' @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = { description = "Quality Tetrahedral Mesh Generator and 3D Delaunay Triangulator"; - homepage = "http://tetgen.berlios.de/"; + homepage = "http://tetgen.org/"; license = "MIT"; }; } diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix new file mode 100644 index 00000000000..a8076b9e29e --- /dev/null +++ b/pkgs/applications/science/logic/abc/default.nix @@ -0,0 +1,27 @@ +{ fetchhg, stdenv, readline }: + +stdenv.mkDerivation rec { + name = "abc-verifier-${version}"; + version = "140509"; # YYMMDD + + src = fetchhg { + url = "https://bitbucket.org/alanmi/abc"; + tag = "03e221443d71e49e56cbc37f1907ee3b0ff3e7c9"; + sha256 = "0ahrqg718y7xpv939f6x8w1kqh7wsja4pw8hca7j67j0qjdgb4lm"; + }; + + buildInputs = [ readline ]; + enableParallelBuilding = true; + installPhase = '' + mkdir -p $out/bin + mv abc $out/bin + ''; + + meta = { + description = "Sequential Logic Synthesis and Formal Verification"; + homepage = "www.eecs.berkeley.edu/~alanmi/abc/abc.htm"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix new file mode 100644 index 00000000000..2a95d0cd65b --- /dev/null +++ b/pkgs/applications/science/logic/alt-ergo/default.nix @@ -0,0 +1,23 @@ +{ fetchurl, stdenv, ocaml, ocamlPackages, gmp }: + +stdenv.mkDerivation rec { + name = "alt-ergo-${version}"; + version = "0.95.2"; + + src = fetchurl { + url = "http://alt-ergo.ocamlpro.com/download_manager.php?target=${name}.tar.gz"; + name = "${name}.tar.gz"; + sha256 = "1b7f0rh3jgm67g0x2m3wv7gnnqmz9cjlrfm136z56ihlkhsd8v2s"; + }; + + buildInputs = with ocamlPackages; + [ ocaml findlib ocamlgraph zarith lablgtk gmp ]; + + meta = { + description = "Alt-Ergo is a high-performance theorem prover and SMT solver"; + homepage = "http://alt-ergo.ocamlpro.com/"; + license = stdenv.lib.licenses.cecill-c; # LGPL-2 compatible + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index aa3ba878eb5..678ec6a4b04 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -3,7 +3,7 @@ {stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}: let - version = "8.4pl3"; + version = "8.4pl4"; buildIde = lablgtk != null; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; idePath = if buildIde then '' @@ -16,7 +16,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz"; - sha256 = "0f7v3j4zsrhpswdh47bb30vwgsr0ck79jkkz01a5a74qgxiksn4p"; + sha256 = "00bzf4kfbd0g279jrr8ynzvb9wqcly3wi577bkrxivhrg2msxhq6"; }; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; @@ -55,6 +55,6 @@ stdenv.mkDerivation { homepage = "http://coq.inria.fr"; license = "LGPL"; maintainers = with stdenv.lib.maintainers; [ roconnor thoughtpolice ]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix index 54c7174bde7..3e6440ea977 100644 --- a/pkgs/applications/science/logic/hol_light/default.nix +++ b/pkgs/applications/science/logic/hol_light/default.nix @@ -1,19 +1,20 @@ -{stdenv, fetchsvn, writeScript, ocaml, findlib, camlp5}: +{ stdenv, fetchsvn, writeScript, ocaml, findlib, camlp5 }: let start_script = '' #!/bin/sh cd "$out/lib/hol_light" - exec ${ocaml}/bin/ocaml -I "camlp5 -where" -init make.ml + exec ${ocaml}/bin/ocaml -I \`${camlp5}/bin/camlp5 -where\` -init make.ml ''; in +stdenv.mkDerivation rec { + name = "hol_light-${version}"; + version = "189"; -stdenv.mkDerivation { - name = "hol_light-20140112"; src = fetchsvn { url = http://hol-light.googlecode.com/svn/trunk; - rev = "179"; - sha256 = "1j402s7142fj09bjijrkargwx03fvbdwmn0hgzzmi6s4p1y7gww0"; + rev = version; + sha256 = "1v10l64rs7da2kag3wlb651i09pn83icy9n5z84j8h1iwlxzajdh"; }; buildInputs = [ ocaml findlib camlp5 ]; @@ -27,16 +28,9 @@ stdenv.mkDerivation { meta = { description = "Interactive theorem prover based on Higher-Order Logic"; - longDescription = '' - HOL Light is a computer program to help users prove interesting - mathematical theorems completely formally in Higher-Order Logic. It sets - a very exacting standard of correctness, but provides a number of - automated tools and pre-proved mathematical theorems (e.g., about - arithmetic, basic set theory and real analysis) to save the user work. - It is also fully programmable, so users can extend it with new theorems - and inference rules without compromising its soundness. - ''; - homepage = http://www.cl.cam.ac.uk/~jrh13/hol-light/; - license = stdenv.lib.licenses.bsd2; + homepage = http://www.cl.cam.ac.uk/~jrh13/hol-light/; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } diff --git a/pkgs/applications/science/logic/ltl2ba/default.nix b/pkgs/applications/science/logic/ltl2ba/default.nix new file mode 100644 index 00000000000..cdadd18ac9f --- /dev/null +++ b/pkgs/applications/science/logic/ltl2ba/default.nix @@ -0,0 +1,24 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "ltl2ba-${version}"; + version = "1.1"; + + src = fetchurl { + url = "http://www.lsv.ens-cachan.fr/~gastin/ltl2ba/${name}.tar.gz"; + sha256 = "16z0gc7a9dkarwn0l6rvg5jdhw1q4qyn4501zlchy0zxqddz0sx6"; + }; + + installPhase = '' + mkdir -p $out/bin + mv ltl2ba $out/bin + ''; + + meta = { + description = "fast translation from LTL formulae to Buchi automata"; + homepage = "http://www.lsv.ens-cachan.fr/~gastin/ltl2ba"; + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix index 68d1cca7e73..ef00b135c27 100644 --- a/pkgs/applications/science/logic/tptp/default.nix +++ b/pkgs/applications/science/logic/tptp/default.nix @@ -11,15 +11,19 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="TPTP"; - version="5.4.0"; + version="6.0.0"; name="${baseName}-${version}"; - url="http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz"; - hash="0rvrmh3vw4bk7mj29bx1pi76g2bsqyc13gsnpa1cbjs5pzyhm780"; + urls= + [ + "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz" + "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}/TPTP-v${version}.tgz" + ]; + hash="0jnjkqdz937c7mkxvh9wc3byw5h1k19jss058fbzdxxc2hkwq1af"; }; in rec { src = a.fetchurl { - url = sourceInfo.url; + urls = sourceInfo.urls; sha256 = sourceInfo.hash; }; diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix new file mode 100644 index 00000000000..a2959892ddb --- /dev/null +++ b/pkgs/applications/science/logic/verifast/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, gtk, gdk_pixbuf, atk, pango, glib, cairo, freetype +, fontconfig, libxml2, gnome2 }: + +let + libPath = stdenv.lib.makeLibraryPath + [ stdenv.gcc.libc stdenv.gcc.gcc gtk gdk_pixbuf atk pango glib cairo + freetype fontconfig libxml2 gnome2.gtksourceview + ]; + + patchLib = x: extra: "patchelf --set-rpath ${libPath}:${extra} ${x}"; + patchExe = x: extra: '' + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath ${libPath}:${extra} ${x} + ''; +in +stdenv.mkDerivation rec { + name = "verifast-${version}"; + version = "13.11.14"; + + src = fetchurl { + url = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/verifast-13.11.14.tar.gz"; + sha256 = "1ahay7achjsfz59d3b6vl1v91gr5j34vb494isqw3fsw5l8jd9p7"; + }; + + dontStrip = true; + installPhase = '' + mkdir -p $out/bin + cp -R bin $out/libexec + + ${patchLib "$out/libexec/libz3-gmp.so" "$out/libexec"} + ${patchExe "$out/libexec/vfide-core" "$out/libexec"} + ${patchExe "$out/libexec/verifast-core" "$out/libexec"} + + ln -s $out/libexec/verifast-core $out/bin/verifast + ln -s $out/libexec/vfide-core $out/bin/vfide + ''; + + phases = "unpackPhase installPhase"; + + meta = { + description = "Verification for C and Java programs via separation logic"; + homepage = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/"; + license = stdenv.lib.licenses.msrla; + platforms = [ "i686-linux" ]; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix new file mode 100644 index 00000000000..71ff1cc7fb4 --- /dev/null +++ b/pkgs/applications/science/logic/why3/default.nix @@ -0,0 +1,22 @@ +{ fetchurl, stdenv, ocaml, ocamlPackages, coq }: + +stdenv.mkDerivation rec { + name = "why3-${version}"; + version = "0.83"; + + src = fetchurl { + url = "https://gforge.inria.fr/frs/download.php/33490/${name}.tar.gz"; + sha256 = "1jcs5vj91ppbgh4q4hch89b63wgakjhg35pm3r4jwhp377lnggya"; + }; + + buildInputs = with ocamlPackages; + [ coq ocaml findlib lablgtk ocamlgraph zarith ]; + + meta = { + description = "why is a software verification platform"; + homepage = "http://why3.lri.fr/"; + license = stdenv.lib.licenses.lgpl21; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix new file mode 100644 index 00000000000..5a1a4ef1992 --- /dev/null +++ b/pkgs/applications/science/logic/yices/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl }: + +let + libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ]; +in +stdenv.mkDerivation rec { + name = "yices-${version}"; + version = "2.2.1"; + + src = + if stdenv.system == "i686-linux" + then fetchurl { + url = "http://yices.csl.sri.com/cgi-bin/yices2-newdownload.cgi?file=yices-2.2.1-i686-pc-linux-gnu-static-gmp.tar.gz&accept=I+accept"; + name = "yices-${version}-i686.tar.gz"; + sha256 = "12jzk3kqlbqa5x6rl92cpzj7dch7gm7fnbj72wifvwgdj4zyhrra"; + } + else fetchurl { + url = "http://yices.csl.sri.com/cgi-bin/yices2-newdownload.cgi?file=yices-2.2.1-x86_64-unknown-linux-gnu-static-gmp.tar.gz&accept=I+accept"; + name = "yices-${version}-x86_64.tar.gz"; + sha256 = "0fpmihf6ykcg4qbsimkamgcwp4sl1xyxmz7q28ily91rd905ijaj"; + }; + + buildPhase = false; + installPhase = '' + mkdir -p $out/bin $out/lib $out/include + cd bin && mv * $out/bin && cd .. + cd lib && mv * $out/lib && cd .. + cd include && mv * $out/include && cd .. + + patchelf --set-rpath ${libPath} $out/lib/libyices.so.${version} + ''; + + meta = { + description = "Yices is a high-performance theorem prover and SMT solver"; + homepage = "http://yices.csl.sri.com"; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix index eeef03eb161..7a87cb5e8be 100644 --- a/pkgs/applications/science/logic/z3/default.nix +++ b/pkgs/applications/science/logic/z3/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { meta = { description = "Z3 is a high-performance theorem prover and SMT solver"; homepage = "http://z3.codeplex.com"; - license = stdenv.lib.licenses.unfreeRedistributable; + license = stdenv.lib.licenses.msrla; 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 4a58c15941c..edba65146a6 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -2,6 +2,7 @@ , libjpeg, libpng, libtiff, ncurses, pango, pcre, perl, readline, tcl , texLive, tk, xz, zlib, less, texinfo, graphviz, icu, pkgconfig, bison , imake, which, jdk, atlas +, withRecommendedPackages ? true }: stdenv.mkDerivation rec { @@ -23,6 +24,7 @@ stdenv.mkDerivation rec { preConfigure = '' configureFlagsArray=( --disable-lto + --with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages --with-blas="-L${atlas}/lib -lf77blas -latlas" --with-lapack="-L${liblapack}/lib -llapack" --with-readline @@ -36,6 +38,7 @@ stdenv.mkDerivation rec { --with-system-pcre --with-system-xz --with-ICU + --enable-R-shlib AR=$(type -p ar) AWK=$(type -p gawk) CC=$(type -p gcc) @@ -81,7 +84,7 @@ stdenv.mkDerivation rec { user-defined recursive functions and input and output facilities. ''; - platforms = stdenv.lib.platforms.linux; + hydraPlatforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix new file mode 100644 index 00000000000..ced8b6f95bb --- /dev/null +++ b/pkgs/applications/science/math/sage/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, m4, perl, gfortran, texLive, ffmpeg, tk +, imagemagick, liblapack +}: + +stdenv.mkDerivation rec { + name = "sage-6.1.1"; + + src = fetchurl { + url = "http://mirrors.xmission.com/sage/src/sage-6.1.1.tar.gz"; + sha256 = "0kbzs0l9q7y34jv3f8rd1c2mrjsjkdgaw6mfdwjlpg9g4gghmq5y"; + }; + + buildInputs = [ m4 perl gfortran texLive ffmpeg tk imagemagick liblapack ]; + + enableParallelBuilding = true; + + preConfigure = '' + export SAGE_NUM_THREADS=$NIX_BUILD_CORES + sed -i 's/if ! [ -d "$HOME" ]/if [ -d "$HOME" ]/' src/bin/sage-env + '' + stdenv.lib.optionalString stdenv.isDarwin '' + sed -i "s/ld_version = try_run('ld -v')/ld_version = 'Apple'/" \ + build/pkgs/atlas/configuration.py + ''; + + meta = { + homepage = http://www.scilab.org/; + description = "Scientific software package for numerical computations (Matlab lookalike)"; + # see http://www.scilab.org/legal + license = "SciLab"; + }; +} diff --git a/pkgs/applications/science/math/sloane/default.nix b/pkgs/applications/science/math/sloane/default.nix index 1e318bd8a79..2e7768e2d95 100644 --- a/pkgs/applications/science/math/sloane/default.nix +++ b/pkgs/applications/science/math/sloane/default.nix @@ -1,12 +1,17 @@ -{ cabal, ansiTerminal, cmdargs, HTTP, terminalSize, url }: +{ cabal, ansiTerminal, cmdargs, filepath, HTTP, network +, stringsearch, terminalSize, time, zlib +}: cabal.mkDerivation (self: { pname = "sloane"; - version = "1.6"; - sha256 = "0my3j53bda3s8zxnm6is1align4k082wwsfg2y1i75js5z9kwmzy"; + version = "1.7.1"; + sha256 = "0d6k33rhp1ixrwdfwy31m39kbk8z81biwzwmkp01fvpgwm96p3va"; isLibrary = false; isExecutable = true; - buildDepends = [ ansiTerminal cmdargs HTTP terminalSize url ]; + buildDepends = [ + ansiTerminal cmdargs filepath HTTP network stringsearch + terminalSize time zlib + ]; postInstall = '' mkdir -p $out/share/man/man1 cp sloane.1 $out/share/man/man1/ @@ -16,6 +21,6 @@ cabal.mkDerivation (self: { 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 ]; + maintainers = [ 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 00000000000..a0ee505dc97 --- /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 00000000000..8265acf6e4a --- /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 00000000000..b3a56643448 --- /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/version-management/arch/default.nix b/pkgs/applications/version-management/arch/default.nix index 350b842a095..3dd8b9f860d 100644 --- a/pkgs/applications/version-management/arch/default.nix +++ b/pkgs/applications/version-management/arch/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { name = "tla-1.3.5"; src = fetchurl { - url = "mirror://gnu/gnu-arch/" + name + ".tar.gz"; + url = "ftp://ftp.gnu.org/old-gnu/gnu-arch/" + name + ".tar.gz"; sha256 = "01mfzj1i6p4s8191cgd5850hds1zls88hkf9rb6qx1vqjv585aj0"; }; diff --git a/pkgs/applications/version-management/darcs/default.nix b/pkgs/applications/version-management/darcs/default.nix index 8ec65e50adf..b564242c946 100644 --- a/pkgs/applications/version-management/darcs/default.nix +++ b/pkgs/applications/version-management/darcs/default.nix @@ -20,14 +20,12 @@ cabal.mkDerivation (self: { mkdir -p $out/etc/bash_completion.d mv contrib/darcs_completion $out/etc/bash_completion.d/darcs ''; + jailbreak = true; meta = { homepage = http://darcs.net/; description = "A distributed, interactive, smart revision control system"; license = "GPL"; - # FIXME: this gives an infinite recursion in the "darcs" attribute - # in all-packages.nix. - #platforms = self.ghc.meta.platforms; - platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]; + platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; }; }) 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 8a1201815ae..fb7232794c5 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,22 @@ }: stdenv.mkDerivation rec { - name = "cgit-0.10.1"; + name = "cgit-${version}"; + version = "0.10.1"; src = fetchurl { url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz"; 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. + # cgit is tightly coupled with git and needs a git source tree to build. # IMPORTANT: Remember to check which git version cgit needs on every version - # bump. + # bump (look in the Makefile). + # 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 = [ 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 dcf76160ec6..191b24304bf 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 @@ -8,16 +8,16 @@ , 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 +, SHA, shakespeare, 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.20140405"; - sha256 = "0nbfnv9z2jhx2jr2nma0y1znvbaa09rv1drl6wk27j6xsbiq3p3k"; + version = "5.20140517"; + sha256 = "150xf6664rfdljswc270m2pqvia4sywph4rrrbky6izy6a0vq680"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -28,10 +28,10 @@ cabal.mkDerivation (self: { 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 + random regexTdfa SafeSemaphore securemem SHA shakespeare 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 diff --git a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix index 5e6b9fdc243..3a2270cf972 100644 --- a/pkgs/applications/version-management/git-and-tools/git-bz/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-bz/default.nix @@ -49,5 +49,6 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.pierron ]; + broken = true; }; } 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 00000000000..846752f5bfe --- /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 649b0a7e4a2..f95b5a493a6 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.9.2"; + version = "1.9.4"; svn = subversionClient.override { perlBindings = true; }; @@ -21,10 +21,10 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "1x4rb06vw4ckdflmn01r5l9spvn7cng4i5mm3sbd0n8cz0n6xz13"; + sha256 = "1shxa49lsxn81qpfi60wh7rn5ci4zjgljvr0qczdmnqzd8w1zyvb"; }; - 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 @@ -36,7 +36,9 @@ stdenv.mkDerivation { 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 stdenv.isSunOS then " INSTALL=install NO_INET_NTOP= NO_INET_PTON=" else ""); + + (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... 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 fd9011130e3..6f2fe890cfa 100644 --- a/pkgs/applications/version-management/git-and-tools/tig/default.nix +++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl, docbook_xml_dtd_45 }: stdenv.mkDerivation rec { - name = "tig-1.2.1"; + name = "tig-2.0.2"; src = fetchurl { url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz"; - sha256 = "0i19lc6dd3vdpkdd8q07xii2c4mcpiwmg55av81jyhx0y82x425p"; + sha256 = "0gi7iqiij37b0d3izxymxaw5ns2mv1y7qfic0fhl7xj4s2rz075r"; }; buildInputs = [ ncurses asciidoc xmlto docbook_xsl ]; diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix index 9bbc7c9e739..41b25401367 100644 --- a/pkgs/applications/video/aegisub/default.nix +++ b/pkgs/applications/video/aegisub/default.nix @@ -4,6 +4,7 @@ , mesa , libass, fftw, ffms , ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies +, icu, boost, intltool # New dependencies , spellChecking ? true, hunspell ? null , automationSupport ? true, lua ? null , openalSupport ? false, openal ? null @@ -21,15 +22,17 @@ assert portaudioSupport -> (portaudio != null); stdenv.mkDerivation rec { name = "aegisub-${version}"; - version = "3.0.4"; + version = "3.1.3"; src = fetchurl { url = "http://ftp.aegisub.org/pub/releases/${name}.tar.xz"; - md5 = "0f22d63ed4c502f3801795fa623a4f41"; + sha256 = "0n2y5cggayr8246p2cvrz0ajlhhvmzcgsp7nljnm21jypk15pspg"; }; + nativeBuildInputs = [ intltool ]; + buildInputs = with stdenv.lib; - [ libX11 gettext wxGTK libiconv fontconfig freetype mesa libass fftw ffms ffmpeg pkgconfig zlib ] + [ libX11 gettext wxGTK libiconv fontconfig freetype mesa libass fftw ffms ffmpeg pkgconfig zlib icu boost ] ++ optional spellChecking hunspell ++ optional automationSupport lua ++ optional openalSupport openal @@ -38,13 +41,13 @@ stdenv.mkDerivation rec { ++ optional portaudioSupport portaudio ; - NIX_LDFLAGS = "-liconv -lavutil -lavformat -lavcodec -lswscale -lz -lm"; + NIX_LDFLAGS = "-liconv -lavutil -lavformat -lavcodec -lswscale -lz -lm -lGL"; - preConfigure = "cd aegisub"; + configureFlags = "--with-boost-libdir=${boost}/lib/"; - postInstall = "ln -s $out/bin/aegisub-3.0 $out/bin/aegisub"; + postInstall = "ln -s $out/bin/aegisub-* $out/bin/aegisub"; - meta = { + meta = with stdenv.lib; { description = "An advanced subtitle editor"; longDescription = '' Aegisub is a free, cross-platform open source tool for creating and @@ -53,12 +56,12 @@ stdenv.mkDerivation rec { built-in real-time video preview. ''; homepage = http://www.aegisub.org/; - license = stdenv.lib.licenses.bsd3; + license = 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; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/video/cc1394/default.nix b/pkgs/applications/video/cc1394/default.nix index df131f0e485..d555e1b7885 100644 --- a/pkgs/applications/video/cc1394/default.nix +++ b/pkgs/applications/video/cc1394/default.nix @@ -33,5 +33,6 @@ stdenv.mkDerivation rec { license = "BSD"; maintainers = [ stdenv.lib.maintainers.viric ]; platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; # because libdc1394avt is broken }; } diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix index ef40d614a39..2e8b7e63cb8 100644 --- a/pkgs/applications/video/gnash/default.nix +++ b/pkgs/applications/video/gnash/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl +{ stdenv, fetchurl, fetchpatch , SDL, SDL_mixer, gstreamer, gst_plugins_base, gst_plugins_good , gst_ffmpeg, speex , libogg, libxml2, libjpeg, mesa, libpng, libungif, libtool @@ -11,9 +11,9 @@ assert stdenv ? glibc; let version = "0.8.10"; - patch_CVE = fetchurl { + patch_CVE = fetchpatch { url = "http://git.savannah.gnu.org/cgit/gnash.git/patch/?id=bb4dc77eecb6ed1b967e3ecbce3dac6c5e6f1527"; - sha256 = "1g7ymbq9vxi0mwcgs2dpyd2sf30gaam7blza0ywiwj32f5wk62v1"; + sha256 = "0ghnki5w7xf3qwfl1x6vhijpd6q608niyxrvh0g8dw5xavkvallk"; name = "CVE-2012-1175.patch"; }; in diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix new file mode 100644 index 00000000000..297da6738ee --- /dev/null +++ b/pkgs/applications/video/handbrake/default.nix @@ -0,0 +1,100 @@ +# Handbrake normally uses its own copies of the libraries it uses, for better +# control over library patches. +# +# This derivation patches HB so it doesn't do that. The relevant patches +# are added to the Nix packages and proposed upstream instead. In several cases +# upstream already incorporated these patches. +# This has the benefits of providing improvements to other packages, +# making licenses more clear and reducing compile time/install size. +# +# For compliance, the unfree codec faac is optionally spliced out. +# +# Only tested on Linux +# +# TODO: package and use libappindicator + +{ stdenv, config, fetchurl, + python, pkgconfig, yasm, + autoconf, automake, libtool, m4, + libass, libsamplerate, fribidi, libxml2, bzip2, + libogg, libtheora, libvorbis, libdvdcss, a52dec, fdk_aac, + lame, faac, ffmpeg, libdvdread, libdvdnav, libbluray, + mp4v2, mpeg2dec, x264, libmkv, + fontconfig, freetype, + glib, gtk, webkitgtk, intltool, libnotify, + gst_all_1, dbus_glib, udev, + useGtk ? true, + useWebKitGtk ? false # This prevents ghb from starting in my tests +}: + +stdenv.mkDerivation rec { + version = "0.9.9"; + name = "handbrake-${version}"; + + # ToDo: doesn't work (yet) + allowUnfree = false; # config.allowUnfree or false; + + buildInputsX = stdenv.lib.optionals useGtk [ + glib gtk intltool libnotify + gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus_glib udev + ] ++ stdenv.lib.optionals useWebKitGtk [ webkitgtk ]; + + # Did not test compiling with it + unfreeInputs = stdenv.lib.optional allowUnfree faac; + + nativeBuildInputs = [ python pkgconfig yasm autoconf automake libtool m4 ]; + buildInputs = [ + fribidi fontconfig freetype + libass libsamplerate libxml2 bzip2 + libogg libtheora libvorbis libdvdcss a52dec libmkv fdk_aac + lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264 + ] ++ buildInputsX ++ unfreeInputs; + + + src = fetchurl { + name = "HandBrake-${version}.tar.bz2"; + url = "http://handbrake.fr/rotation.php?file=HandBrake-${version}.tar.bz2"; + sha256 = "1crmm1c32vx60jfl2bqzg59q4qqx6m83b08snp7h1njc21sdf7d7"; + }; + + patches = stdenv.lib.optional (! allowUnfree) ./disable-unfree.patch; + + preConfigure = '' + # Fake wget to prevent downloads + mkdir wget + echo "#!/bin/sh" > wget/wget + echo "echo ===== Not fetching \$*" >> wget/wget + echo "exit 1" >> wget/wget + chmod +x wget/wget + export PATH=$PATH:$PWD/wget + + # Force using nixpkgs dependencies + sed -i '/MODULES += contrib/d' make/include/main.defs + sed -i '/PKG_CONFIG_PATH=/d' gtk/module.rules + + # disable faac if non-free + if [ -z "$allowUnfree" ]; then + rm libhb/encfaac.c + fi + ''; + + configureFlags = "--enable-fdk-aac ${if useGtk then "--disable-gtk-update-checks" else "--disable-gtk"}"; + + preBuild = '' + cd build + ''; + + meta = { + homepage = http://handbrake.fr/; + description = "A tool for ripping DVDs into video files"; + longDescription = '' + Handbrake is a versatile transcoding DVD ripper. This package + provides the cli HandbrakeCLI and the GTK+ version ghb. + The faac library is disabled if you're compiling free-only. + ''; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.wmertens ]; + # Not tested on anything else + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/video/handbrake/disable-unfree.patch b/pkgs/applications/video/handbrake/disable-unfree.patch new file mode 100644 index 00000000000..30edcb81c09 --- /dev/null +++ b/pkgs/applications/video/handbrake/disable-unfree.patch @@ -0,0 +1,101 @@ +diff -ru HandBrake-0.9.9-orig/gtk/configure.ac HandBrake-0.9.9/gtk/configure.ac +--- HandBrake-0.9.9-orig/gtk/configure.ac 2014-05-02 22:50:00.047305795 +0200 ++++ HandBrake-0.9.9/gtk/configure.ac 2014-05-02 22:48:57.119304020 +0200 +@@ -203,7 +203,7 @@ + ;; + esac + +-HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lfaac -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2" ++HB_LIBS="-lhb -la52 -lmkv -lavresample -lavformat -lavcodec -lavutil -ldvdnav -ldvdread -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lmp4v2 -lswscale -ltheoraenc -ltheoradec -lz -lbz2 -lpthread -lbluray -lass -lfontconfig -lfreetype -lxml2" + + if test "x$use_fdk_aac" = "xyes" ; then + HB_LIBS+=" -lfdk-aac" +diff -ru HandBrake-0.9.9-orig/gtk/src/preset_xlat.c HandBrake-0.9.9/gtk/src/preset_xlat.c +--- HandBrake-0.9.9-orig/gtk/src/preset_xlat.c 2014-05-02 22:50:00.043305794 +0200 ++++ HandBrake-0.9.9/gtk/src/preset_xlat.c 2014-05-02 22:42:20.987292846 +0200 +@@ -260,7 +260,6 @@ + + static value_map_t acodec_xlat[] = + { +- {"AAC (faac)", "faac"}, + {"AC3 Passthru", "ac3"}, + {"MP3 (lame)", "lame"}, + {"Vorbis (vorbis)", "vorbis"}, +diff -ru HandBrake-0.9.9-orig/gtk/src/presets.c HandBrake-0.9.9/gtk/src/presets.c +--- HandBrake-0.9.9-orig/gtk/src/presets.c 2014-05-02 22:50:00.043305794 +0200 ++++ HandBrake-0.9.9/gtk/src/presets.c 2014-05-02 22:42:41.283293419 +0200 +@@ -2029,8 +2029,6 @@ + + static value_map_t acodec_xlat_compat[] = + { +- {"AAC (CoreAudio)", "faac"}, +- {"HE-AAC (CoreAudio)", "faac"}, + {"AC3 (ffmpeg)", "ac3"}, + {"AC3", "ac3"}, + {"MP3 Passthru", "mp3pass"}, +diff -ru HandBrake-0.9.9-orig/libhb/common.c HandBrake-0.9.9/libhb/common.c +--- HandBrake-0.9.9-orig/libhb/common.c 2014-05-02 22:50:00.047305795 +0200 ++++ HandBrake-0.9.9/libhb/common.c 2014-05-02 22:37:24.679284489 +0200 +@@ -126,7 +126,6 @@ + { "AAC (CoreAudio)", "ca_aac", HB_ACODEC_CA_AAC, HB_MUX_MP4|HB_MUX_MKV }, + { "HE-AAC (CoreAudio)", "ca_haac", HB_ACODEC_CA_HAAC, HB_MUX_MP4|HB_MUX_MKV }, + #endif +- { "AAC (faac)", "faac", HB_ACODEC_FAAC, HB_MUX_MP4|HB_MUX_MKV }, + #ifdef USE_FDK_AAC + { "AAC (FDK)", "fdk_aac", HB_ACODEC_FDK_AAC, HB_MUX_MP4|HB_MUX_MKV }, + { "HE-AAC (FDK)", "fdk_haac", HB_ACODEC_FDK_HAAC, HB_MUX_MP4|HB_MUX_MKV }, +diff -ru HandBrake-0.9.9-orig/libhb/common.h HandBrake-0.9.9/libhb/common.h +--- HandBrake-0.9.9-orig/libhb/common.h 2014-05-02 22:50:00.047305795 +0200 ++++ HandBrake-0.9.9/libhb/common.h 2014-05-02 22:39:37.839288245 +0200 +@@ -945,7 +945,6 @@ + extern hb_work_object_t hb_decavcodeca; + extern hb_work_object_t hb_decavcodecv; + extern hb_work_object_t hb_declpcm; +-extern hb_work_object_t hb_encfaac; + extern hb_work_object_t hb_enclame; + extern hb_work_object_t hb_encvorbis; + extern hb_work_object_t hb_muxer; +diff -ru HandBrake-0.9.9-orig/libhb/hb.c HandBrake-0.9.9/libhb/hb.c +--- HandBrake-0.9.9-orig/libhb/hb.c 2014-05-02 22:50:00.047305795 +0200 ++++ HandBrake-0.9.9/libhb/hb.c 2014-05-02 22:39:02.287287242 +0200 +@@ -487,7 +487,6 @@ + hb_register( &hb_decavcodeca ); + hb_register( &hb_decavcodecv ); + hb_register( &hb_declpcm ); +- hb_register( &hb_encfaac ); + hb_register( &hb_enclame ); + hb_register( &hb_encvorbis ); + hb_register( &hb_muxer ); +@@ -588,7 +587,6 @@ + hb_register( &hb_decavcodeca ); + hb_register( &hb_decavcodecv ); + hb_register( &hb_declpcm ); +- hb_register( &hb_encfaac ); + hb_register( &hb_enclame ); + hb_register( &hb_encvorbis ); + hb_register( &hb_muxer ); +diff -ru HandBrake-0.9.9-orig/libhb/module.defs HandBrake-0.9.9/libhb/module.defs +--- HandBrake-0.9.9-orig/libhb/module.defs 2014-05-02 22:50:00.047305795 +0200 ++++ HandBrake-0.9.9/libhb/module.defs 2014-05-02 22:39:25.727287903 +0200 +@@ -95,7 +95,7 @@ + LIBHB.lib = $(LIBHB.build/)hb.lib + + LIBHB.dll.libs = $(foreach n, \ +- a52 ass avcodec avformat avutil avresample dvdnav dvdread faac \ ++ a52 ass avcodec avformat avutil avresample dvdnav dvdread \ + fontconfig freetype mkv mpeg2 mp3lame mp4v2 \ + ogg samplerate swscale theora vorbis vorbisenc x264 xml2 bluray, \ + $(CONTRIB.build/)lib/lib$(n).a ) +Only in HandBrake-0.9.9: libhb-orig +diff -ru HandBrake-0.9.9orig/test/module.defs HandBrake-0.9.9/test/module.defs +--- HandBrake-0.9.9-orig/test/module.defs 2014-05-02 23:15:10.575348401 +0200 ++++ HandBrake-0.9.9/test/module.defs 2014-05-02 23:17:00.523351502 +0200 +@@ -14,7 +14,7 @@ + TEST.libs = $(LIBHB.a) + + TEST.GCC.l = \ +- a52 ass avcodec avformat avutil avresample dvdnav dvdread faac \ ++ a52 ass avcodec avformat avutil avresample dvdnav dvdread \ + fontconfig freetype fribidi mkv mpeg2 mp3lame mp4v2 ogg \ + samplerate swscale theoraenc theoradec vorbis vorbisenc x264 \ + bluray xml2 bz2 z diff --git a/pkgs/applications/video/lxdvdrip/default.nix b/pkgs/applications/video/lxdvdrip/default.nix index 9323a1cbd32..1b3acd2c2ff 100644 --- a/pkgs/applications/video/lxdvdrip/default.nix +++ b/pkgs/applications/video/lxdvdrip/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, libdvdread }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "lxdvdrip-1.76"; src = fetchurl { - url = http://download.berlios.de/lxdvdrip/lxdvdrip-1.76.tgz; + url = "mirror://sourceforge/lxdvdrip/${name}.tgz"; sha256 = "0vgslc7dapfrbgslnaicc8bggdccyrvcgjv1dwi19qswhh7jkzj6"; }; @@ -22,7 +22,7 @@ stdenv.mkDerivation { meta = { description = "Command line tool to make a copy from a video DVD for private use"; - homepage = http://lxdvdrip.berlios.de/; + homepage = http://sourceforge.net/projects/lxdvdrip; license = "GPLv2"; }; } diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix index 14aeca62a71..7572bedc1e0 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,8 +22,7 @@ buildPythonPackage rec { patches = [ ./gconf.patch ]; postPatch = '' - sed -i -e '2i import os; os.environ["GST_PLUGIN_PATH"] = \\\ - '"'$GST_PLUGIN_PATH'" miro.real + patch -p1 -d .. < "${./youtube-feeds.patch}" sed -i -e 's/\$(shell which python)/python/' Makefile sed -i -e 's|/usr/bin/||' -e 's|/usr||' \ @@ -55,11 +54,15 @@ buildPythonPackage rec { 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_SCHEMAS_PATH:$out/share" ''; buildInputs = [ - pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkit_gtk2 libsoup - pygtk taglib + pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkitgtk2 libsoup + pygtk taglib gsettings_desktop_schemas ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/video/miro/youtube-feeds.patch b/pkgs/applications/video/miro/youtube-feeds.patch new file mode 100644 index 00000000000..1527fa6a5b6 --- /dev/null +++ b/pkgs/applications/video/miro/youtube-feeds.patch @@ -0,0 +1,15 @@ +diff --git a/lib/flashscraper.py b/lib/flashscraper.py +index 323dbe4..d203b78 100644 +--- a/lib/flashscraper.py ++++ b/lib/flashscraper.py +@@ -134,9 +134,7 @@ def _youtube_callback_step2(info, video_id, callback): + # strip url= from url=xxxxxx, strip trailer. Strip duplicate params. + for fmt, stream_map_data in zip(fmt_list, stream_map): + stream_map = cgi.parse_qs(stream_map_data) +- url_base = stream_map['url'][0] +- sig_part = '&signature=' + stream_map['sig'][0] +- fmt_url_map[fmt] = url_base + sig_part ++ fmt_url_map[fmt] = stream_map['url'][0] + + title = params.get("title", ["No title"])[0] + try: diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index b37a8a87630..be796f8e0de 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 @@ -48,24 +49,23 @@ assert cacaSupport -> libcaca != null; 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.7"; - in stdenv.mkDerivation rec { name = "mpv-${version}"; + version = "0.3.8"; src = fetchurl { url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"; - sha256 = "1qmwmjvgdwh88l2caw2xy1d2h1cdg2w1hl4q5iwx2c0q7a99h41m"; + sha256 = "0k77rq17mslpvvgr4mvkj9bd5s1yhsigwvzym8blr1brxkj9pk3b"; }; 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 = { @@ -127,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 index 947d2517808..7f53aa07db6 100644 --- a/pkgs/applications/video/pitivi/default.nix +++ b/pkgs/applications/video/pitivi/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, intltool, itstool, makeWrapper , pythonPackages, gst, clutter-gst, clutter-gtk , gobjectIntrospection, clutter, gtk3, librsvg -, gnome_icon_theme, gnome_icon_theme_symbolic +, gnome_icon_theme, gnome_icon_theme_symbolic, gnome3 }: let @@ -39,20 +39,18 @@ in stdenv.mkDerivation rec { python pygobject3 pyxdg numpy pycairo sqlite3 ]); - postInstall = with stdenv.lib; with gst; let + preFixup = with stdenv.lib; with gst; let libraryPath = makeLibraryPath [ gstreamer gst-editing-services clutter-gst clutter-gtk clutter gtk3 - ]; - - xdgDataDirs = makeSearchPath "share" [ - gtk3 gnome_icon_theme gnome_icon_theme_symbolic + 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:${xdgDataDirs}:$out/share" + --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/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix new file mode 100644 index 00000000000..c1c11357ca0 --- /dev/null +++ b/pkgs/applications/video/subtitleeditor/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, desktop_file_utils, enchant, gnome, gstreamer, gstreamermm, + gst_plugins_base, gst_plugins_good, intltool, hicolor_icon_theme, + libsigcxx, libxmlxx, makeWrapper, xdg_utils, pkgconfig } : + +let + ver_maj = "0.41"; + ver_min = "0"; +in + +stdenv.mkDerivation rec { + name = "subtitle-editor-${ver_maj}.${ver_min}"; + + buildInputs = [ + desktop_file_utils enchant gnome.gtk gnome.gtkmm gstreamer gstreamermm + gst_plugins_base gst_plugins_good intltool hicolor_icon_theme libsigcxx libxmlxx + makeWrapper xdg_utils pkgconfig + ]; + + src = fetchurl { + url = "http://download.gna.org/subtitleeditor/${ver_maj}/subtitleeditor-${ver_maj}.${ver_min}.tar.gz"; + md5 = "3c21ccd8296001dcb1a02c62396db1b6"; + }; + + doCheck = true; + + postInstall = '' + wrapProgram "$out/bin/subtitleeditor" --prefix \ + GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH" \ + ''; + + + meta = { + description = "GTK+2 application to edit video subtitles"; + longDescription = '' + Subtitle Editor is a GTK+2 tool to edit subtitles for GNU/Linux/*BSD. It can be + used for new subtitles or as a tool to transform, edit, correct and refine + existing subtitle. This program also shows sound waves, which makes it easier + to synchronise subtitles to voices. + ''; + homepage = http://home.gna.org/subtitleeditor; + license = stdenv.lib.licenses.gpl3; + maintainers = stdenv.lib.maintainers.plcplc; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix index e645bbcf284..94da757867e 100644 --- a/pkgs/applications/video/xbmc/default.nix +++ b/pkgs/applications/video/xbmc/default.nix @@ -3,17 +3,17 @@ , boost, avahi, libdvdcss, lame, autoreconfHook , gettext, pcre, yajl, fribidi, which , openssl, gperf, tinyxml2, taglib, libssh, swig, jre -, libX11, xproto, inputproto +, libX11, xproto, inputproto, libxml2 , libXt, libXmu, libXext, xextproto , libXinerama, libXrandr, randrproto -, libXtst, libXfixes, fixesproto +, libXtst, libXfixes, fixesproto, systemd , SDL, SDL_image, SDL_mixer, alsaLib , mesa, glew, fontconfig, freetype, ftgl , libjpeg, jasper, libpng, libtiff , ffmpeg, libmpeg2, libsamplerate, libmad -, libogg, libvorbis, flac -, lzo, libcdio, libmodplug, libass -, sqlite, mysql, nasm +, libogg, libvorbis, flac, libxslt +, lzo, libcdio, libmodplug, libass, libbluray +, sqlite, mysql, nasm, gnutls, libva , curl, bzip2, zip, unzip, glxinfo, xdpyinfo , dbus_libs ? null, dbusSupport ? true , udev, udevSupport ? true @@ -23,7 +23,7 @@ # TODO: would be nice to have nfsSupport (needs libnfs library) # TODO: librtmp , libvdpau ? null, vdpauSupport ? true -, pulseaudio ? null, pulseSupport ? false +, pulseaudio ? null, pulseSupport ? true }: assert dbusSupport -> dbus_libs != null; @@ -34,18 +34,18 @@ assert vdpauSupport -> libvdpau != null && ffmpeg.vdpauSupport; assert pulseSupport -> pulseaudio != null; stdenv.mkDerivation rec { - name = "xbmc-12.3"; + name = "xbmc-13.0"; src = fetchurl { - url = "http://mirrors.xbmc.org/releases/source/${name}.tar.gz"; - sha256 = "0wyy9rsl11px4mh0fyq75n29905ldiqp8yraz6jxxvrls1hcj59y"; + url = "https://github.com/xbmc/xbmc/archive/13.0-Gotham.tar.gz"; + sha256 = "096hin8qp1864ypyw9xysy13niwf79bgfgivxi7w7mh2dagn0mjx"; }; buildInputs = [ - makeWrapper + makeWrapper libxml2 gnutls pkgconfig cmake gnumake yasm pythonFull boost libmicrohttpd autoreconfHook - gettext pcre yajl fribidi + gettext pcre yajl fribidi libva openssl gperf tinyxml2 taglib libssh swig jre libX11 xproto inputproto which libXt libXmu libXext xextproto @@ -55,8 +55,8 @@ stdenv.mkDerivation rec { mesa glew fontconfig freetype ftgl libjpeg jasper libpng libtiff ffmpeg libmpeg2 libsamplerate libmad - libogg libvorbis flac - lzo libcdio libmodplug libass + libogg libvorbis flac libxslt systemd + lzo libcdio libmodplug libass libbluray sqlite mysql nasm avahi libdvdcss lame curl bzip2 zip unzip glxinfo xdpyinfo ] @@ -89,6 +89,7 @@ stdenv.mkDerivation rec { --prefix PATH ":" "${glxinfo}/bin" \ --prefix PATH ":" "${xdpyinfo}/bin" \ --prefix LD_LIBRARY_PATH ":" "${curl}/lib" \ + --prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \ --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib" done ''; diff --git a/pkgs/applications/virtualization/8086tiny/builder.sh b/pkgs/applications/virtualization/8086tiny/builder.sh index 36c381becec..7cff2589abe 100644 --- a/pkgs/applications/virtualization/8086tiny/builder.sh +++ b/pkgs/applications/virtualization/8086tiny/builder.sh @@ -6,14 +6,23 @@ mkdir -p ./$name $out/bin $out/share/$name $out/share/doc/$name/images cd $name tar xf $src make 8086tiny +if [ $bios ]; then + cd bios_source + nasm -f bin bios.asm -o bios + cd .. +fi -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 +install -m 755 8086tiny $out/bin +install -m 644 fd.img $out/share/$name/8086tiny-floppy.img +install -m 644 bios_source/bios.asm $out/share/$name/8086tiny-bios-src.asm +install -m 644 docs/8086tiny.css $out/share/doc/$name +install -m 644 docs/doc.html $out/share/doc/$name for i in docs/images/*.gif do - install $i $out/share/doc/$name/images + install -m 644 $i $out/share/doc/$name/images done +if [ $bios ]; then + install -m 644 bios_source/bios $out/share/$name/8086tiny-bios +else + install -m 644 bios $out/share/$name/8086tiny-bios +fi diff --git a/pkgs/applications/virtualization/8086tiny/default.nix b/pkgs/applications/virtualization/8086tiny/default.nix index 8e5108b4410..a16f052f622 100644 --- a/pkgs/applications/virtualization/8086tiny/default.nix +++ b/pkgs/applications/virtualization/8086tiny/default.nix @@ -1,32 +1,32 @@ { stdenv, fetchurl -, localBios ? false, nasm ? null +, localBios ? true, nasm ? null , sdlSupport ? true, SDL ? null }: - assert sdlSupport -> (SDL != null); - stdenv.mkDerivation rec { name = "8086tiny-${version}"; - version = "1.20"; + version = "1.25"; src = fetchurl { - url ="http://www.megalith.co.uk/8086tiny/downloads/8086tiny_120.tar.bz2"; - sha256 = "0yapnr8wvlx7h1q1w98yfy2vsbf0rlp4wd99r3xb0b7l70b36mpw"; + url ="http://www.megalith.co.uk/8086tiny/downloads/8086tiny_125.tar.bz2"; + sha256 = "0kmq4iiwhi2grjwq43ljjk1b1f1v1x9gzrgrgq2fzfsj7m7s6ris"; }; buildInputs = with stdenv.lib; optionals localBios [ nasm ] ++ optionals sdlSupport [ SDL ]; - + + bios = localBios; + 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 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 :) ''; diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index 40385d9d36a..d951fe124c9 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -3,11 +3,11 @@ btrfsProgs, iptables, bash}: stdenv.mkDerivation rec { name = "docker-${version}"; - version = "0.9.1"; + version = "0.10.0"; src = fetchurl { url = "https://github.com/dotcloud/docker/archive/v${version}.tar.gz"; - sha256 = "0m4s21dxd1bj08xrmi7iw77djj3cpxvjsin12p6v6v1qnigm18ww"; + sha256 = "14gmx119hd3j0c6rbks2mm83hk46s5wnnyvj8rhn25h0yp39pm5q"; }; phases = ["unpackPhase" "preBuild" "buildPhase" "installPhase"]; diff --git a/pkgs/applications/virtualization/qemu/cve-2014-0150.patch b/pkgs/applications/virtualization/qemu/cve-2014-0150.patch new file mode 100644 index 00000000000..a086b369321 --- /dev/null +++ b/pkgs/applications/virtualization/qemu/cve-2014-0150.patch @@ -0,0 +1,14 @@ + +diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c +index 439477b..33bd233 100644 +--- a/hw/net/virtio-net.c ++++ b/hw/net/virtio-net.c + -677,7 +677,7 static int virtio_net_handle_mac(VirtIONet *n, uint8_t cmd, + goto error; + } + +- if (in_use + mac_data.entries <= MAC_TABLE_ENTRIES) { ++ if (mac_data.entries <= MAC_TABLE_ENTRIES - in_use) { + s = iov_to_buf(iov, iov_cnt, 0, &macs[in_use * ETH_ALEN], + mac_data.entries * ETH_ALEN); + if (s != mac_data.entries * ETH_ALEN) { diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index af2e1efb59e..176d196b064 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -7,16 +7,18 @@ , x86Only ? false }: -let n = "qemu-1.7.0"; in +let n = "qemu-2.0.0"; in stdenv.mkDerivation rec { name = n + (if x86Only then "-x86-only" else ""); src = fetchurl { url = "http://wiki.qemu.org/download/${n}.tar.bz2"; - sha256 = "050kq9mz8c2jcshm7nn7dldypsk8jr590ybnlw2wc51dbyl37wri"; + sha256 = "0frsahiw56jr4cqr9m6s383lyj4ar9hfs2wp3y4yr76krah1mk30"; }; + patches = [ ./cve-2014-0150.patch ]; + buildInputs = [ python zlib pkgconfig glib ncurses perl pixman attr libcap vde2 alsaLib texinfo libuuid flex bison makeWrapper diff --git a/pkgs/applications/virtualization/qemu/linux-img/default.nix b/pkgs/applications/virtualization/qemu/linux-img/default.nix deleted file mode 100644 index 58a2b29c259..00000000000 --- a/pkgs/applications/virtualization/qemu/linux-img/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ stdenv, fetchurl }: - -stdenv.mkDerivation rec { - name = "qemu-linux-image-0.2"; - - src = fetchurl { - url = http://wiki.qemu.org/download/linux-0.2.img.bz2; - sha256 = "08xlwy1908chpc4fsqy2v13zi25dapk0ybrd43fj95v67kdj5hj1"; - }; - - unpackPhase = "true"; - - installPhase = - '' - mkdir -p $out/share/qemu-images - bunzip2 < $src > $out/share/qemu-images/linux-0.2.img - ''; - - meta = { - description = "QEMU sample Linux disk image"; - }; -} diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index dba0d11b425..9df6967704a 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -52,7 +52,7 @@ buildPythonPackage rec { --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" + --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS" done ${glib}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix index d2e608ba3fa..a5d7c775412 100644 --- a/pkgs/applications/virtualization/virt-viewer/default.nix +++ b/pkgs/applications/virtualization/virt-viewer/default.nix @@ -1,50 +1,40 @@ -x@{builderDefsPackage - , gnome, gtk, glib, libxml2, pkgconfig, libvirt, gtkvnc, cyrus_sasl, libtasn1 - , gnupg, libgcrypt, perl, nettle, yajl, libcap_ng - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - ["gnome"]; +{ stdenv, fetchurl, pkgconfig, intltool, glib, libxml2, gtk3, gtkvnc, gmp +, libgcrypt, gnupg, cyrus_sasl, spiceSupport ? true, spice_gtk, shared_mime_info +, libvirt, libcap_ng, yajl +}: - buildInputs = (map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames))) - ++ [gnome.libglade]; - sourceInfo = rec { +with stdenv.lib; + +let sourceInfo = rec { baseName="virt-viewer"; - version="0.2.0"; + version="0.6.0"; name="${baseName}-${version}"; url="http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz"; - hash="0lhkmp4kn0s2z8241lqf2fdi55jg9iclr5hjw3m4wzaznpiajwlp"; - }; -in -rec { - src = a.fetchurl { + hash="0svalnr6k8rjadysnxixygk3bdx04asmwx75bhrbljyicba216v6"; +}; in + +stdenv.mkDerivation { + inherit (sourceInfo) name version; + + src = fetchurl { url = sourceInfo.url; sha256 = sourceInfo.hash; }; - inherit (sourceInfo) name version; - inherit buildInputs; + buildInputs = [ + pkgconfig intltool glib libxml2 gtk3 gtkvnc gmp libgcrypt gnupg cyrus_sasl + shared_mime_info libvirt libcap_ng yajl + ] ++ optional spiceSupport spice_gtk; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - meta = { description = "A viewer for remote virtual machines"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.gpl2; + maintainers = maintainers.raskin; + platforms = platforms.linux; + license = licenses.gpl2; }; passthru = { updateInfo = { downloadPage = "http://virt-manager.org/download.html"; }; }; -}) x - +} diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 266ab11a39f..682e7159ac8 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -11,7 +11,7 @@ with stdenv.lib; let - version = "4.3.10"; # changes ./guest-additions as well + version = "4.3.12"; # 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 = "93012"; + extpackRevision = "93733"; 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.3.10/SHA256SUMS - sha256 = "ec3f2a98373d5e228acb4756ac07f44212c4d53f6b83deee81b791abb0d2608a"; + sha256 = "f931ce41b2cc9500dc43aba004630cf7bb7050ba737eae38827e91062f072d1f"; 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,7 +56,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; - sha256 = "739835aee3274a663b23eeb748bd0430e8a5d8ba2f4d0eae5dc47ff2c485e23b"; + sha256 = "db84ddf47d1ecd316ec46417595f0252e3ec2f67e35e1e17320aba87b7c2934f"; }; buildInputs = diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 5fc75590417..f168c0d5725 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 = "247e15e9a205dcd4761f6cb547ceca2a61e8d6905c1930870939fd323f4cd1ae"; + sha256 = "c76dd5ec86f61ad72263ab6d2405723b06badfc2fae57f83ffa5de96f553400d"; }; KERN_DIR = "${kernel.dev}/lib/modules/*/build"; diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix index b8e1257c5bc..26987565636 100644 --- a/pkgs/applications/window-managers/awesome/default.nix +++ b/pkgs/applications/window-managers/awesome/default.nix @@ -5,7 +5,7 @@ , which, dbus, nettools, git, asciidoc, doxygen }: let - version = "3.5.2"; + version = "3.5.5"; in stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz"; - sha256 = "11iya03yzr8sa3snmywlw22ayg0d3dcy49pi8fz0bycf5aq6b38q"; + sha256 = "0iwd4pjvq0akm9dbipbl4m4fm24m017l06arasr445v2qkbxnc5z"; }; meta = with stdenv.lib; { @@ -46,6 +46,7 @@ stdenv.mkDerivation rec { xlibs.libXau xlibs.libXdmcp xlibs.libxcb + xlibs.libxshmfence xlibs.xcbutil xlibs.xcbutilimage xlibs.xcbutilkeysyms @@ -53,8 +54,8 @@ stdenv.mkDerivation rec { xlibs.xcbutilwm ]; - AWESOME_IGNORE_LGI = 1; - + LD_LIBRARY_PATH = "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib"; + GI_TYPELIB_PATH = "${pango}/lib/girepository-1.0"; LUA_CPATH = "${lgi}/lib/lua/5.1/?.so"; LUA_PATH = "${lgi}/share/lua/5.1/?.lua;${lgi}/share/lua/5.1/lgi/?.lua"; @@ -63,7 +64,7 @@ stdenv.mkDerivation rec { --set LUA_CPATH '"${lgi}/lib/lua/5.1/?.so"' \ --set LUA_PATH '"${lgi}/share/lua/5.1/?.lua;${lgi}/share/lua/5.1/lgi/?.lua"' \ --set GI_TYPELIB_PATH "${pango}/lib/girepository-1.0" \ - --set LD_LIBRARY_PATH "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib" \ + --prefix LD_LIBRARY_PATH : "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib" \ --prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl}/bin:${alsaUtils}/bin:${findutils}/bin:${rxvt_unicode}/bin" wrapProgram $out/bin/awesome-client \ diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix index 3ce50a82915..7c4cb4934c9 100644 --- a/pkgs/applications/window-managers/herbstluftwm/default.nix +++ b/pkgs/applications/window-managers/herbstluftwm/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, pkgconfig, glib, libX11, libXinerama }: +{ stdenv, fetchurl, pkgconfig, glib, libX11, libXext, libXinerama }: stdenv.mkDerivation rec { - name = "herbstluftwm-0.5.2"; + name = "herbstluftwm-0.6.2"; src = fetchurl { url = "http://herbstluftwm.org/tarballs/${name}.tar.gz"; - sha256 = "15crb77gw8p1h721r3dcgn0m1n03qk0g81rrnaqw8p7hz44k6gf5"; + sha256 = "1b7h2zi0i9j17k1z62qw5zq7j9i8gv33pmcxnfiilzzfg8wmr7x8"; }; patchPhase = '' @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { config.mk ''; - buildInputs = [ pkgconfig glib libX11 libXinerama ]; + buildInputs = [ pkgconfig glib libX11 libXext libXinerama ]; meta = { description = "A manual tiling window manager for X"; diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix index 57e6ecf1749..73c5e5df81a 100644 --- a/pkgs/applications/window-managers/jwm/default.nix +++ b/pkgs/applications/window-managers/jwm/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, libX11, libXext, libXinerama, libXpm, libXft, freetype, fontconfig }: -stdenv.mkDerivation { - name = "jwm-2.0.1"; +stdenv.mkDerivation rec { + name = "jwm-2.2.2"; src = fetchurl { - url = http://www.joewing.net/programs/jwm/releases/jwm-2.0.1.tar.bz2; - sha256 = "1ix5y00cmg3cyazl0adzgv49140zxaf2dpngyg1dyy4ma6ysdmnw"; + url = "http://www.joewing.net/programs/jwm/releases/${name}.tar.xz"; + sha256 = "0nhyy78c6imk85d47bakk460x0cfhkyghqq82zghmb00dhwiryln"; }; buildInputs = [ libX11 libXext libXinerama libXpm libXft freetype diff --git a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix index 5c00ddf0fd1..ca2e9e34e14 100644 --- a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix +++ b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "xmonad-contrib"; - version = "0.11.2"; - sha256 = "0qlc732m6mhvx7g10r69hk5x460kjv2r04s91cnn5yfiia1qfpai"; + version = "0.11.3"; + sha256 = "14h9vr33yljymswj50wbimav263y9abdcgi07mvfis0zd08rxqxa"; buildDepends = [ extensibleExceptions mtl random utf8String X11 X11Xft xmonad ]; diff --git a/pkgs/build-support/build-fhs-chrootenv/default.nix b/pkgs/build-support/build-fhs-chrootenv/default.nix index 8756c4835b2..e807a04628a 100644 --- a/pkgs/build-support/build-fhs-chrootenv/default.nix +++ b/pkgs/build-support/build-fhs-chrootenv/default.nix @@ -3,8 +3,10 @@ bashInteractive, xz, shadow, gawk, less, 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 + ]; # 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-fhs-chrootenv/init.sh.in b/pkgs/build-support/build-fhs-chrootenv/init.sh.in index 2dfa95219c8..5b0ab94bc4e 100644 --- a/pkgs/build-support/build-fhs-chrootenv/init.sh.in +++ b/pkgs/build-support/build-fhs-chrootenv/init.sh.in @@ -36,9 +36,9 @@ rm $chrootenvDest/etc/pam.d ln -s ../host-etc/static/pam.d $chrootenvDest/etc/pam.d # Symlink Font stuff -mkdir $chrootenvDest/etc/fonts +mkdir -p $chrootenvDest/etc/fonts ln -s ../../host-etc/static/fonts/fonts.conf $chrootenvDest/etc/fonts -mkdir $chrootenvDest/etc/fonts/conf.d +mkdir -p $chrootenvDest/etc/fonts/conf.d ln -s ../../../host-etc/static/fonts/conf.d/00-nixos.conf $chrootenvDest/etc/fonts/conf.d # Create root folder diff --git a/pkgs/build-support/build-fhs-chrootenv/load.sh.in b/pkgs/build-support/build-fhs-chrootenv/load.sh.in index 8d3f464186b..6089fa27585 100644 --- a/pkgs/build-support/build-fhs-chrootenv/load.sh.in +++ b/pkgs/build-support/build-fhs-chrootenv/load.sh.in @@ -3,4 +3,4 @@ chrootenvDest=/run/chrootenv/@name@ # Enter the LFS chroot environment -chroot $chrootenvDest /usr/bin/env -i PS1="$PS1" TERM="$TERM" DISPLAY="$DISPLAY" HOME="/root" PATH="/bin:/sbin" /bin/bash --login +sudo chroot --userspec "$USER:${GROUPS[0]}" --groups "${GROUPS[0]}" $chrootenvDest /usr/bin/env -i PS1="$PS1" TERM="$TERM" DISPLAY="$DISPLAY" HOME="$HOME" PATH="/bin:/sbin" XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" /bin/bash --login diff --git a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in index 68459cca256..225d9dbc4f7 100644 --- a/pkgs/build-support/build-fhs-chrootenv/mount.sh.in +++ b/pkgs/build-support/build-fhs-chrootenv/mount.sh.in @@ -17,7 +17,7 @@ mount --bind /home $chrootenvDest/home # Bind mount state directories mount --bind /var $chrootenvDest/var -mount --bind /run $chrootenvDest/run +mount --rbind /run $chrootenvDest/run # Bind mount the host system's /etc mount --bind /etc $chrootenvDest/host-etc diff --git a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in index 29d631fbd90..5089141c0aa 100644 --- a/pkgs/build-support/build-fhs-chrootenv/umount.sh.in +++ b/pkgs/build-support/build-fhs-chrootenv/umount.sh.in @@ -2,5 +2,5 @@ chrootenvDest=/run/chrootenv/@name@ -# Unmount all bind mounts -umount $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run} +# Unmount all (r)bind mounts +umount -l $chrootenvDest/{dev/pts,dev/shm,dev,nix/store,proc,sys,host-etc,home,var,run} diff --git a/pkgs/build-support/builder-defs/builder-defs.nix b/pkgs/build-support/builder-defs/builder-defs.nix index e22aa6bc66e..5c9ec402d4b 100644 --- a/pkgs/build-support/builder-defs/builder-defs.nix +++ b/pkgs/build-support/builder-defs/builder-defs.nix @@ -545,11 +545,11 @@ let inherit (builtins) head tail trace; in mkdir -p $out/share/texmf/fonts/enc/${retrievedName} mkdir -p $out/share/texmf/fonts/map/${retrievedName} - cp *.ttf $out/share/fonts/truetype/public/${retrievedName} || echo No TrueType fonts - cp *.otf $out/share/fonts/opentype/public/${retrievedName} || echo No OpenType fonts - cp *.{pfm,afm,pfb} $out/share/fonts/type1/public/${retrievedName} || echo No Type1 Fonts - cp *.enc $out/share/texmf/fonts/enc/${retrievedName} || echo No fontenc data - cp *.map $out/share/texmf/fonts/map/${retrievedName} || echo No fontmap data + find -name '*.ttf' -exec cp {} $out/share/fonts/truetype/public/${retrievedName} \; + find -name '*.otf' -exec cp {} $out/share/fonts/opentype/public/${retrievedName} \; + find -name '*.pfm' -o -name '*.afm' -o -name '*.pfb' -exec cp {} $out/share/fonts/type1/public/${retrievedName} \; + find -name '*.enc' -exec cp {} $out/share/texmf/fonts/enc/${retrievedName} \; + find -name '*.map' -exec cp {} $out/share/texmf/fonts/map/${retrievedName} \; '') ["minInit" "defEnsureDir"]; simplyShare = shareName: fullDepEntry ('' diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix index 5e028863b06..bc73d1f73a2 100644 --- a/pkgs/build-support/cabal/default.nix +++ b/pkgs/build-support/cabal/default.nix @@ -1,12 +1,14 @@ # generic builder for Cabal packages { stdenv, fetchurl, lib, pkgconfig, ghc, Cabal, jailbreakCabal, glibcLocales -, gnugrep, coreutils +, gnugrep, coreutils, hscolour , enableLibraryProfiling ? false , enableSharedLibraries ? false , enableSharedExecutables ? false , enableStaticLibraries ? true , enableCheckPhase ? stdenv.lib.versionOlder "7.4" ghc.version +, enableHyperlinkSource ? true +, extension ? (self : super : {}) }: let @@ -49,6 +51,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs; propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs; doCheck = enableCheckPhase && x.doCheck; + hyperlinkSource = enableHyperlinkSource && x.hyperlinkSource; }; defaults = @@ -91,6 +94,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; buildInputs = [ghc Cabal] ++ self.extraBuildInputs; extraBuildInputs = self.buildTools ++ (optionals self.doCheck self.testDepends) ++ + (optional self.hyperlinkSource hscolour) ++ (if self.pkgconfigDepends == [] then [] else [pkgconfig]) ++ (if self.isLibrary then [] else self.buildDepends ++ self.extraLibraries ++ self.pkgconfigDepends); @@ -133,14 +137,15 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; jailbreak = false; # pass the '--enable-split-objs' flag to cabal in the configure stage - enableSplitObjs = !( stdenv.isDarwin # http://hackage.haskell.org/trac/ghc/ticket/4013 - || versionOlder "7.6.99" ghc.version # -fsplit-ojbs is broken in 7.7 snapshot - ); + enableSplitObjs = !stdenv.isDarwin; # http://hackage.haskell.org/trac/ghc/ticket/4013 # pass the '--enable-tests' flag to cabal in the configure stage # and run any regression test suites the package might have doCheck = enableCheckPhase; + # pass the '--hyperlink-source' flag to ./Setup haddock + hyperlinkSource = enableHyperlinkSource; + # abort the build if the configure phase detects that the package # depends on multiple versions of the same build input strictConfigurePhase = true; @@ -195,9 +200,12 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; done done - ${optionalString self.enableSharedExecutables '' + ${optionalString (self.enableSharedExecutables && self.stdenv.isLinux) '' configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}"; ''} + ${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) '' + configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names"; + ''} echo "configure flags: $extraConfigureFlags $configureFlags" ./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \ @@ -220,7 +228,8 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; ./Setup build ${self.buildTarget} export GHC_PACKAGE_PATH=$(${ghc.GHCPackages}) - test -n "$noHaddock" || ./Setup haddock --html --hoogle + test -n "$noHaddock" || ./Setup haddock --html --hoogle \ + ${optionalString self.hyperlinkSource "--hyperlink-source"} eval "$postBuild" ''; @@ -257,6 +266,13 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages fi + ${optionalString (self.enableSharedExecutables && self.isExecutable && self.stdenv.isDarwin) '' + for exe in $out/bin/* ; do + install_name_tool -add_rpath \ + $out/lib/${ghc.ghc.name}/${self.pname}-${self.version} $exe + done + ''} + eval "$postInstall" ''; @@ -264,5 +280,8 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; # in Cabal derivations. inherit stdenv ghc; }; - in stdenv.mkDerivation (postprocess ((rec { f = defaults f // args f; }).f)) ; + in + stdenv.mkDerivation (postprocess (let super = defaults self // args self; + self = super // extension self super; + in self)); } diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git index 6e79f82eae8..d4819574acb 100755 --- a/pkgs/build-support/fetchgit/nix-prefetch-git +++ b/pkgs/build-support/fetchgit/nix-prefetch-git @@ -217,6 +217,8 @@ clone_user_rev() { fi;; esac + echo "git revision is $(cd $dir && git rev-parse $rev)" + # Allow doing additional processing before .git removal eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK" if test -z "$leaveDotGit"; then diff --git a/pkgs/build-support/fetchhg/builder.sh b/pkgs/build-support/fetchhg/builder.sh index 73ec7ec0b36..9699fb69b7f 100644 --- a/pkgs/build-support/fetchhg/builder.sh +++ b/pkgs/build-support/fetchhg/builder.sh @@ -1,9 +1,9 @@ source $stdenv/setup - header "getting $url${tag:+ ($tag)} into $out" -hg clone --insecure ${tag:+-r "$tag"} "$url" "$out" +hg clone --insecure "$url" hg-clone -rm -rf "$out/.hg" +hg archive -q -y ${tag:+-r "$tag"} --cwd hg-clone $out +rm -f $out/.hg_archival.txt stopNest diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix new file mode 100644 index 00000000000..768d173934d --- /dev/null +++ b/pkgs/build-support/fetchpatch/default.nix @@ -0,0 +1,22 @@ +# This function downloads and normalizes a patch/diff file. +# This is primarily useful for dynamically generated patches, +# such as GitHub's or cgit's, where the non-significant content parts +# often change with updating of git or cgit. +# stripLen acts as the -p parameter when applying a patch. + +{ fetchurl, patchutils }: +{ stripLen ? 0, ... }@args: + +fetchurl ({ + postFetch = '' + tmpfile="$TMPDIR/${args.sha256}" + "${patchutils}/bin/lsdiff" "$out" \ + | sort -u | sed -e 's/[*?]/\\&/g' \ + | xargs -I{} \ + "${patchutils}/bin/filterdiff" \ + --include={} \ + --strip=${toString stripLen} \ + --clean "$out" > "$tmpfile" + mv "$tmpfile" "$out" + ''; +} // args) diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh index 402fe0cba5b..0c6e16551b4 100644 --- a/pkgs/build-support/fetchurl/builder.sh +++ b/pkgs/build-support/fetchurl/builder.sh @@ -17,12 +17,16 @@ curl="curl \ $NIX_CURL_FLAGS" +downloadedFile="$out" +if [ -n "$downloadToTemp" ]; then downloadedFile="$TMPDIR/file"; fi + + tryDownload() { local url="$1" echo header "trying $url" success= - if $curl --fail "$url" --output "$out"; then + if $curl --fail "$url" --output "$downloadedFile"; then success=1 fi stopNest @@ -30,6 +34,8 @@ tryDownload() { finish() { + set +o noglob + runHook postFetch stopNest exit 0 } diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index af4a6700153..c74131a9e60 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -61,6 +61,17 @@ in , sha1 ? "" , sha256 ? "" +, recursiveHash ? false + +, # Shell code executed after the file has been fetched + # successfully. This can do things like check or transform the file. + postFetch ? "" + +, # Whether to download to a temporary path rather than $out. Useful + # in conjunction with postFetch. The location of the temporary file + # is communicated to postFetch via $downloadedFile. + downloadToTemp ? false + , # If set, don't download the file, but write a list of all possible # URLs (resulting from resolving mirror:// URLs) to $out. showURLs ? false @@ -87,7 +98,7 @@ stdenv.mkDerivation { builder = ./builder.sh; - buildInputs = [curl]; + buildInputs = [ curl ]; urls = urls_; @@ -101,7 +112,9 @@ stdenv.mkDerivation { outputHash = if outputHash != "" then outputHash else if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5; - inherit curlOpts showURLs mirrorsFile impureEnvVars; + outputHashMode = if recursiveHash then "recursive" else "flat"; + + inherit curlOpts showURLs mirrorsFile impureEnvVars postFetch downloadToTemp; # Doing the download on a remote machine just duplicates network # traffic, so don't do that. diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index c4841c50d94..eb3b8a105cd 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -180,11 +180,17 @@ rec { ]; # Fedora (please only add full mirrors that carry old Fedora distributions as well). + # See: https://mirrors.fedoraproject.org/publiclist (but not all carry old content). fedora = [ + http://archives.fedoraproject.org/pub/archive/fedora/ + http://fedora.osuosl.org/ http://ftp.nluug.nl/pub/os/Linux/distr/fedora/ http://ftp.funet.fi/pub/mirrors/ftp.redhat.com/pub/fedora/ - http://download.fedora.redhat.com/pub/fedora/ - http://archives.fedoraproject.org/pub/archive/fedora/ + http://fedora.bhs.mirrors.ovh.net/ + http://mirror.csclub.uwaterloo.ca/fedora/ + http://ftp.linux.cz/pub/linux/fedora/ + http://ftp.heanet.ie/pub/fedora/ + http://mirror.1000mbps.com/fedora/ ]; # Old SUSE distributions. Unfortunately there is no master site, diff --git a/pkgs/build-support/fetchzip/default.nix b/pkgs/build-support/fetchzip/default.nix new file mode 100644 index 00000000000..7c6e16a0589 --- /dev/null +++ b/pkgs/build-support/fetchzip/default.nix @@ -0,0 +1,44 @@ +# This function downloads and unpacks an archive file, such as a zip +# or tar file. This is primarily useful for dynamically generated +# archives, such as GitHub's /archive URLs, where the unpacked content +# of the zip file doesn't change, but the zip file itself may +# (e.g. due to minor changes in the compression algorithm, or changes +# in timestamps). + +{ lib, fetchurl, unzip }: + +{ # Optionally move the contents of the unpacked tree up one level. + stripRoot ? true +, url +, ... } @ args: + +fetchurl ({ + # Remove the extension, because otherwise unpackPhase will get + # confused. FIXME: fix unpackPhase. + name = args.name or lib.removeSuffix ".zip" (lib.removeSuffix ".tar.gz" (baseNameOf url)); + + recursiveHash = true; + + downloadToTemp = true; + + postFetch = + '' + export PATH=${unzip}/bin:$PATH + mkdir $out + cd $out + renamed="$TMPDIR/${baseNameOf url}" + mv "$downloadedFile" "$renamed" + unpackFile "$renamed" + '' + # FIXME: handle zip files that contain a single regular file. + + lib.optionalString stripRoot '' + shopt -s dotglob + if [ "$(ls -d $out/* | wc -l)" != 1 ]; then + echo "error: zip file must contain a single directory." + exit 1 + fi + fn=$(cd "$out" && echo *) + mv $out/$fn/* "$out/" + rmdir "$out/$fn" + ''; +} // args) diff --git a/pkgs/build-support/gcc-cross-wrapper/builder.sh b/pkgs/build-support/gcc-cross-wrapper/builder.sh index 2dfa315d168..1d7d1046d36 100644 --- a/pkgs/build-support/gcc-cross-wrapper/builder.sh +++ b/pkgs/build-support/gcc-cross-wrapper/builder.sh @@ -26,6 +26,10 @@ if test -z "$nativeLibc"; then fi fi + if [ -n "$osxMinVersion" ]; then + cflagsCompile="$cflagsCompile -mmacosx-version-min=$osxMinVersion" + fi + echo "$cflagsCompile -B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags echo "-L$libc/lib -rpath $libc/lib -rpath-link $libc/lib" > $out/nix-support/libc-ldflags diff --git a/pkgs/build-support/gcc-cross-wrapper/default.nix b/pkgs/build-support/gcc-cross-wrapper/default.nix index b2e30be10ef..d3494b83a87 100644 --- a/pkgs/build-support/gcc-cross-wrapper/default.nix +++ b/pkgs/build-support/gcc-cross-wrapper/default.nix @@ -46,6 +46,7 @@ stdenv.mkDerivation { addFlags = ./add-flags; inherit nativeTools nativeLibc nativePrefix gcc libc binutils; crossConfig = if cross != null then cross.config else null; + osxMinVersion = cross.osxMinVersion or null; gccLibs = if gcc != null then gccLibs else null; name = chosenName; langC = if nativeTools then true else gcc.langC; diff --git a/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh b/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh index a7be09283ee..433d36ced43 100644 --- a/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh +++ b/pkgs/build-support/gcc-cross-wrapper/setup-hook.sh @@ -75,6 +75,9 @@ fi # native compilations. doCheck="" +# Don't strip foreign binaries with native "strip" tool. +dontStrip=1 + # Add the output as an rpath. if test "$NIX_NO_SELF_RPATH" != "1"; then export NIX_CROSS_LDFLAGS="-rpath $out/lib -rpath-link $out/lib $NIX_CROSS_LDFLAGS" diff --git a/pkgs/build-support/grsecurity/default.nix b/pkgs/build-support/grsecurity/default.nix new file mode 100644 index 00000000000..a9c60a2afbd --- /dev/null +++ b/pkgs/build-support/grsecurity/default.nix @@ -0,0 +1,154 @@ +{ grsecOptions, lib, pkgs }: + +with lib; + +let + cfg = { + stable = grsecOptions.stable or false; + vserver = grsecOptions.vserver or false; + testing = grsecOptions.testing or false; + config = { + mode = "auto"; + sysctl = false; + denyChrootChmod = false; + restrictProc = false; + restrictProcWithGroup = true; + unrestrictProcGid = 121; # Ugh, an awful hack. See grsecurity NixOS gid + disableRBAC = false; + verboseVersion = false; + kernelExtraConfig = ""; + } // grsecOptions.config; + }; + + vals = rec { + + mkKernel = kernel: patch: + assert patch.kversion == kernel.version; + { inherit kernel patch; + inherit (patch) grversion revision; + }; + + test-patch = with pkgs.kernelPatches; grsecurity_unstable; + stable-patch = with pkgs.kernelPatches; + if cfg.vserver then grsecurity_vserver else grsecurity_stable; + + grKernel = if (cfg.stable || cfg.vserver) + then mkKernel pkgs.linux_3_2 stable-patch + else mkKernel pkgs.linux_3_14 test-patch; + + ## -- 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 '' + 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} + ${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 + ''; + }; + + mkGrsecKern = grkern: + 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; + features.grsecurity = true; + })) (args: grsecurityOverrider args grkern)); + + mkGrsecPkg = grkern: pkgs.linuxPackagesFor grkern (mkGrsecPkg grkern); + + ## -- Kernel packages ------------------------------------------------------ + + grsecKernel = mkGrsecKern grKernel; + grsecPackage = mkGrsecPkg grsecKernel; + }; +in vals diff --git a/pkgs/build-support/grsecurity/flavors.nix b/pkgs/build-support/grsecurity/flavors.nix new file mode 100644 index 00000000000..57d52e7cf94 --- /dev/null +++ b/pkgs/build-support/grsecurity/flavors.nix @@ -0,0 +1,32 @@ +let + mkOpts = ver: prio: sys: virt: swvirt: hwvirt: + { config.priority = prio; + config.system = sys; + config.virtualisationConfig = virt; + config.hardwareVirtualisation = hwvirt; + config.virtualisationSoftware = swvirt; + } // builtins.listToAttrs [ { name = ver; value = true; } ]; +in +{ + # Stable kernels + linux_grsec_stable_desktop = + mkOpts "stable" "performance" "desktop" "host" "kvm" true; + linux_grsec_stable_server = + mkOpts "stable" "security" "server" "host" "kvm" true; + linux_grsec_stable_server_xen = + mkOpts "stable" "security" "server" "guest" "xen" true; + + # Stable+vserver kernels - server versions only + linux_grsec_vserver_server = + mkOpts "vserver" "security" "server" "host" "kvm" true; + linux_grsec_vserver_server_xen = + mkOpts "vserver" "security" "server" "guest" "xen" true; + + # Testing kernels + linux_grsec_testing_desktop = + mkOpts "testing" "performance" "desktop" "host" "kvm" true; + linux_grsec_testing_server = + mkOpts "testing" "security" "server" "host" "kvm" true; + linux_grsec_testing_server_xen = + mkOpts "testing" "security" "server" "guest" "xen" true; +} \ No newline at end of file diff --git a/pkgs/build-support/libredirect/default.nix b/pkgs/build-support/libredirect/default.nix new file mode 100644 index 00000000000..a8a497d46d7 --- /dev/null +++ b/pkgs/build-support/libredirect/default.nix @@ -0,0 +1,14 @@ +{ stdenv }: + +stdenv.mkDerivation { + name = "libredirect-0"; + + unpackPhase = "cp ${./libredirect.c} libredirect.c"; + + buildPhase = + '' + gcc -Wall -std=c99 -O3 -shared libredirect.c -o libredirect.so -fPIC -ldl + ''; + + installPhase = "mkdir -p $out/lib; cp libredirect.so $out/lib"; +} diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c new file mode 100644 index 00000000000..4afed3add75 --- /dev/null +++ b/pkgs/build-support/libredirect/libredirect.c @@ -0,0 +1,104 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define MAX_REDIRECTS 128 + +static int nrRedirects = 0; +static char * from[MAX_REDIRECTS]; +static char * to[MAX_REDIRECTS]; + +// FIXME: might run too late. +static void init() __attribute__((constructor)); + +static void init() +{ + char * spec = getenv("NIX_REDIRECTS"); + if (!spec) return; + + unsetenv("NIX_REDIRECTS"); + + char * spec2 = malloc(strlen(spec) + 1); + strcpy(spec2, spec); + + char * pos = spec2, * eq; + while ((eq = strchr(pos, '='))) { + *eq = 0; + from[nrRedirects] = pos; + pos = eq + 1; + to[nrRedirects] = pos; + nrRedirects++; + if (nrRedirects == MAX_REDIRECTS) break; + char * end = strchr(pos, ':'); + if (!end) break; + *end = 0; + pos = end + 1; + } + +} + +static const char * rewrite(const char * path, char * buf) +{ + for (int n = 0; n < nrRedirects; ++n) { + int len = strlen(from[n]); + if (strncmp(path, from[n], len) != 0) continue; + if (snprintf(buf, PATH_MAX, "%s%s", to[n], path + len) >= PATH_MAX) + abort(); + return buf; + } + + return path; +} + +/* The following set of Glibc library functions is very incomplete - + it contains only what we needed for programs in Nixpkgs. Just add + more functions as needed. */ + +int open(const char * path, int flags, ...) +{ + int (*open_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open"); + mode_t mode = 0; + if (flags & O_CREAT) { + va_list ap; + va_start(ap, flags); + mode = va_arg(ap, mode_t); + va_end(ap); + } + char buf[PATH_MAX]; + return open_real(rewrite(path, buf), flags, mode); +} + +int open64(const char * path, int flags, ...) +{ + int (*open64_real) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open64"); + mode_t mode = 0; + if (flags & O_CREAT) { + va_list ap; + va_start(ap, flags); + mode = va_arg(ap, mode_t); + va_end(ap); + } + char buf[PATH_MAX]; + return open64_real(rewrite(path, buf), flags, mode); +} + +FILE * fopen(const char * path, const char * mode) +{ + FILE * (*fopen_real) (const char *, const char *) = dlsym(RTLD_NEXT, "fopen"); + char buf[PATH_MAX]; + return fopen_real(rewrite(path, buf), mode); +} + +int __xstat(int ver, const char * path, struct stat * st) +{ + int (*__xstat_real) (int ver, const char *, struct stat *) = dlsym(RTLD_NEXT, "__xstat"); + char buf[PATH_MAX]; + return __xstat_real(ver, rewrite(path, buf), st); +} diff --git a/pkgs/build-support/release/default.nix b/pkgs/build-support/release/default.nix index 6288935ec2a..d36707dc60f 100644 --- a/pkgs/build-support/release/default.nix +++ b/pkgs/build-support/release/default.nix @@ -31,6 +31,16 @@ rec { doCoverageAnalysis = true; } // args); + clangAnalysis = args: nixBuild ( + { inherit clangAnalyzer; + doClangAnalysis = true; + } // args); + + coverityAnalysis = args: nixBuild ( + { inherit cov-build xz; + doCoverityAnalysis = true; + } // args); + gcovReport = args: import ./gcov-report.nix ( { inherit runCommand lcov rsync; } // args); diff --git a/pkgs/build-support/release/maven-build.nix b/pkgs/build-support/release/maven-build.nix index 6b47bb9cae9..f7ea07baccb 100644 --- a/pkgs/build-support/release/maven-build.nix +++ b/pkgs/build-support/release/maven-build.nix @@ -70,7 +70,7 @@ stdenv.mkDerivation ( rec { ''; mvnAssembly = '' - mvn assembly:assembly -Dmaven.test.skip.exec=true ${mvnFlags} + mvn assembly:assembly -Dmaven.test.skip=true ${mvnFlags} ''; mvnRelease = '' diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix index 8ebae24c673..b80c9242ed2 100644 --- a/pkgs/build-support/release/nix-build.nix +++ b/pkgs/build-support/release/nix-build.nix @@ -8,6 +8,8 @@ { buildOutOfSourceTree ? false , preConfigure ? null , doCoverageAnalysis ? false +, doClangAnalysis ? false +, doCoverityAnalysis ? false , lcovFilter ? [] , lcovExtraTraceFiles ? [] , src, stdenv @@ -18,6 +20,9 @@ , buildInputs ? [] , ... } @ args: +let + doingAnalysis = doCoverageAnalysis || doClangAnalysis || doCoverityAnalysis; +in stdenv.mkDerivation ( { @@ -25,8 +30,8 @@ stdenv.mkDerivation ( doCheck = true; # When doing coverage analysis, we don't care about the result. - dontInstall = doCoverageAnalysis; - useTempPrefix = doCoverageAnalysis; + dontInstall = doingAnalysis; + useTempPrefix = doingAnalysis; showBuildStats = true; @@ -37,6 +42,29 @@ stdenv.mkDerivation ( if test -e $origSrc/nix-support/hydra-release-name; then cp $origSrc/nix-support/hydra-release-name $out/nix-support/hydra-release-name fi + + # Package up Coverity analysis results + if [ ! -z "${toString doCoverityAnalysis}" ]; then + if [ -d "_coverity_$name/cov-int" ]; then + mkdir -p $out/tarballs + NAME=`cat $out/nix-support/hydra-release-name` + cd _coverity_$name + tar caf $out/tarballs/$NAME-coverity-int.xz cov-int + echo "file cov-build $out/tarballs/$NAME-coverity-int.xz" >> $out/nix-support/hydra-build-products + fi + fi + + # Package up Clang analysis results + if [ ! -z "${toString doClangAnalysis}" ]; then + if [ ! -z "`ls _clang_analyze_$name`" ]; then + cd _clang_analyze_$name && mv * $out/analysis + else + mkdir -p $out/analysis + echo "No bugs found." >> $out/analysis/index.html + fi + + echo "report analysis $out/analysis" >> $out/nix-support/hydra-build-products + fi ''; failureHook = (stdenv.lib.optionalString (failureHook != null) failureHook) + @@ -64,11 +92,33 @@ stdenv.mkDerivation ( src=$(findTarballs $src | head -1) ''; + preHook = '' + # Perform Coverity Analysis + if [ ! -z "${toString doCoverityAnalysis}" ]; then + shopt -s expand_aliases + mkdir _coverity_$name + alias make="cov-build --dir _coverity_$name/cov-int make" + fi + + # Perform Clang Analysis + if [ ! -z "${toString doClangAnalysis}" ]; then + shopt -s expand_aliases + alias make="scan-build -o _clang_analyze_$name --html-title='Scan results for $name' make" + fi + ''; + + # Clean up after analysis + postBuild = '' + if [ ! -z "${toString (doCoverityAnalysis || doClangAnalysis)}" ]; then + unalias make + fi + ''; + initPhase = '' mkdir -p $out/nix-support echo "$system" > $out/nix-support/system - if [ -z "${toString doCoverageAnalysis}" ]; then + if [ -z "${toString doingAnalysis}" ]; then for i in $outputs; do if [ "$i" = out ]; then j=none; else j="$i"; fi mkdir -p ''${!i}/nix-support @@ -79,7 +129,12 @@ stdenv.mkDerivation ( prePhases = ["initPhase"] ++ prePhases; - buildInputs = buildInputs ++ stdenv.lib.optional doCoverageAnalysis args.makeGCOVReport; + buildInputs = + buildInputs ++ + (stdenv.lib.optional doCoverageAnalysis args.makeGCOVReport) ++ + (stdenv.lib.optional doClangAnalysis args.clangAnalyzer) ++ + (stdenv.lib.optional doCoverityAnalysis args.cov-build) ++ + (stdenv.lib.optional doCoverityAnalysis args.xz); lcovFilter = ["/nix/store/*"] ++ lcovFilter; diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 274cd05024b..a717561d8da 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1117,6 +1117,18 @@ rec { packages = commonCentOSPackages; }; + rhel7x86_64 = { + name = "rhel-7rc-x86_64"; + fullName = "RHEL 7 rc (x86_64)"; + packagesList = fetchurl { + url = http://ftp.redhat.com/redhat/rhel/rc/7/Server/x86_64/os/repodata/81f41fc6206a8477235dc7b5099ffe0867f71802415d66d6c0a213a41cae27c3-primary.xml.gz; + sha256 = "1hr7mqfa84x2q3b6cpa108cgfrq8zsghkdf7blipg13a4331zx41"; + }; + urlPrefix = http://ftp.redhat.com/redhat/rhel/rc/7/Server/x86_64/os ; + archs = ["noarch" "x86_64"]; + packages = commonRHELPackages; + }; + }; @@ -1373,7 +1385,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/quantal/universe/binary-i386/Packages.bz2; - sha256 = "323036e81c8bf409f71d3bc5cf37cfba72fe1d0fc82e9b5418d4d0cb516646e1"; + sha256 = "9933ce12e7830b9c68a4aead08b86fcbb8d6ef0ea1fd133f0cf9d7126ad8c9bd"; }) ]; urlPrefix = mirror://ubuntu; @@ -1390,7 +1402,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/quantal/universe/binary-amd64/Packages.bz2; - sha256 = "c762bd4ed063326577a62ff783cf9720e772b03d4a2aa38048918ee6287b96ce"; + sha256 = "329a98312248c98092f8b91f232fc68fd3e6e2337ea4f348b3785465ae8dae17"; }) ]; urlPrefix = mirror://ubuntu; @@ -1407,7 +1419,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/raring/universe/binary-i386/Packages.bz2; - sha256 = "1db19982fc3689b00a918e2cdbb936dfccebbac2ed82f81bb0164a3d51039012"; + sha256 = "c1a59dd9132654194f4470932fd0f1582496465d8f96909b22accaf9f404024a"; }) ]; urlPrefix = mirror://ubuntu; @@ -1424,7 +1436,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/raring/universe/binary-amd64/Packages.bz2; - sha256 = "0caf561bad359e8a82a987a076c0f1cb7a43412a5de053c105b160477c192978"; + sha256 = "8aba137ae18540a12de03a564c11496431a150ab2d4d1e93e2b4b691fa2a4850"; }) ]; urlPrefix = mirror://ubuntu; @@ -1441,7 +1453,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/saucy/universe/binary-i386/Packages.bz2; - sha256 = "84ff81ef23bcece68bfc3dd4b0b1fd38e5b81ac90ad48b4e4210396b425da500"; + sha256 = "897f64c19a742ac8524c17c1b5ec31b33ec8ab20c85463010d8bf04f5d14aa0f"; }) ]; urlPrefix = mirror://ubuntu; @@ -1458,7 +1470,41 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/saucy/universe/binary-amd64/Packages.bz2; - sha256 = "06ec77f2f5d6ee70ffb805affe3a6b3e8d5b6463fbfe42ba6588295c7e1f65bc"; + sha256 = "a899ce5513ce8540ce9b8da4c1cd85b16b231900881b3aa559f7ac3182cdbfc8"; + }) + ]; + urlPrefix = mirror://ubuntu; + packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; + }; + + ubuntu1404i386 = { + name = "ubuntu-14.04-trusty-i386"; + fullName = "Ubuntu 14.04 Trusty (i386)"; + packagesLists = + [ (fetchurl { + url = mirror://ubuntu/dists/trusty/main/binary-i386/Packages.bz2; + sha256 = "fdfc38663915c5cef3029872deb8c3bf52b98092073058086e2f1db0c71ebeb4"; + }) + (fetchurl { + url = mirror://ubuntu/dists/trusty/universe/binary-i386/Packages.bz2; + sha256 = "2afcf259332d88c5e02f5446c4926edd567ef1a00ce24ca7cb400cbf44e2a90f"; + }) + ]; + urlPrefix = mirror://ubuntu; + packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; + }; + + ubuntu1404x86_64 = { + name = "ubuntu-14.04-trusty-amd64"; + fullName = "Ubuntu 14.04 Trusty (amd64)"; + packagesList = + [ (fetchurl { + url = mirror://ubuntu/dists/trusty/main/binary-amd64/Packages.bz2; + sha256 = "7095917eb8e4ac9161bc3b2ceeaf86e9265aae7b855a0e15d72096ecb05f1fc2"; + }) + (fetchurl { + url = mirror://ubuntu/dists/trusty/universe/binary-amd64/Packages.bz2; + sha256 = "558637eeb8e340b871653e2060effe36e064677eca4eae62d9e4138dd402a610"; }) ]; urlPrefix = mirror://ubuntu; @@ -1510,22 +1556,22 @@ rec { }; debian60i386 = { - name = "debian-6.0.8-squeeze-i386"; - fullName = "Debian 6.0.8 Squeeze (i386)"; + name = "debian-6.0.9-squeeze-i386"; + fullName = "Debian 6.0.9 Squeeze (i386)"; packagesList = fetchurl { url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2; - sha256 = "c850339aaf46a4ed4abc7c1789c29ea58c3a152aa173ee004578fda86b28391f"; + sha256 = "1fb9afa9b2d007939e066c031fc60f6626b78105ce42fe8cdeab7124a0dbf477"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; }; debian60x86_64 = { - name = "debian-6.0.8-squeeze-amd64"; - fullName = "Debian 6.0.8 Squeeze (amd64)"; + name = "debian-6.0.9-squeeze-amd64"; + fullName = "Debian 6.0.9 Squeeze (amd64)"; packagesList = fetchurl { url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2; - sha256 = "1506ab7de3ad5a2c706183536d2ee88589d7cb922d9e0de36ac062d464082dda"; + sha256 = "cee46e56f35342c17795d1923b6c7e545f626e8d568fd48f91d5e0eb92ea329e"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; @@ -1536,22 +1582,22 @@ rec { debian70x86_64 = debian7x86_64; debian7i386 = { - name = "debian-7.4-wheezy-i386"; - fullName = "Debian 7.4 Wheezy (i386)"; + name = "debian-7.5-wheezy-i386"; + fullName = "Debian 7.5 Wheezy (i386)"; packagesList = fetchurl { url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2; - sha256 = "9f19822c82e25cd149f82b0d16fdbc00d1080db7f34e41de456498dc7c54f2b4"; + sha256 = "c4896c30c9a483354714d50f19d0779b72a218ce4f817f9ec8554f9664137993"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; }; debian7x86_64 = { - name = "debian-7.4-wheezy-amd64"; - fullName = "Debian 7.4 Wheezy (amd64)"; + name = "debian-7.5-wheezy-amd64"; + fullName = "Debian 7.5 Wheezy (amd64)"; packagesList = fetchurl { url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2; - sha256 = "160ee0917693bc2e8f69b233c220857f35a70d906540d99d2779def576daf5f7"; + sha256 = "f3b78aac7d2bdfc3896fdd2087affd0e16bafbf35945106b196483f5fb303d52"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; @@ -1606,6 +1652,28 @@ rec { "unzip" ]; + commonRHELPackages = [ + "autoconf" + "automake" + "basesystem" + "bzip2" + "curl" + "diffutils" + "findutils" + "gawk" + "gcc-c++" + "gzip" + "make" + "patch" + "perl" + "pkgconfig" + "procps-ng" + "rpm" + "rpm-build" + "tar" + "unzip" + ]; + /* Common packages for openSUSE images. */ commonOpenSUSEPackages = [ "aaa_base" diff --git a/pkgs/build-support/vm/windows/bootstrap.nix b/pkgs/build-support/vm/windows/bootstrap.nix index 47afce5b5a3..e3b44d1b6ab 100644 --- a/pkgs/build-support/vm/windows/bootstrap.nix +++ b/pkgs/build-support/vm/windows/bootstrap.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, vmTools, writeScript, writeText, runCommand, makeInitrd , python, perl, coreutils, dosfstools, gzip, mtools, netcat, openssh, qemu -, samba, socat, vde2, cdrkit, pathsFromGraph +, samba, socat, vde2, cdrkit, pathsFromGraph, gnugrep }: { isoFile, productKey, arch ? null }: @@ -10,7 +10,7 @@ with stdenv.lib; let controller = import ./controller { inherit stdenv writeScript vmTools makeInitrd; - inherit samba vde2 openssh socat netcat coreutils gzip; + inherit samba vde2 openssh socat netcat coreutils gzip gnugrep; }; mkCygwinImage = import ./cygwin-iso { diff --git a/pkgs/build-support/vm/windows/controller/default.nix b/pkgs/build-support/vm/windows/controller/default.nix index fe4b5b7f6c2..0beaf401758 100644 --- a/pkgs/build-support/vm/windows/controller/default.nix +++ b/pkgs/build-support/vm/windows/controller/default.nix @@ -1,5 +1,5 @@ { stdenv, writeScript, vmTools, makeInitrd -, samba, vde2, openssh, socat, netcat, coreutils, gzip +, samba, vde2, openssh, socat, netcat, coreutils, gnugrep, gzip }: { sshKey @@ -86,6 +86,7 @@ let # Print a dot every 10 seconds only to shorten line length. ${coreutils}/bin/sleep 10 done + ${coreutils}/bin/touch /xchg/waiting_done echo " success." # Loop forever, because this VM is going to be killed. ${loopForever} @@ -123,6 +124,7 @@ let echo -n . ${coreutils}/bin/sleep 1 done + ${coreutils}/bin/touch /xchg/waiting_done echo " success." ${openssh}/bin/ssh \ @@ -145,6 +147,7 @@ let ]; controllerQemuArgs = concatStringsSep " " (maybeKvm64 ++ [ + "-pidfile $CTRLVM_PIDFILE" "-nographic" "-no-reboot" "-virtfs local,path=/nix/store,security_model=none,mount_tag=store" @@ -160,6 +163,7 @@ let cygwinQemuArgs = concatStringsSep " " (maybeKvm64 ++ [ "-monitor unix:$MONITOR_SOCKET,server,nowait" + "-pidfile $WINVM_PIDFILE" "-nographic" "-net nic,vlan=0,macaddr=52:54:00:12:01:01" "-net vde,vlan=0,sock=$QEMU_VDE_SOCKET" @@ -181,42 +185,73 @@ let QEMU_VDE_SOCKET="$(pwd)/vde.ctl" MONITOR_SOCKET="$(pwd)/monitor" + WINVM_PIDFILE="$(pwd)/winvm.pid" + CTRLVM_PIDFILE="$(pwd)/ctrlvm.pid" ${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 '' + vmExec = '' ${vmTools.qemuProg} ${controllerQemuArgs} & - ${vmTools.qemuProg} ${cygwinQemuArgs}${bgBoth} - '' else '' ${vmTools.qemuProg} ${cygwinQemuArgs} & - ${vmTools.qemuProg} ${controllerQemuArgs}${bgBoth} + echo -n "Waiting for VMs to start up..." + timeout=60 + while ! test -e "$WINVM_PIDFILE" -a -e "$CTRLVM_PIDFILE"; do + timeout=$(($timeout - 1)) + echo -n . + if test $timeout -le 0; then + echo " timed out." + exit 1 + fi + ${coreutils}/bin/sleep 1 + done + echo " done." ''; + checkDropOut = '' + if ! test -e "$XCHG_DIR/waiting_done" && + ! kill -0 $(< "$WINVM_PIDFILE"); then + echo "Windows VM has dropped out early, bailing out!" >&2 + exit 1 + fi + ''; + + toMonitor = "${socat}/bin/socat - UNIX-CONNECT:$MONITOR_SOCKET"; + 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 %- - + echo -n "Waiting for memory dump to finish..." + while ! echo info migrate | ${toMonitor} | \ + ${gnugrep}/bin/grep -qi '^migration *status: *complete'; do + ${coreutils}/bin/sleep 1 + echo -n . + done + echo " done." + echo quit | ${toMonitor} + wait $(< "$WINVM_PIDFILE") eval "$postVM" exit 0 '' else if installMode then '' + wait $(< "$WINVM_PIDFILE") eval "$postVM" exit 0 '' else '' + while kill -0 $(< "$CTRLVM_PIDFILE"); do + ${checkDropOut} + done 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") ''; diff --git a/pkgs/build-support/vm/windows/default.nix b/pkgs/build-support/vm/windows/default.nix index f9b44d450d9..f9f1d75c70d 100644 --- a/pkgs/build-support/vm/windows/default.nix +++ b/pkgs/build-support/vm/windows/default.nix @@ -5,6 +5,7 @@ let 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; + inherit (pkgs) gnugrep; }; builder = '' diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix index f384aa512eb..5fc0b4752bc 100644 --- a/pkgs/data/documentation/man-pages/default.nix +++ b/pkgs/data/documentation/man-pages/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "man-pages-3.63"; + name = "man-pages-3.64"; src = fetchurl { url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz"; - sha256 = "06iw95d3xpr9y5kbf889g4zvqlp7z68yabk3sjylbjdzapyqhgz6"; + sha256 = "1p9zk130c852gqci6dyw57yaqx4v871n8n82kkccdpj7y63xr4bl"; }; preBuild = diff --git a/pkgs/data/fonts/eb-garamond/default.nix b/pkgs/data/fonts/eb-garamond/default.nix new file mode 100644 index 00000000000..99c9b53217e --- /dev/null +++ b/pkgs/data/fonts/eb-garamond/default.nix @@ -0,0 +1,50 @@ +x@{builderDefsPackage + , unzip + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + []; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + version="0.016"; + name="EBGaramond"; + url="https://bitbucket.org/georgd/eb-garamond/downloads/${name}-${version}.zip"; + hash="0y630khn5zh70al3mm84fs767ac94ffyz1w70zzhrhambx07pdx0"; + }; +in +rec { + src = a.fetchurl { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + }; + + name = "eb-garamond-${sourceInfo.version}"; + inherit buildInputs; + + phaseNames = ["doUnpack" "installFonts"]; + + # This will clean up if/when 8263996 lands. + doUnpack = a.fullDepEntry ('' + unzip ${src} + cd ${sourceInfo.name}* + mv {ttf,otf}/* . + '') ["addInputs"]; + + meta = with a.lib; { + description = "Digitization of the Garamond shown on the Egenolff-Berner specimen"; + maintainers = with maintainers; [ relrod ]; + platforms = platforms.all; + license = licenses.ofl; + homepage = http://www.georgduffner.at/ebgaramond/; + }; + passthru = { + updateInfo = { + downloadPage = "https://github.com/georgd/EB-Garamond/releases"; + }; + }; +}) x + diff --git a/pkgs/data/fonts/lohit-fonts/default.nix b/pkgs/data/fonts/lohit-fonts/default.nix new file mode 100644 index 00000000000..707d52c8baa --- /dev/null +++ b/pkgs/data/fonts/lohit-fonts/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "lohit-fonts-20140220"; + src = fetchurl { + url = https://fedorahosted.org/releases/l/o/lohit/lohit-ttf-20140220.tar.gz; + sha256 = "1rmgr445hw1n851ywy28csfvswz1i6hnc8mzp88qw2xk9j4dn32d"; + }; + + installPhase = '' + mkdir -p $out/share/fonts/truetype + cp *.ttf $out/share/fonts/truetype + ''; + + meta = with stdenv.lib; { + homepage = https://fedorahosted.org/lohit/; + description = "Fonts for 21 Indian languages"; + license = licenses.ofl; + maintainers = [ maintainers.ttuegel ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/fonts/nafees/default.nix b/pkgs/data/fonts/nafees/default.nix new file mode 100644 index 00000000000..aa0c1dbd77b --- /dev/null +++ b/pkgs/data/fonts/nafees/default.nix @@ -0,0 +1,59 @@ +{stdenv, fetchurl, unzip}: + +stdenv.mkDerivation rec { + name = "nafees"; + + srcs = [(fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNastaleeq/Nafees_Nastaleeq_v1.02.zip"; + sha256 = "1h1k5d74pg2gs782910v7i9rz2633wdacy34ds7ybxbpjiz6pqix"; + }) + + (fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesRiqa/Nafees_Riqa_v1.0.zip"; + sha256 = "1liismsyaj69y40vs9a9db4l95n25n8vnjnx7sbk70nxppwngd8i"; + }) + + (fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesNaskh/Nafees_Naskh_v2.01.zip"; + sha256 = "1qbbj6w6bvrlymv7z6ld609yhp0l2f27z14180w5n8kzzl720vly"; + }) + + (fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesTahreerNaskh/Nafees_Tahreer_Naskh_v1.0.zip"; + sha256 = "006l87drbi4zh52kpvn8wl9wbwm9srfn406rzsnf4gv0spzhqrxl"; + }) + (fetchurl { + url = "http://www.cle.org.pk/Downloads/localization/fonts/NafeesPakistaniNaskh/Nafees_Pakistani_Naskh_v2.01.zip"; + sha256 = "1i5ip60gq1cgc9fc96kvlahdpia8dxdgcisglvbm2d212bz0s5nb"; + }) +]; + + buildInputs = [unzip]; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/share/fonts/truetype + cp *.ttf $out/share/fonts/truetype + # cp $riqa/*.ttf $out/share/fonts/truetype + ''; + + meta = { + description = "OpenType Urdu font from the Center for Research in Urdu Language Processing"; + + longDescription = '' The Nafees font family is developed according + to calligraphic rules, following the style of Syed Nafees + Al-Hussaini (Nafees Raqam) one of the finest calligraphers of + Pakistan ''; + + homepage = "http://www.cle.org.pk/software/localization.htm"; + + # Used to be GPLv2. The license distributed with the fonts looks + # more like a modified BSD, but still contains the GPLv2 embedded + # font exception, and some not-for-resale language. + license = "unknown"; + + platforms = stdenv.lib.platforms.all; + maintainers = [ "Daniel Bergey " ]; + }; +} diff --git a/pkgs/data/fonts/poly/default.nix b/pkgs/data/fonts/poly/default.nix new file mode 100644 index 00000000000..63006fdd4f8 --- /dev/null +++ b/pkgs/data/fonts/poly/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + name = "poly"; + + regular = fetchurl { + # Finally a mirror that has a sha256 that doesn't change. + url = "https://googlefontdirectory.googlecode.com/hg-history/d7441308e589c9fa577f920fc4152fa32477a267/poly/src/Poly-Regular.otf"; + sha256 = "1mxp2lvki6b1h7r9xcj1ld0g4z5y3dmsal85xam4yr764zpjzaiw"; + }; + + italic = fetchurl { + # Finally a mirror that has a sha256 that doesn't change. + url = "https://googlefontdirectory.googlecode.com/hg-history/d7441308e589c9fa577f920fc4152fa32477a267/poly/src/Poly-Italic.otf"; + sha256 = "1chzcy3kyi7wpr4iq4aj1v24fq1wwph1v5z96dimlqcrnvm66h2l"; + }; + + buildInputs = [unzip]; + + sourceRoot = "."; + + unpackPhase = "true"; + + installPhase = '' + mkdir -p $out/share/fonts/opentype + cp ${regular} $out/share/fonts/opentype/Poly-Regular.otf + cp ${italic} $out/share/fonts/opentype/Poly-Italic.otf + ''; + + meta = { + description = "Medium contrast serif font."; + longDescription = '' + With short ascenders and a very high x-height, Poly is efficient in small + sizes. Thanks to its careful balance between the x-height and glyph widths, + it allows more economy and legibility than standard web serifs, even in + small sizes. The aglutinative language for which it was designed contains + very long words. The goal was to develop a typeface that would tolerate + cramped tracking and that would increase the number of letters on a single + line. Poly is a Unicode typeface family that supports Open Type features + and languages that use the Latin script and its variants. + ''; + homepage = http://www.fontsquirrel.com/fonts/poly; + license = stdenv.lib.licenses.ofl; + maintainers = with stdenv.lib.maintainers; [ relrod ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/data/fonts/source-code-pro/default.nix b/pkgs/data/fonts/source-code-pro/default.nix new file mode 100644 index 00000000000..d48fbed696c --- /dev/null +++ b/pkgs/data/fonts/source-code-pro/default.nix @@ -0,0 +1,42 @@ +x@{builderDefsPackage + , unzip + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + []; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + version="1.017"; + name="SourceCodePro"; + url="mirror://sourceforge/sourcecodepro.adobe/${name}_FontsOnly-${version}.zip"; + hash="07xjfxin883a3g3admdddxxqyzigihbsnmik0zpjii09cdlb8dl1"; + }; +in +rec { + src = a.fetchurl { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + }; + + name = "${sourceInfo.name}-${sourceInfo.version}"; + inherit buildInputs; + + phaseNames = ["doUnpack" "installFonts"]; + + doUnpack = a.fullDepEntry ('' + unzip ${src} + cd ${sourceInfo.name}*/OTF/ + '') ["addInputs"]; + + meta = { + description = "A set of monospaced OpenType fonts designed for coding environments"; + maintainers = with a.lib.maintainers; [ relrod ]; + platforms = with a.lib.platforms; all; + homepage = "http://blog.typekit.com/2012/09/24/source-code-pro/"; + license = "OFL"; + }; +}) x diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index da043da0967..afee316d0bf 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl }: -let version = "2013g"; in +let version = "2014b"; in stdenv.mkDerivation rec { name = "tzdata-${version}"; @@ -8,22 +8,27 @@ stdenv.mkDerivation rec { srcs = [ (fetchurl { url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz"; - sha256 = "0krsgncjnk64g3xshj5xd3znskcx9wwy20g1wmm2lwycincx7kdn"; + sha256 = "1d8w5g7fy8nrdj092cwmxdxw6rk3bzwpxqpz6l5sra2kqbhg7qfi"; }) (fetchurl { url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz"; - sha256 = "0ysqm72xm9vcykqg9zgry69w6gr3i6b6mpbvgfmwyrdvb6s5ihy7"; + sha256 = "12x7ahbjxc3sj4ykcvx5c7kw1nbn6ywm8wzq6303y3l8qyqd7nmm"; }) ]; sourceRoot = "."; + outputs = [ "out" "lib" ]; - makeFlags = "TOPDIR=$(out) TZDIR=$(out)/share/zoneinfo ETCDIR=$(TMPDIR)/etc LIBDIR=$(TMPDIR)/lib MANDIR=$(TMPDIR)/man AWK=awk"; + makeFlags = "TOPDIR=$(out) TZDIR=$(out)/share/zoneinfo ETCDIR=$(TMPDIR)/etc LIBDIR=$(lib)/lib MANDIR=$(TMPDIR)/man AWK=awk CFLAGS=-DHAVE_LINK=0"; postInstall = '' - mv $out/share/zoneinfo-posix $out/share/zoneinfo/posix + rm $out/share/zoneinfo-posix + ln -s . $out/share/zoneinfo/posix mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right + + ensureDir "$lib/include" + cp tzfile.h "$lib/include/tzfile.h" ''; meta = { diff --git a/pkgs/desktops/cinnamon/automount-plugin.patch b/pkgs/desktops/cinnamon/automount-plugin.patch new file mode 100644 index 00000000000..3d90da99f08 --- /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 00000000000..6eced78ed11 --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-control-center.nix @@ -0,0 +1,41 @@ + +{ 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 ]; + + broken = true; + }; +} diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop.nix b/pkgs/desktops/cinnamon/cinnamon-desktop.nix index d3cf04e835d..8ead149fc2b 100644 --- a/pkgs/desktops/cinnamon/cinnamon-desktop.nix +++ b/pkgs/desktops/cinnamon/cinnamon-desktop.nix @@ -36,6 +36,7 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.roelof ]; + + broken = true; }; } - diff --git a/pkgs/desktops/cinnamon/cinnamon-session.nix b/pkgs/desktops/cinnamon/cinnamon-session.nix index 534fa11f046..d84438b7bd1 100644 --- a/pkgs/desktops/cinnamon/cinnamon-session.nix +++ b/pkgs/desktops/cinnamon/cinnamon-session.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation { gtk3 dbus_glib upower json_glib intltool systemd xorg.xtrans makeWrapper - cinnamon-desktop/*gschemas*/ + cinnamon-desktop /*gschemas*/ ]; preBuild = "patchShebangs ./scripts"; @@ -32,7 +32,7 @@ stdenv.mkDerivation { postFixup = '' rm $out/share/icons/hicolor/icon-theme.cache - for f in "$out"/bin/*; do + for f in "$out/bin/"*; do wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" done ''; @@ -43,6 +43,7 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.roelof ]; + + broken = true; }; } - diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix new file mode 100644 index 00000000000..ca220fd9d85 --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix @@ -0,0 +1,53 @@ + +{ 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 ]; + + broken = true; + }; +} diff --git a/pkgs/desktops/cinnamon/cinnamon-translations.nix b/pkgs/desktops/cinnamon/cinnamon-translations.nix index a68a905f92e..91a7acdef82 100644 --- a/pkgs/desktops/cinnamon/cinnamon-translations.nix +++ b/pkgs/desktops/cinnamon/cinnamon-translations.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { installPhase = '' mkdir -pv $out/share/cinnamon/locale - cp -av mo-export/* $out/share/cinnamon/locale/ + cp -av "mo-export/"* $out/share/cinnamon/locale/ ''; meta = { @@ -22,6 +22,7 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.roelof ]; + + broken = true; }; } - diff --git a/pkgs/desktops/cinnamon/cjs.nix b/pkgs/desktops/cinnamon/cjs.nix index 3747262cdf4..5d584761565 100644 --- a/pkgs/desktops/cinnamon/cjs.nix +++ b/pkgs/desktops/cinnamon/cjs.nix @@ -36,5 +36,7 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.roelof ]; + + broken = true; }; } diff --git a/pkgs/desktops/cinnamon/dpms.patch b/pkgs/desktops/cinnamon/dpms.patch new file mode 100644 index 00000000000..a73f33dc618 --- /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 00000000000..6398306a76a --- /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 00000000000..f67d961ff58 --- /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 00000000000..a1fd6b97ac1 --- /dev/null +++ b/pkgs/desktops/cinnamon/muffin.nix @@ -0,0 +1,47 @@ + +{ 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 ]; + + broken = true; + }; +} diff --git a/pkgs/desktops/cinnamon/region.patch b/pkgs/desktops/cinnamon/region.patch new file mode 100644 index 00000000000..7b8133e820e --- /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 00000000000..feceaf05f7b --- /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/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index 6a8f9d15778..54e397fd474 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, bison2, 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; @@ -62,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/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix index fffffcb0c2d..315f6ff9c5a 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix @@ -1,7 +1,6 @@ { stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }: stdenv.mkDerivation rec { - #name = "gnome-icon-theme-3.4.0"; name = "gnome-icon-theme-2.91.93"; src = fetchurl { @@ -9,6 +8,10 @@ stdenv.mkDerivation rec { url = "mirror://gnome/sources/gnome-icon-theme/2.91/${name}.tar.bz2"; sha256 = "cc7f15e54e2640697b58c26e74cc3f6ebadeb4ef6622bffe9c1e6874cc3478d6"; }; - + nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ]; + + meta = { + platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix index 94aaf30a49d..45f29496f62 100644 --- a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix +++ b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl_gnome, pkgconfig, glib, libIDL, libintlOrEmpty }: +{ stdenv, fetchurlGnome, pkgconfig, glib, libIDL, libintlOrEmpty }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "ORBit2"; major = "2"; minor = "14"; patchlevel = "19"; sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"; diff --git a/pkgs/desktops/gnome-2/platform/gconfmm/default.nix b/pkgs/desktops/gnome-2/platform/gconfmm/default.nix index 8f6075375d6..371382b2607 100644 --- a/pkgs/desktops/gnome-2/platform/gconfmm/default.nix +++ b/pkgs/desktops/gnome-2/platform/gconfmm/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl_gnome, pkgconfig, GConf, gtkmm, glibmm }: +{ stdenv, fetchurlGnome, pkgconfig, GConf, gtkmm, glibmm }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "gconfmm"; major = "2"; minor = "28"; patchlevel = "3"; extension = "bz2"; sha256 = "a5e0092bb73371a3ca76b2ecae794778f3a9409056fee9b28ec1db072d8e6108"; diff --git a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix index 929ed44b752..dba47b6e541 100644 --- a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix +++ b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, fetchurl_gnome, which }: +{ stdenv, fetchurl, fetchurlGnome, which }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "gnome-common"; major = "2"; minor = "34"; patchlevel = "0"; sha256 = "1pz13mpp09q5s3bikm8ml92s1g0scihsm4iipqv1ql3mp6d4z73s"; diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix index 55daa496afc..dd8b7822858 100644 --- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix +++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchurl_gnome, pkgconfig, libxml2, bzip2, openssl, samba, dbus_glib +{ stdenv, fetchurlGnome, pkgconfig, libxml2, bzip2, openssl, samba, dbus_glib , glib, fam, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "gnome-vfs"; major = "2"; minor = "24"; patchlevel = "4"; sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"; diff --git a/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix index 93bb44c54e1..46218c8f601 100644 --- a/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix +++ b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl_gnome, pkgconfig, gtkglext, gtkmm, gtk, mesa, gdk_pixbuf }: +{ stdenv, fetchurlGnome, pkgconfig, gtkglext, gtkmm, gtk, mesa, gdk_pixbuf }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "gtkglextmm"; major = "1"; minor = "2"; patchlevel = "0"; extension = "bz2"; sha256 = "6cd4bd2a240e5eb1e3a24c5a3ebbf7ed905b522b888439778043fdeb58771fea"; diff --git a/pkgs/desktops/gnome-2/platform/libIDL/default.nix b/pkgs/desktops/gnome-2/platform/libIDL/default.nix index 64f2b19c3e9..73b4fb9cc49 100644 --- a/pkgs/desktops/gnome-2/platform/libIDL/default.nix +++ b/pkgs/desktops/gnome-2/platform/libIDL/default.nix @@ -1,9 +1,9 @@ -{stdenv, fetchurl_gnome, flex, bison, pkgconfig, glib, gettext}: +{stdenv, fetchurlGnome, flex, bison, pkgconfig, glib, gettext}: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "libIDL"; major = "0"; minor = "8"; patchlevel = "14"; sha256 = "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"; diff --git a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix index 2303fb15a6f..d9867f25a4c 100644 --- a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix +++ b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchurl_gnome, flex, bison, pkgconfig, glib, dbus_glib, libxml2, popt +{ stdenv, fetchurlGnome, flex, bison, pkgconfig, glib, dbus_glib, libxml2, popt , intltool, ORBit2, procps }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "libbonobo"; major = "2"; minor = "32"; patchlevel = "1"; sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"; diff --git a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix index 55a4ecec695..00a0c4763a1 100644 --- a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix +++ b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchurl_gnome, bison, pkgconfig, popt, libxml2, gtk, libtool +{ stdenv, fetchurlGnome, bison, pkgconfig, popt, libxml2, gtk, libtool , intltool, libbonobo, GConf, libgnomecanvas, libgnome, libglade }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "libbonoboui"; major = "2"; minor = "24"; patchlevel = "5"; sha256 = "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"; diff --git a/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/pkgs/desktops/gnome-2/platform/libgnome/default.nix index c190b9578e9..2535398380b 100644 --- a/pkgs/desktops/gnome-2/platform/libgnome/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnome/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchurl_gnome, pkgconfig, glib, popt, zlib, libcanberra +{ stdenv, fetchurlGnome, pkgconfig, glib, popt, zlib, libcanberra , intltool, libbonobo, GConf, gnome_vfs, ORBit2, libtool}: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "libgnome"; major = "2"; minor = "32"; patchlevel = "1"; sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"; diff --git a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix index dd6ebbb9174..8a1b7706409 100644 --- a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl_gnome, pkgconfig, gtk, intltool, libart_lgpl, libglade }: +{ stdenv, fetchurlGnome, pkgconfig, gtk, intltool, libart_lgpl, libglade }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "libgnomecanvas"; major = "2"; minor = "30"; patchlevel = "3"; sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5"; diff --git a/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix index cc8db43ad13..125a4507275 100644 --- a/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl_gnome, pkgconfig, libxml2, xlibs, glib, pango +{ stdenv, fetchurlGnome, pkgconfig, libxml2, xlibs, glib, pango , intltool, libgnome, libgnomecanvas, libbonoboui, GConf, libtool , gnome_vfs, libgnome_keyring, libglade }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "libgnomeui"; major = "2"; minor = "24"; patchlevel = "5"; sha256 = "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"; 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 b82b8a50992..00000000000 --- 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/3.10/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix new file mode 100644 index 00000000000..ef460112d21 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/bijiben/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl, pkgconfig, glib +, hicolor_icon_theme, makeWrapper, itstool +, clutter_gtk, libuuid, webkitgtk, zeitgeist +, gnome3, librsvg, gdk_pixbuf, libxml2 }: + +stdenv.mkDerivation rec { + name = "bijiben-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/bijiben/3.10/${name}.tar.xz"; + sha256 = "81257f85218968b0ad386da6e1143586de478870ca74bb5387646a479999a7d4"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig glib intltool itstool libxml2 + clutter_gtk libuuid webkitgtk gnome3.tracker + gnome3.gnome_online_accounts zeitgeist + gnome3.gsettings_desktop_schemas makeWrapper + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/bijiben" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/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/Bijiben; + description = "Note editor designed to remain simple to use"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix new file mode 100644 index 00000000000..ee62c951b4c --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/evolution/default.nix @@ -0,0 +1,48 @@ +{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight +, pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify +, makeWrapper, itstool, shared_mime_info, libical, db +, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu +, libcanberra_gtk3, bogofilter, gst_all_1, procps }: + +stdenv.mkDerivation rec { + name = "evolution-3.10.4"; + + src = fetchurl { + url = "mirror://gnome/sources/evolution/3.10/${name}.tar.xz"; + sha256 = "ac60557f264f211e6a7bc0ced919041c154e4c7b9c79600516aee7acc1d03e40"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 + gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu + gnome3.evolution_data_server libsecret libical + webkitgtk shared_mime_info gnome3.gnome_desktop + libcanberra_gtk3 gnome3.gtkhtml bogofilter gnome3.libgdata + gst_all_1.gstreamer gst_all_1.gst-plugins-base + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + nss nspr libnotify procps highlight gnome3.libgweather + gnome3.gsettings_desktop_schemas makeWrapper ]; + + configureFlags = [ "--disable-spamassassin" "--disable-pst-import" ]; + + NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss"; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/evolution" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Evolution; + description = "Personal information management application that provides integrated mail, calendaring and address book functionality"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/desktop/file-roller/default.nix b/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix similarity index 94% rename from pkgs/desktops/gnome-3/desktop/file-roller/default.nix rename to pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix index 41f1fb0097f..e13e169ccc5 100644 --- a/pkgs/desktops/gnome-3/desktop/file-roller/default.nix +++ b/pkgs/desktops/gnome-3/3.10/apps/file-roller/default.nix @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/file-roller" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix new file mode 100644 index 00000000000..84a77e5a024 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix @@ -0,0 +1,39 @@ +{ stdenv, intltool, fetchurl, enchant, isocodes +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, libsoup, libxml2 +, gnome3, librsvg, gdk_pixbuf, file }: + +stdenv.mkDerivation rec { + name = "gedit-3.10.4"; + + src = fetchurl { + url = "mirror://gnome/sources/gedit/3.10/${name}.tar.xz"; + sha256 = "40dc10b6e26fd8523087e7321a20a063f4c1e586dffd7ce8ee78eead11359f9e"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool enchant isocodes + gdk_pixbuf gnome3.gnome_icon_theme librsvg libsoup + gnome3.libpeas gnome3.gtksourceview libxml2 + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.gsettings_desktop_schemas makeWrapper file ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/gedit" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \ + --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Gedit; + description = "Official text editor of the GNOME desktop environment"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix b/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix new file mode 100644 index 00000000000..5979d10fa70 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/glade/default.nix @@ -0,0 +1,37 @@ +{ stdenv, intltool, fetchurl, python +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, libxml2, docbook_xsl +, gnome3, librsvg, gdk_pixbuf, libxslt }: + +stdenv.mkDerivation rec { + name = "glade-3.16.1"; + + src = fetchurl { + url = "mirror://gnome/sources/glade/3.16/${name}.tar.xz"; + sha256 = "994ac258bc100d3907ed40a2880c3144f13997b324477253e812d59f2716523f"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 python + gnome3.gsettings_desktop_schemas makeWrapper docbook_xsl + gdk_pixbuf gnome3.gnome_icon_theme librsvg libxslt + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/glade" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/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/Glade; + description = "User interface designer for GTK+ applications"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix new file mode 100644 index 00000000000..c39f731e028 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-clocks/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl, libgweather, libnotify +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, libcanberra_gtk3, libtool +, gnome3, librsvg, gdk_pixbuf, geoclue2 }: + +stdenv.mkDerivation rec { + name = "gnome-clocks-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-clocks/3.10/${name}.tar.xz"; + sha256 = "5f6f3b7bb9929353d974aa444b10bb4d0f414176449cce2c626fabd2d4b55b43"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libcanberra_gtk3 + gnome3.gsettings_desktop_schemas makeWrapper + gdk_pixbuf gnome3.gnome_icon_theme librsvg + gnome3.gnome_desktop gnome3.geocode_glib geoclue2 + libgweather libnotify libtool + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/gnome-clocks" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${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/Clocks; + description = "Clock application designed for GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix new file mode 100644 index 00000000000..b393bb43931 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix @@ -0,0 +1,54 @@ +{ stdenv, intltool, fetchurl, evince, gjs +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, libxslt, webkitgtk +, gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl +, gobjectIntrospection, json_glib +, gmp, desktop_file_utils }: + +stdenv.mkDerivation rec { + name = "gnome-documents-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-documents/3.10/${name}.tar.xz"; + sha256 = "2b7267c9c4e5767039632cb31877ed2e57f994b657e8863dd79af5287db45745"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxslt + docbook_xsl desktop_file_utils + gnome3.gsettings_desktop_schemas makeWrapper gmp + gdk_pixbuf gnome3.gnome_icon_theme librsvg evince + libsoup webkitgtk gjs gobjectIntrospection gnome3.rest + gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts + gnome3.gnome_desktop gnome3.libzapojit json_glib + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = + let + libPath = stdenv.lib.makeLibraryPath + [ evince gtk3 gnome3.tracker gnome3.gnome_online_accounts ]; + in + '' + substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication" + wrapProgram "$out/bin/gnome-documents" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH ":" "${libPath}" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Documents; + description = "Document manager application designed to work with GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix new file mode 100644 index 00000000000..b8d2bbc79ef --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix @@ -0,0 +1,54 @@ +{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker +, python3, libxml2, python3Packages, libnotify +, pkgconfig, gtk3, glib, hicolor_icon_theme, cairo +, makeWrapper, itstool, gnome3, librsvg, gst_all_1 }: + +stdenv.mkDerivation rec { + name = "gnome-music-3.10.4"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-music/3.10/${name}.tar.xz"; + sha256 = "64220d4c0f9115a6ed27ec99c7ec7afc065d12e5a32371936f303ef981f5325f"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart + gdk_pixbuf gnome3.gnome_icon_theme librsvg python3 + gnome3.grilo libxml2 python3Packages.pygobject3 libnotify + python3Packages.pycairo python3Packages.dbus + gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.gsettings_desktop_schemas makeWrapper tracker ]; + + enableParallelBuilding = true; + + preFixup = + let + libPath = stdenv.lib.makeLibraryPath + [ glib gtk3 libnotify tracker gnome3.grilo cairo + gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ]; + in + '' + wrapProgram "$out/bin/gnome-music" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH : "${libPath}" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ + --prefix PYTHONPATH : "$PYTHONPATH" + + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Music; + description = "Music player and management application for the GNOME desktop environment"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix new file mode 100644 index 00000000000..68d4e3690f9 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-photos/default.nix @@ -0,0 +1,44 @@ +{ stdenv, intltool, fetchurl, exempi, libxml2 +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, gegl, babl, lcms2 +, desktop_file_utils, gmp +, gnome3, librsvg, gdk_pixbuf, libexif }: + +stdenv.mkDerivation rec { + name = "gnome-photos-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-photos/3.10/${name}.tar.xz"; + sha256 = "820503c26a0f829682dd46653e8f0850ac687aba42728ac74350ba8406e80975"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gegl babl + gnome3.gsettings_desktop_schemas makeWrapper gmp + gdk_pixbuf gnome3.gnome_icon_theme librsvg exempi + gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo + gnome3.gnome_online_accounts gnome3.gnome_desktop + lcms2 libexif gnome3.tracker libxml2 desktop_file_utils + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-photos" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ + --prefix XDG_DATA_DIRS : "${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/Photos; + description = "Photos is an application to access, organize and share your photos with GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix b/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix new file mode 100644 index 00000000000..5a85e00e4e4 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/nautilus-sendto/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool +, gobjectIntrospection, makeWrapper }: + +stdenv.mkDerivation rec { + name = "nautilus-sendto-${version}"; + + version = "3.8.1"; + + src = fetchurl { + url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz"; + sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab"; + }; + + buildInputs = [ glib pkgconfig gobjectIntrospection intltool makeWrapper ]; + + meta = with stdenv.lib; { + description = "Integrates Evolution and Pidgin into the Nautilus file manager"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix new file mode 100644 index 00000000000..cecc4a8913d --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/apps/seahorse/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, gnupg, libsoup +, gnome3, librsvg, gdk_pixbuf, gpgme +, libsecret, avahi, p11_kit }: + +stdenv.mkDerivation rec { + name = "seahorse-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/seahorse/3.10/${name}.tar.xz"; + sha256 = "89cabf19f77a55f220bc61a3b97e4db845a0980f0f1d9c66147cc9a4ced8cd16"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr + gnome3.gsettings_desktop_schemas makeWrapper gnupg + gdk_pixbuf gnome3.gnome_icon_theme librsvg gpgme + libsecret avahi libsoup p11_kit + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + wrapProgram "$out/bin/seahorse" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/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/Seahorse; + description = "Application for managing encryption keys and passwords in the GnomeKeyring"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix b/pkgs/desktops/gnome-3/3.10/core/at-spi2-atk/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix rename to pkgs/desktops/gnome-3/3.10/core/at-spi2-atk/default.nix diff --git a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix b/pkgs/desktops/gnome-3/3.10/core/at-spi2-core/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/at-spi2-core/default.nix rename to pkgs/desktops/gnome-3/3.10/core/at-spi2-core/default.nix diff --git a/pkgs/desktops/gnome-3/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.10/core/baobab/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/baobab/default.nix rename to pkgs/desktops/gnome-3/3.10/core/baobab/default.nix diff --git a/pkgs/desktops/gnome-3/core/caribou/default.nix b/pkgs/desktops/gnome-3/3.10/core/caribou/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/caribou/default.nix rename to pkgs/desktops/gnome-3/3.10/core/caribou/default.nix diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix similarity index 93% rename from pkgs/desktops/gnome-3/core/dconf/default.nix rename to pkgs/desktops/gnome-3/3.10/core/dconf/default.nix index a485b18c5e5..a6236f16744 100644 --- a/pkgs/desktops/gnome-3/core/dconf/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation rec { 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; { diff --git a/pkgs/desktops/gnome-3/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix similarity index 87% rename from pkgs/desktops/gnome-3/core/empathy/default.nix rename to pkgs/desktops/gnome-3/3.10/core/empathy/default.nix index a227c1422d6..051bc9b7fb2 100644 --- a/pkgs/desktops/gnome-3/core/empathy/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/empathy/default.nix @@ -37,13 +37,12 @@ stdenv.mkDerivation rec { "-I${dbus_libs}/include/dbus-1.0" "-I${dbus_libs}/lib/dbus-1.0/include" ]; - enableParallelBuilding = true; - preFixup = '' - wrapProgram "$out/bin/empathy" \ - --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" - + 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 ''; diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/3.10/core/eog/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/eog/default.nix rename to pkgs/desktops/gnome-3/3.10/core/eog/default.nix diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/epiphany/default.nix rename to pkgs/desktops/gnome-3/3.10/core/epiphany/default.nix diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/3.10/core/evince/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/evince/default.nix rename to pkgs/desktops/gnome-3/3.10/core/evince/default.nix diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix similarity index 89% rename from pkgs/desktops/gnome-3/core/evolution-data-server/default.nix rename to pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix index 9e7d0cb3da0..685f8c24e7c 100644 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/evolution-data-server/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { - name = "evolution-data-server-3.10.2"; + name = "evolution-data-server-3.10.4"; src = fetchurl { url = "mirror://gnome/sources/evolution-data-server/3.10/${name}.tar.xz"; - sha256 = "1fgchc1gzrhhzgn4zf9par4yz72m82j871kf7pky458mh4c4sf0g"; + sha256 = "5c2d5e19af19ecfa81f31306411ab6155c3c62cf407d5a5aaa675a8ce940fa2d"; }; buildInputs = with gnome3; diff --git a/pkgs/desktops/gnome-3/core/folks/default.nix b/pkgs/desktops/gnome-3/3.10/core/folks/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/folks/default.nix rename to pkgs/desktops/gnome-3/3.10/core/folks/default.nix diff --git a/pkgs/desktops/gnome-3/core/gconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/gconf/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gconf/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gconf/default.nix diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/3.10/core/gcr/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gcr/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gcr/default.nix diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.10/core/gdm/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gdm/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gdm/default.nix diff --git a/pkgs/desktops/gnome-3/core/geocode-glib/default.nix b/pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/geocode-glib/default.nix rename to pkgs/desktops/gnome-3/3.10/core/geocode-glib/default.nix diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/desktops/gnome-3/3.10/core/gjs/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gjs/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gjs/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-backgrounds/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-calculator/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-calculator/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-common/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-common/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-common/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/configure_dbus_glib.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-contacts/configure_dbus_glib.patch rename to pkgs/desktops/gnome-3/3.10/core/gnome-contacts/configure_dbus_glib.patch diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-contacts/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-contacts/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/fix_row_selected.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-contacts/fix_row_selected.patch rename to pkgs/desktops/gnome-3/3.10/core/gnome-contacts/fix_row_selected.patch diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix similarity index 81% rename from pkgs/desktops/gnome-3/core/gnome-control-center/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix index 92a6b6c2c40..1222f03d66e 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/default.nix @@ -2,11 +2,12 @@ , 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, libwacom, samba -, shared_mime_info, tzdata, icu, libtool, docbook_xsl, docbook_xsl_ns }: +, 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, networkmanager, wacom, smbclient, printers +# TODO: bluetooth, wacom, smbclient, printers stdenv.mkDerivation rec { name = "gnome-control-center-3.10.2"; @@ -20,12 +21,15 @@ stdenv.mkDerivation rec { 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 makeWrapper ]; + 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" @@ -47,7 +51,11 @@ stdenv.mkDerivation rec { 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/3.10/core/gnome-control-center/search_providers_dir.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-control-center/search_providers_dir.patch new file mode 100644 index 00000000000..7f5ad970f34 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/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/desktop/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-desktop/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-dictionary/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-disk-utility/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-font-viewer/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme-symbolic/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-icon-theme-symbolic/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme-symbolic/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme/setup-hook.sh b/pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-icon-theme/setup-hook.sh rename to pkgs/desktops/gnome-3/3.10/core/gnome-icon-theme/setup-hook.sh diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-keyring/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-keyring/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-menus/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-menus/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-menus/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix similarity index 95% rename from pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix index c17b3ba3eb6..8c459435733 100644 --- a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/gnome-online-accounts/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { 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/3.10/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix new file mode 100644 index 00000000000..4c904bf40f6 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/core/gnome-online-miners/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2 +, libsoup, json_glib, gmp, openssl, makeWrapper }: + +stdenv.mkDerivation rec { + name = "gnome-online-miners-3.10.3"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-online-miners/3.10/${name}.tar.xz"; + sha256 = "129807d398e7744870110e6875629b6858d289021271550569ce5afa10fe9ea8"; + }; + + doCheck = true; + + buildInputs = [ pkgconfig glib gnome3.libgdata libxml2 libsoup gmp openssl + gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins + gnome3.gnome_online_accounts makeWrapper + gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest ]; + + enableParallelBuilding = true; + + preFixup = '' + for f in $out/libexec/*; do + wrapProgram "$f" \ + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" + done + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners; + description = "A set of crawlers that go through your online content and index them locally in Tracker"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-screenshot/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-session/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-session/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-settings-daemon/default.nix diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-shell-extensions/default.nix new file mode 100644 index 00000000000..00974edb1db --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/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/3.10/core/gnome-shell/default.nix similarity index 95% rename from pkgs/desktops/gnome-3/core/gnome-shell/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix index 087b5778163..554b09a1e59 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/default.nix @@ -1,6 +1,6 @@ { 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 +, 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 }: @@ -29,6 +29,7 @@ stdenv.mkDerivation rec { 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" \ @@ -38,6 +39,8 @@ stdenv.mkDerivation rec { --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/3.10/core/gnome-shell/fix_background_corruption.patch b/pkgs/desktops/gnome-3/3.10/core/gnome-shell/fix_background_corruption.patch new file mode 100644 index 00000000000..9cb041bcce2 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/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/3.10/core/gnome-system-log/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-system-log/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-system-log/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-system-monitor/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-terminal/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-terminal/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gnome-themes-standard/default.nix diff --git a/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-user-docs/default.nix new file mode 100644 index 00000000000..d66863a2218 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/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/3.10/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.10/core/gnome-user-share/default.nix new file mode 100644 index 00000000000..976b0eaca45 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/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/3.10/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix new file mode 100644 index 00000000000..a8a1c244767 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/core/grilo-plugins/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, glib, sqlite +, gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp_av +, gmime, json_glib, avahi, tracker, itstool }: + +stdenv.mkDerivation rec { + name = "grilo-plugins-0.2.12"; + + src = fetchurl { + url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz"; + sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48"; + }; + + installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ]; + + buildInputs = [ pkgconfig gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata + lua5 liboauth gupnp_av sqlite gnome3.gnome_online_accounts + gnome3.totem-pl-parser gnome3.rest gmime json_glib + avahi gnome3.libmediaart tracker intltool itstool ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Projects/Grilo; + description = "A collection of plugins for the Grilo framework"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix new file mode 100644 index 00000000000..6f1bfbbcfe9 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/core/grilo/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, glib +, libxml2, gnome3, gobjectIntrospection, libsoup }: + +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" "--enable-grl-net" ]; + + preConfigure = '' + for f in src/Makefile.in libs/pls/Makefile.in libs/net/Makefile.in; do + substituteInPlace $f --replace @INTROSPECTION_GIRDIR@ "$out/share/gir-1.0/" + substituteInPlace $f --replace @INTROSPECTION_TYPELIBDIR@ "$out/lib/girepository-1.0" + done + ''; + + buildInputs = [ pkgconfig file intltool glib libxml2 libsoup + gnome3.totem-pl-parser gobjectIntrospection ]; + + 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/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gsettings-desktop-schemas/default.nix diff --git a/pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gtksourceview/default.nix diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/gucharmap/default.nix rename to pkgs/desktops/gnome-3/3.10/core/gucharmap/default.nix diff --git a/pkgs/desktops/gnome-3/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/libcroco/default.nix rename to pkgs/desktops/gnome-3/3.10/core/libcroco/default.nix diff --git a/pkgs/desktops/gnome-3/core/libgdata/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/libgdata/default.nix rename to pkgs/desktops/gnome-3/3.10/core/libgdata/default.nix diff --git a/pkgs/desktops/gnome-3/core/libgee/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgee/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/libgee/default.nix rename to pkgs/desktops/gnome-3/3.10/core/libgee/default.nix diff --git a/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch b/pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch similarity index 100% rename from pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch rename to pkgs/desktops/gnome-3/3.10/core/libgee/fix_introspection_paths.patch diff --git a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix rename to pkgs/desktops/gnome-3/3.10/core/libgnome-keyring/default.nix diff --git a/pkgs/desktops/gnome-3/core/libgnomekbd/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/libgnomekbd/default.nix rename to pkgs/desktops/gnome-3/3.10/core/libgnomekbd/default.nix diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix similarity index 81% rename from pkgs/desktops/gnome-3/core/libgweather/default.nix rename to pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix index 62ae5964365..c480a59e453 100644 --- a/pkgs/desktops/gnome-3/core/libgweather/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/libgweather/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf -, pango, gdk_pixbuf, atk }: +, pango, gdk_pixbuf, atk, tzdata }: stdenv.mkDerivation rec { name = "libgweather-3.10.1"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"; - configureFlags = if stdenv ? glibc then "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo" else ""; + configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" ]; propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ]; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/desktops/gnome-3/core/libgxps/default.nix b/pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/libgxps/default.nix rename to pkgs/desktops/gnome-3/3.10/core/libgxps/default.nix diff --git a/pkgs/desktops/gnome-3/core/libpeas/default.nix b/pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/libpeas/default.nix rename to pkgs/desktops/gnome-3/3.10/core/libpeas/default.nix diff --git a/pkgs/desktops/gnome-3/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/libzapojit/default.nix rename to pkgs/desktops/gnome-3/3.10/core/libzapojit/default.nix diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/3.10/core/mutter/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/mutter/default.nix rename to pkgs/desktops/gnome-3/3.10/core/mutter/default.nix diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/nautilus/default.nix rename to pkgs/desktops/gnome-3/3.10/core/nautilus/default.nix diff --git a/pkgs/desktops/gnome-3/core/rest/default.nix b/pkgs/desktops/gnome-3/3.10/core/rest/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/rest/default.nix rename to pkgs/desktops/gnome-3/3.10/core/rest/default.nix diff --git a/pkgs/desktops/gnome-3/core/sushi/default.nix b/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix similarity index 89% rename from pkgs/desktops/gnome-3/core/sushi/default.nix rename to pkgs/desktops/gnome-3/3.10/core/sushi/default.nix index 55729a54669..089b5cd03c1 100644 --- a/pkgs/desktops/gnome-3/core/sushi/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/sushi/default.nix @@ -4,11 +4,11 @@ , gdk_pixbuf, librsvg, hicolor_icon_theme }: stdenv.mkDerivation rec { - name = "sushi-3.8.1"; + name = "sushi-3.10.0"; src = fetchurl { - url = "mirror://gnome/sources/sushi/3.8/${name}.tar.xz"; - sha256 = "c4f24d0961ce8fc5ef3a4fe9af178e368c7117459df2c0be12c8f953646c82dd"; + 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 ]; diff --git a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix rename to pkgs/desktops/gnome-3/3.10/core/totem-pl-parser/default.nix diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/3.10/core/totem/default.nix similarity index 82% rename from pkgs/desktops/gnome-3/core/totem/default.nix rename to pkgs/desktops/gnome-3/3.10/core/totem/default.nix index a6acbd192db..c6b78c827db 100644 --- a/pkgs/desktops/gnome-3/core/totem/default.nix +++ b/pkgs/desktops/gnome-3/3.10/core/totem/default.nix @@ -19,21 +19,22 @@ stdenv.mkDerivation rec { 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 + clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins 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 + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic 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" + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" rm $out/share/icons/hicolor/icon-theme.cache ''; diff --git a/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.10/core/tracker/default.nix new file mode 100644 index 00000000000..dbae108d2e9 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/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-0.16.4"; + + src = fetchurl { + url = "mirror://gnome/sources/tracker/0.16/${name}.tar.xz"; + sha256 = "9c2f50839c2b8b352ab9a022597ef985c1900e6286c0c3bcb7a64da39dbb3580"; + }; + + 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/3.10/core/vino/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/vino/default.nix rename to pkgs/desktops/gnome-3/3.10/core/vino/default.nix diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/3.10/core/vte/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/vte/default.nix rename to pkgs/desktops/gnome-3/3.10/core/vte/default.nix diff --git a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/yelp-tools/default.nix rename to pkgs/desktops/gnome-3/3.10/core/yelp-tools/default.nix diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/yelp-xsl/default.nix rename to pkgs/desktops/gnome-3/3.10/core/yelp-xsl/default.nix diff --git a/pkgs/desktops/gnome-3/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.10/core/yelp/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/yelp/default.nix rename to pkgs/desktops/gnome-3/3.10/core/yelp/default.nix diff --git a/pkgs/desktops/gnome-3/core/zenity/default.nix b/pkgs/desktops/gnome-3/3.10/core/zenity/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/core/zenity/default.nix rename to pkgs/desktops/gnome-3/3.10/core/zenity/default.nix diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/3.10/default.nix similarity index 75% rename from pkgs/desktops/gnome-3/default.nix rename to pkgs/desktops/gnome-3/3.10/default.nix index d9a673fb4c7..e2b8f414206 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/3.10/default.nix @@ -1,7 +1,7 @@ { callPackage, self, pkgs }: rec { - inherit (pkgs) glib gtk2 gtk3 gnome2; + inherit (pkgs) glib gtk2 gtk3 gnome2 upower glib_networking; gtk = gtk3; # just to be sure libcanberra = pkgs.libcanberra_gtk3; # just to be sure inherit (pkgs.gnome2) ORBit2; @@ -48,6 +48,8 @@ rec { gnome_common = callPackage ./core/gnome-common { }; + gnome_desktop = callPackage ./core/gnome-desktop { }; + gnome-dictionary = callPackage ./core/gnome-dictionary { }; gnome-disk-utility = callPackage ./core/gnome-disk-utility { }; @@ -70,10 +72,14 @@ rec { gnome_online_accounts = callPackage ./core/gnome-online-accounts { }; + gnome-online-miners = callPackage ./core/gnome-online-miners { }; + 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 { }; @@ -86,10 +92,18 @@ rec { 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 { }; + grilo-plugins = callPackage ./core/grilo-plugins { }; + gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { }; + gtksourceview = callPackage ./core/gtksourceview { }; + gucharmap = callPackage ./core/gucharmap { }; gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; }; @@ -122,6 +136,8 @@ rec { totem-pl-parser = callPackage ./core/totem-pl-parser { }; + tracker = callPackage ./core/tracker { }; + vte = callPackage ./core/vte { }; vino = callPackage ./core/vino { }; @@ -137,23 +153,47 @@ rec { #### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/) - file-roller = callPackage ./desktop/file-roller { }; + bijiben = callPackage ./apps/bijiben { }; - gnome_desktop = callPackage ./desktop/gnome-desktop { }; + evolution = callPackage ./apps/evolution { }; - gtksourceview = callPackage ./desktop/gtksourceview { }; + file-roller = callPackage ./apps/file-roller { }; + + gedit = callPackage ./apps/gedit { }; + + glade = callPackage ./apps/glade { }; + + gnome-clocks = callPackage ./apps/gnome-clocks { }; + + gnome-documents = callPackage ./apps/gnome-documents { }; + + gnome-music = callPackage ./apps/gnome-music { }; + + gnome-photos = callPackage ./apps/gnome-photos { }; + + nautilus-sendto = callPackage ./apps/nautilus-sendto { }; # scrollkeeper replacement rarian = callPackage ./desktop/rarian { }; + seahorse = callPackage ./apps/seahorse { }; + #### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/ + gfbgraph = callPackage ./misc/gfbgraph { }; + goffice = callPackage ./misc/goffice { }; gitg = callPackage ./misc/gitg { }; libgit2-glib = callPackage ./misc/libgit2-glib { }; + + libmediaart = callPackage ./misc/libmediaart { }; gexiv2 = callPackage ./misc/gexiv2 { }; + + gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { }; + + gtkhtml = callPackage ./misc/gtkhtml { }; } diff --git a/pkgs/desktops/gnome-3/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/desktop/rarian/default.nix rename to pkgs/desktops/gnome-3/3.10/desktop/rarian/default.nix diff --git a/pkgs/desktops/gnome-3/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/misc/gexiv2/default.nix rename to pkgs/desktops/gnome-3/3.10/misc/gexiv2/default.nix diff --git a/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix new file mode 100644 index 00000000000..ee8259af8d6 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/misc/gfbgraph/default.nix @@ -0,0 +1,23 @@ +{ stdenv, intltool, fetchurl, pkgconfig, glib +, gnome3, libsoup, json_glib }: + +stdenv.mkDerivation rec { + name = "gfbgraph-0.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gfbgraph/0.2/${name}.tar.xz"; + sha256 = "534ca84920445b9d89e2480348eedde3ce950db3628ae0a79703e8f2d52fa724"; + }; + + buildInputs = [ pkgconfig glib libsoup gnome3.gnome_online_accounts + json_glib gnome3.rest ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "GLib/GObject wrapper for the Facebook Graph API"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/misc/gitg/default.nix rename to pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix diff --git a/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/default.nix new file mode 100644 index 00000000000..2eccb9a32cf --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/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/3.10/misc/gnome-tweak-tool/find_gsettings.patch b/pkgs/desktops/gnome-3/3.10/misc/gnome-tweak-tool/find_gsettings.patch new file mode 100644 index 00000000000..3e68c04cb3a --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/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/0.8.nix b/pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix similarity index 100% rename from pkgs/desktops/gnome-3/misc/goffice/0.8.nix rename to pkgs/desktops/gnome-3/3.10/misc/goffice/0.8.nix diff --git a/pkgs/desktops/gnome-3/misc/goffice/default.nix b/pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/misc/goffice/default.nix rename to pkgs/desktops/gnome-3/3.10/misc/goffice/default.nix diff --git a/pkgs/desktops/gnome-3/misc/goffice/pcre_info.patch b/pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch similarity index 100% rename from pkgs/desktops/gnome-3/misc/goffice/pcre_info.patch rename to pkgs/desktops/gnome-3/3.10/misc/goffice/pcre_info.patch diff --git a/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix new file mode 100644 index 00000000000..5e27b474cbd --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/misc/gtkhtml/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, pkgconfig, gtk3, intltool +, gnome3, enchant, isocodes }: + +stdenv.mkDerivation rec { + name = "gtkhtml-4.6.6"; + + src = fetchurl { + url = "mirror://gnome/sources/gtkhtml/4.6/${name}.tar.xz"; + sha256 = "145d23bbe729ff4ee7e7027bb5ff405b34822271327fdd81fe913134831374cd"; + }; + + buildInputs = [ pkgconfig gtk3 intltool gnome3.gnome_icon_theme + gnome3.gsettings_desktop_schemas ]; + + propagatedBuildInputs = [ enchant isocodes ]; + +} diff --git a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix rename to pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix diff --git a/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix new file mode 100644 index 00000000000..4985bfa902c --- /dev/null +++ b/pkgs/desktops/gnome-3/3.10/misc/libmediaart/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "libmediaart-0.4.0"; + + src = fetchurl { + url = "mirror://gnome/sources/libmediaart/0.4/${name}.tar.xz"; + sha256 = "e8ec92a642f4df7f988364f6451adf89e1611d7379a636d8c7eff4ca21a0fd1c"; + }; + + buildInputs = [ pkgconfig glib gdk_pixbuf ]; + + meta = with stdenv.lib; { + description = "Library tasked with managing, extracting and handling media art caches"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix new file mode 100644 index 00000000000..c4d609790fa --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/bijiben/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl, pkgconfig, glib +, hicolor_icon_theme, makeWrapper, itstool, desktop_file_utils +, clutter_gtk, libuuid, webkitgtk, zeitgeist +, gnome3, librsvg, gdk_pixbuf, libxml2 }: + +stdenv.mkDerivation rec { + name = "bijiben-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/bijiben/3.12/${name}.tar.xz"; + sha256 = "f319ef2a5b69ff9368e7488a28453da0f10eaa39a0f8e5d74623d0c07c824708"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig glib intltool itstool libxml2 + clutter_gtk libuuid webkitgtk gnome3.tracker + gnome3.gnome_online_accounts zeitgeist desktop_file_utils + gnome3.gsettings_desktop_schemas makeWrapper + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/bijiben" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/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/Bijiben; + description = "Note editor designed to remain simple to use"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix new file mode 100644 index 00000000000..f9fbbbe56c6 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/evolution/default.nix @@ -0,0 +1,50 @@ +{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight +, pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify, gtkspell3 +, makeWrapper, itstool, shared_mime_info, libical, db, gcr +, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu +, libcanberra_gtk3, bogofilter, gst_all_1, procps, p11_kit }: + +stdenv.mkDerivation rec { + name = "evolution-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/evolution/3.12/${name}.tar.xz"; + sha256 = "60742334aaf1e3b9f044c2003c44a37be5905b166e24580e9e6e6c5ae1b9f948"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 + gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu + gnome3.evolution_data_server libsecret libical gcr + webkitgtk shared_mime_info gnome3.gnome_desktop gtkspell3 + libcanberra_gtk3 gnome3.gtkhtml bogofilter gnome3.libgdata + gst_all_1.gstreamer gst_all_1.gst-plugins-base p11_kit + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + nss nspr libnotify procps highlight gnome3.libgweather + gnome3.gsettings_desktop_schemas makeWrapper ]; + + configureFlags = [ "--disable-spamassassin" "--disable-pst-import" ]; + + NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0"; + + enableParallelBuilding = true; + + preFixup = '' + for f in $out/bin/* $out/libexec/*; do + wrapProgram "$f" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Evolution; + description = "Personal information management application that provides integrated mail, calendaring and address book functionality"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix new file mode 100644 index 00000000000..ced915e7f8f --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/file-roller/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive +, attr, bzip2, acl, makeWrapper }: + +stdenv.mkDerivation rec { + name = "file-roller-${version}"; + + majVersion = "3.12"; + version = "${majVersion}.2"; + + src = fetchurl { + url = "mirror://gnome/sources/file-roller/${majVersion}/${name}.tar.xz"; + sha256 = "0677be6618dba609eae2d76420e8a5a8d9a414bcec654e7b71e65b941764eacf"; + }; + + # TODO: support nautilus + # it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so + + buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive + attr bzip2 acl makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/file-roller" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix new file mode 100644 index 00000000000..0e00b50f47d --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/gedit/default.nix @@ -0,0 +1,39 @@ +{ stdenv, intltool, fetchurl, enchant, isocodes +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, libsoup, libxml2 +, gnome3, librsvg, gdk_pixbuf, file }: + +stdenv.mkDerivation rec { + name = "gedit-3.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gedit/3.12/${name}.tar.xz"; + sha256 = "8e3edc62102934a8be708b0fdf27b86368fa9ede885628283bf8e91b26bbb67f"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool enchant isocodes + gdk_pixbuf gnome3.gnome_icon_theme librsvg libsoup + gnome3.libpeas gnome3.gtksourceview libxml2 + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.gsettings_desktop_schemas makeWrapper file ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/gedit" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \ + --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Gedit; + description = "Official text editor of the GNOME desktop environment"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix b/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix new file mode 100644 index 00000000000..5979d10fa70 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/glade/default.nix @@ -0,0 +1,37 @@ +{ stdenv, intltool, fetchurl, python +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, libxml2, docbook_xsl +, gnome3, librsvg, gdk_pixbuf, libxslt }: + +stdenv.mkDerivation rec { + name = "glade-3.16.1"; + + src = fetchurl { + url = "mirror://gnome/sources/glade/3.16/${name}.tar.xz"; + sha256 = "994ac258bc100d3907ed40a2880c3144f13997b324477253e812d59f2716523f"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 python + gnome3.gsettings_desktop_schemas makeWrapper docbook_xsl + gdk_pixbuf gnome3.gnome_icon_theme librsvg libxslt + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/glade" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/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/Glade; + description = "User interface designer for GTK+ applications"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix new file mode 100644 index 00000000000..2226f314eed --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-clocks/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl, libgweather, libnotify +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, libcanberra_gtk3, libtool +, gnome3, librsvg, gdk_pixbuf, geoclue2 }: + +stdenv.mkDerivation rec { + name = "gnome-clocks-3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-clocks/3.12/${name}.tar.xz"; + sha256 = "3fc0ce2b7b2540d6c2d791ff63ab1670f189a339c804fcf24c9010a478314604"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libcanberra_gtk3 + gnome3.gsettings_desktop_schemas makeWrapper + gdk_pixbuf gnome3.gnome_icon_theme librsvg + gnome3.gnome_desktop gnome3.geocode_glib geoclue2 + libgweather libnotify libtool + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/gnome-clocks" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${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/Clocks; + description = "Clock application designed for GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix new file mode 100644 index 00000000000..5c2206641e5 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-documents/default.nix @@ -0,0 +1,57 @@ +{ stdenv, intltool, fetchurl, evince, gjs +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, libxslt, webkitgtk +, gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl +, gobjectIntrospection, json_glib +, gmp, desktop_file_utils }: + +stdenv.mkDerivation rec { + name = "gnome-documents-3.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-documents/3.12/${name}.tar.xz"; + sha256 = "6d0df1d90781d56992ed5d5c2591833e89e3aa756ccab63f82dd935185ce5a53"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxslt + docbook_xsl desktop_file_utils + gnome3.gsettings_desktop_schemas makeWrapper gmp + gdk_pixbuf gnome3.gnome_icon_theme librsvg evince + libsoup webkitgtk gjs gobjectIntrospection gnome3.rest + gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts + gnome3.gnome_desktop gnome3.libzapojit json_glib + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = + let + libPath = stdenv.lib.makeLibraryPath + [ evince gtk3 gnome3.tracker gnome3.gnome_online_accounts ]; + in + '' + substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication" + + for f in $out/bin/* $out/libexec/*; do + wrapProgram "$f" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH ":" "${libPath}" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi" + done + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Documents; + description = "Document manager application designed to work with GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix new file mode 100644 index 00000000000..c6a98bb3ef0 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-music/default.nix @@ -0,0 +1,54 @@ +{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker +, python3, libxml2, python3Packages, libnotify +, pkgconfig, gtk3, glib, hicolor_icon_theme, cairo +, makeWrapper, itstool, gnome3, librsvg, gst_all_1 }: + +stdenv.mkDerivation rec { + name = "gnome-music-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-music/3.12/${name}.tar.xz"; + sha256 = "ec4807018166aabed0263cb3ffce672e1fc1a3e959f48a5ad48b8eb08ddb451a"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart + gdk_pixbuf gnome3.gnome_icon_theme librsvg python3 + gnome3.grilo libxml2 python3Packages.pygobject3 libnotify + python3Packages.pycairo python3Packages.dbus + gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.gsettings_desktop_schemas makeWrapper tracker ]; + + enableParallelBuilding = true; + + preFixup = + let + libPath = stdenv.lib.makeLibraryPath + [ glib gtk3 libnotify tracker gnome3.grilo cairo + gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ]; + in + '' + wrapProgram "$out/bin/gnome-music" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH : "${libPath}" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ + --prefix PYTHONPATH : "$PYTHONPATH" + + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Music; + description = "Music player and management application for the GNOME desktop environment"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix new file mode 100644 index 00000000000..cc92cdd3014 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/gnome-photos/default.nix @@ -0,0 +1,48 @@ +{ stdenv, intltool, fetchurl, exempi, libxml2 +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, gegl, babl, lcms2 +, desktop_file_utils, gmp +, gnome3, librsvg, gdk_pixbuf, libexif }: + +stdenv.mkDerivation rec { + name = "gnome-photos-3.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-photos/3.12/${name}.tar.xz"; + sha256 = "077cc6c2ae28680457fba435a22184e25f3a60a6fbe1901a75e42f6f6136538f"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gegl babl + gnome3.gsettings_desktop_schemas makeWrapper gmp + gdk_pixbuf gnome3.gnome_icon_theme librsvg exempi + gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo + gnome3.gnome_online_accounts gnome3.gnome_desktop + lcms2 libexif gnome3.tracker libxml2 desktop_file_utils + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + substituteInPlace $out/bin/gnome-photos --replace gapplication "${glib}/bin/gapplication" + + for f in $out/bin/* $out/libexec/*; do + wrapProgram "$f" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Photos; + description = "Photos is an application to access, organize and share your photos with GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/nautilus-sendto/default.nix b/pkgs/desktops/gnome-3/3.12/apps/nautilus-sendto/default.nix new file mode 100644 index 00000000000..5a85e00e4e4 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/nautilus-sendto/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool +, gobjectIntrospection, makeWrapper }: + +stdenv.mkDerivation rec { + name = "nautilus-sendto-${version}"; + + version = "3.8.1"; + + src = fetchurl { + url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz"; + sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab"; + }; + + buildInputs = [ glib pkgconfig gobjectIntrospection intltool makeWrapper ]; + + meta = with stdenv.lib; { + description = "Integrates Evolution and Pidgin into the Nautilus file manager"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix new file mode 100644 index 00000000000..fb7339dd05f --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/apps/seahorse/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl, vala +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, gnupg, libsoup +, gnome3, librsvg, gdk_pixbuf, gpgme +, libsecret, avahi, p11_kit }: + +stdenv.mkDerivation rec { + name = "seahorse-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/seahorse/3.12/${name}.tar.xz"; + sha256 = "5e6fb25373fd4490e181e2fa0f5cacf99b78b2f6caa5d91c9c605900fb5f3839"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr + gnome3.gsettings_desktop_schemas makeWrapper gnupg + gdk_pixbuf gnome3.gnome_icon_theme librsvg gpgme + libsecret avahi libsoup p11_kit vala gnome3.gcr + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + wrapProgram "$out/bin/seahorse" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/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/Seahorse; + description = "Application for managing encryption keys and passwords in the GnomeKeyring"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/at-spi2-atk/default.nix b/pkgs/desktops/gnome-3/3.12/core/at-spi2-atk/default.nix new file mode 100644 index 00000000000..416a33b09a2 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/at-spi2-atk/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, python, pkgconfig, popt, atk, libX11, libICE, xlibs, libXi +, intltool, dbus_glib, at_spi2_core, libSM }: + +stdenv.mkDerivation rec { + versionMajor = "2.12"; + versionMinor = "1"; + moduleName = "at-spi2-atk"; + name = "${moduleName}-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; + sha256 = "5fa9c527bdec028e06797563cd52d49bcf06f638549df983424d88db89bb1336"; + }; + + buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi + intltool dbus_glib at_spi2_core libSM ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/at-spi2-core/default.nix b/pkgs/desktops/gnome-3/3.12/core/at-spi2-core/default.nix new file mode 100644 index 00000000000..d60a0ff7480 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/at-spi2-core/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib +, libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }: + +stdenv.mkDerivation (rec { + 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 = "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? + configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/"; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} + // stdenv.lib.optionalAttrs stdenv.isDarwin { + NIX_LDFLAGS = "-lintl"; + } +) + diff --git a/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.12/core/baobab/default.nix new file mode 100644 index 00000000000..e4da596ae21 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/baobab/3.12/${name}.tar.xz"; + sha256 = "494808d8a5b1776377749a1dcd5b251eb399208a4c90380dc8b8c789811e514c"; + }; + + 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 + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + 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 : "${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/3.12/core/caribou/default.nix b/pkgs/desktops/gnome-3/3.12/core/caribou/default.nix new file mode 100644 index 00000000000..4d2f390c042 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/caribou/default.nix @@ -0,0 +1,27 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, clutter, dbus, pythonPackages, libxml2 +, libxklavier, libXtst, gtk2, intltool, libxslt }: + + +stdenv.mkDerivation rec { + name = "caribou-0.4.13"; + + src = fetchurl { + url = "mirror://gnome/sources/caribou/0.4/${name}.tar.xz"; + sha256 = "953ba618621fda8a828d0d797fc916dbe35990dc01d7aa99d15e5e2241ee2782"; + }; + + buildInputs = with gnome3; + [ glib pkgconfig gtk clutter at_spi2_core dbus pythonPackages.python pythonPackages.pygobject3 + libxml2 libXtst gtk2 intltool libxslt ]; + + propagatedBuildInputs = [ gnome3.libgee libxklavier ]; + + preBuild = '' + patchShebangs . + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome-3/3.12/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.12/core/dconf/default.nix new file mode 100644 index 00000000000..a1d98449bee --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/dconf/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3 +, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }: + +stdenv.mkDerivation rec { + name = "dconf-${version}"; + version = "0.20.0"; + + src = fetchurl { + url = "mirror://gnome/sources/dconf/0.20/${name}.tar.xz"; + sha256 = "22c046a247d05ea65ad181e3aef4009c898a5531f76c0181f8ec0dfef83447d9"; + }; + + buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2 + 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/3.12/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.12/core/empathy/default.nix new file mode 100644 index 00000000000..458bd33240e --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/empathy/3.12/${name}.tar.xz"; + sha256 = "414d0c6b1a30b1afbf35ad04b0b9ff3ada3e06fab797a50a7147cdfe0905e7cd"; + }; + + 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:${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/3.12/core/eog/default.nix b/pkgs/desktops/gnome-3/3.12/core/eog/default.nix new file mode 100644 index 00000000000..8c8a49cb7ed --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/eog/default.nix @@ -0,0 +1,31 @@ +{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3 +, shared_mime_info, makeWrapper, librsvg, libexif }: + + +stdenv.mkDerivation rec { + name = "eog-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/eog/3.12/${name}.tar.xz"; + sha256 = "0ca8be7f20c98e9b104b2c1fa53df293e5403e6d517de845ae0f3b72777453fd"; + }; + + buildInputs = with gnome3; + [ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg + gsettings_desktop_schemas shared_mime_info gnome_icon_theme gnome_desktop libexif ]; + + preFixup = '' + wrapProgram "$out/bin/eog" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --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; { + homepage = https://wiki.gnome.org/Apps/EyeOfGnome; + platforms = platforms.linux; + description = "GNOME image viewer"; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.12/core/epiphany/default.nix new file mode 100644 index 00000000000..d159965c544 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/epiphany/default.nix @@ -0,0 +1,53 @@ +{ 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, which +, hicolor_icon_theme, gdk_pixbuf, librsvg, gnome_common }: + +stdenv.mkDerivation rec { + name = "epiphany-3.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/epiphany/3.12/${name}.tar.xz"; + sha256 = "16d9f8f10443328b2f226c2da545e75c8433f50f103af8aeb692b098d5fbbf93"; + }; + + # Tests need an X display + configureFlags = [ "--disable-static --disable-tests" ]; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + nativeBuildInputs = [ pkgconfig file ]; + + configureScript = "./autogen.sh"; + + 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 + gdk_pixbuf gnome3.gnome_icon_theme librsvg which gnome_common + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gcr avahi gnome3.gsettings_desktop_schemas makeWrapper ]; + + NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0"; + + enableParallelBuilding = true; + + preFixup = '' + for f in $out/bin/* $out/libexec/*; do + wrapProgram "$f" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + ''; + + patches = [ ./libxml_missing_dep.patch ]; + patchFlags = "-p0"; + + 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/3.12/core/epiphany/libxml_missing_dep.patch b/pkgs/desktops/gnome-3/3.12/core/epiphany/libxml_missing_dep.patch new file mode 100644 index 00000000000..c4dc85cd97e --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/epiphany/libxml_missing_dep.patch @@ -0,0 +1,10 @@ +--- configure.ac.orig 2014-05-19 13:28:28.493988695 +0200 ++++ configure.ac 2014-05-19 13:28:54.837159748 +0200 +@@ -115,6 +115,7 @@ + + PKG_CHECK_MODULES(WEB_EXTENSION, [ + $WEBKIT_GTK_PC_NAME >= $WEBKIT_GTK_REQUIRED ++ libxml-2.0 >= $LIBXML_REQUIRED + libsecret-1 >= $LIBSECRET_REQUIRED + ]) + AC_SUBST(WEB_EXTENSION_CFLAGS) diff --git a/pkgs/desktops/gnome-3/3.12/core/evince/default.nix b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix new file mode 100644 index 00000000000..ca983258d95 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/evince/default.nix @@ -0,0 +1,70 @@ +{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2 +, 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 { + name = "evince-3.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/evince/3.12/${name}.tar.xz"; + sha256 = "ef22cc29a7cbe70d2e7ce8c0b5b7ee774187ea69f3ae49a64c6d4a91559ef137"; + }; + + buildInputs = [ + pkgconfig intltool perl perlXMLParser libxml2 + 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 librsvg + ]; + + configureFlags = [ + "--disable-nautilus" # Do not use nautilus + "--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 + echo "patching $file" + sed '1s,/usr,${python},' -i "$file" + done + '' + optionalString (recentListSize != null) '' + sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c + sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c + ''; + + 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 "$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 + + meta = with stdenv.lib; { + homepage = http://www.gnome.org/projects/evince/; + description = "GNOME's document viewer"; + + longDescription = '' + Evince is a document viewer for multiple document formats. It + currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal + of Evince is to replace the multiple document viewers that exist + on the GNOME Desktop with a single simple application. + ''; + + license = "GPLv2+"; + platforms = platforms.linux; + maintainers = [ maintainers.vcunat ]; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix new file mode 100644 index 00000000000..d7f65ca6741 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/evolution-data-server/default.nix @@ -0,0 +1,33 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, python +, intltool, libsoup, libxml2, libsecret, icu +, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }: + + +stdenv.mkDerivation rec { + name = "evolution-data-server-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/evolution-data-server/3.12/${name}.tar.xz"; + sha256 = "91c95e17a8c1cd1086dafcd99a40bdf8f5993770f251f8b0a10e5395e3f5a3b6"; + }; + + 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 icu ] + ++ 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/3.12/core/folks/default.nix b/pkgs/desktops/gnome-3/3.12/core/folks/default.nix new file mode 100644 index 00000000000..12518c634c4 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/gconf/default.nix b/pkgs/desktops/gnome-3/3.12/core/gconf/default.nix new file mode 100644 index 00000000000..47dae0486e9 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gconf/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, pkgconfig, dbus_glib, gnome3, glib, libxml2 +, intltool, polkit, orbit }: + +stdenv.mkDerivation rec { + + versionMajor = "3.2"; + versionMinor = "6"; + moduleName = "GConf"; + + origName = "${moduleName}-${versionMajor}.${versionMinor}"; + + name = "gconf-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz"; + sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"; + }; + + buildInputs = [ libxml2 polkit gnome3.gtk orbit ]; + propagatedBuildInputs = [ glib dbus_glib ]; + nativeBuildInputs = [ pkgconfig intltool ]; + + # ToDo: ldap reported as not found but afterwards reported as supported + + meta = with stdenv.lib; { + homepage = http://projects.gnome.org/gconf/; + description = "A system for storing application preferences"; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gcr/default.nix b/pkgs/desktops/gnome-3/3.12/core/gcr/default.nix new file mode 100644 index 00000000000..6dd69a64fd7 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gcr/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib +, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk +, gobjectIntrospection, makeWrapper, libxslt, vala }: + +stdenv.mkDerivation rec { + name = "gcr-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gcr/3.12/${name}.tar.xz"; + sha256 = "456e20615ab178aa92eeabdea64dcce535c10d5af189171d9375291a2447d21c"; + }; + + buildInputs = [ + pkgconfig intltool gnupg p11_kit glib gobjectIntrospection libxslt + libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper vala + ]; + + #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/3.12/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix new file mode 100644 index 00000000000..070f39199d7 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11 +, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, dconf }: + +stdenv.mkDerivation rec { + name = "gdm-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gdm/3.12/${name}.tar.xz"; + sha256 = "cc91fff5afd2a7c3e712c960a0b60744774167dcfc16f486372e1eb3c0aa1cc4"; + }; + + buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice dconf + gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/geocode-glib/default.nix b/pkgs/desktops/gnome-3/3.12/core/geocode-glib/default.nix new file mode 100644 index 00000000000..6a461e3bde6 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/geocode-glib/default.nix @@ -0,0 +1,20 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, intltool, libsoup, json_glib }: + + +stdenv.mkDerivation rec { + name = "geocode-glib-3.12.2"; + + + src = fetchurl { + url = "mirror://gnome/sources/geocode-glib/3.12/${name}.tar.xz"; + sha256 = "5ca581a927cac3025adc2afadfdaf9a493ca887537a548aa47296bc77bcfa49e"; + }; + + buildInputs = with gnome3; + [ intltool pkgconfig glib libsoup json_glib ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gjs/default.nix b/pkgs/desktops/gnome-3/3.12/core/gjs/default.nix new file mode 100644 index 00000000000..c1e5486d3a7 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gjs/default.nix @@ -0,0 +1,21 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, gobjectIntrospection, spidermonkey_24, pango }: + + +stdenv.mkDerivation rec { + name = "gjs-1.40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gjs/1.40/${name}.tar.xz"; + sha256 = "2f0d80ec96c6284785143abe51377d8a284977ea6c3cf0cef1020d92eae41793"; + }; + + buildInputs = with gnome3; + [ gobjectIntrospection pkgconfig glib pango ]; + + propagatedBuildInputs = [ spidermonkey_24 ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-backgrounds/default.nix new file mode 100644 index 00000000000..46db008787f --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-backgrounds/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, pkgconfig, intltool }: + +stdenv.mkDerivation rec { + name = "gnome-backgrounds-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-backgrounds/3.12/${name}.tar.xz"; + sha256 = "ac4d3e0fffc5991865ca748e728a1ab87f167400105250ce2195b03502427180"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-calculator/default.nix new file mode 100644 index 00000000000..666032f56a7 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-calculator/3.12/${name}.tar.xz"; + sha256 = "15a75bbe19f6d2280d864f0504f6fc5b1f148fea9738b5548b64b7b8c0c64740"; + }; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool + libxml2 gnome3.gtksourceview + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.gsettings_desktop_schemas makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-calculator" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${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/3.12/core/gnome-common/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-common/default.nix new file mode 100644 index 00000000000..b534d6922b7 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-common/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, which, autoconf, automake }: + +stdenv.mkDerivation rec { + name = "gnome-common-3.12.0"; + + src = fetchurl { + url = "https://download.gnome.org/sources/gnome-common/3.12/${name}.tar.xz"; + sha256 = "18712bc2df6b2dd88a11b9f7f874096d1c0c6e7ebc9cfc0686ef963bd590e1d8"; + }; + + 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/3.12/core/gnome-contacts/configure_dbus_glib.patch b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/configure_dbus_glib.patch new file mode 100644 index 00000000000..926762defbd --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-contacts/default.nix new file mode 100644 index 00000000000..5b4ca5c3418 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-contacts/3.12/${name}.tar.xz"; + sha256 = "fb3f25d409032b24fb67241e67d4da10cf6f77a48c088709455cea5f6f33e87d"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard evolution_data_server ]; + + # 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 + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + 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 : "${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + ''; + + patches = [ ./configure_dbus_glib.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/3.12/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/default.nix new file mode 100644 index 00000000000..eb2324c9c0f --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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, clutter, clutter_gtk }: + +# 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.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-control-center/3.12/${name}.tar.xz"; + sha256 = "5297d448eff0ec58f6c0ad9fbd1b94bed0a850496df0ee65571c0622b49c1582"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard gnome3.libgnomekbd ]; + + 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 gnome3.grilo + gdk_pixbuf gnome3.gnome_icon_theme librsvg clutter clutter_gtk + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.vino + 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:$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/3.12/core/gnome-control-center/search_providers_dir.patch b/pkgs/desktops/gnome-3/3.12/core/gnome-control-center/search_providers_dir.patch new file mode 100644 index 00000000000..7f5ad970f34 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-desktop/default.nix new file mode 100644 index 00000000000..e8d4efc1c80 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-desktop/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib +, intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland +, gobjectIntrospection }: + +stdenv.mkDerivation rec { + + majorVersion = "3.12"; + minorVersion = "2"; + name = "gnome-desktop-${majorVersion}.${minorVersion}"; + + # this should probably be setuphook for glib + NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0"; + + enableParallelBuilding = true; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz"; + sha256 = "b7d691363ccc90182caff1980efa7d99e4569bea968d39654102a0c4e824a44d"; + }; + + buildInputs = [ pkgconfig python libxml2Python libxslt which libX11 xkeyboard_config isocodes itstool wayland + gtk3 glib intltool gnome_doc_utils libxkbfile gnome3.gsettings_desktop_schemas gobjectIntrospection ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-dictionary/default.nix new file mode 100644 index 00000000000..6f68916b781 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-disk-utility/default.nix new file mode 100644 index 00000000000..56bde211105 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-disk-utility/3.12/${name}.tar.xz"; + sha256 = "5994bfae57063d74be45736050cf166cda5b1600a599703240b641b39375718e"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool + libxslt libtool libsecret libpwquality cracklib + libnotify libdvdread libcanberra_gtk3 docbook_xsl + gdk_pixbuf gnome3.gnome_icon_theme + librsvg udisks2 gnome3.gnome_settings_daemon + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + 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 : "${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/3.12/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-font-viewer/default.nix new file mode 100644 index 00000000000..a74c5722ba2 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-font-viewer/3.12/${name}.tar.xz"; + sha256 = "fca50711b7bd4edd1213dd4f05a309911cd1e832974142944c06d52ae07cbe45"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gnome_desktop + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + 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 : "${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/3.12/core/gnome-icon-theme-symbolic/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme-symbolic/default.nix new file mode 100644 index 00000000000..6a30362f593 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-icon-theme-symbolic/3.12/${name}.tar.xz"; + sha256 = "851a4c9d8e8cb0000c9e5e78259ab8b8e67c5334e4250ebcc8dfdaa33520068b"; + }; + + 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/3.12/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix new file mode 100644 index 00000000000..aa0c9d24dfe --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }: + +stdenv.mkDerivation rec { + name = "gnome-icon-theme-3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-icon-theme/3.12/${name}.tar.xz"; + sha256 = "359e720b9202d3aba8d477752c4cd11eced368182281d51ffd64c8572b4e503a"; + }; + + setupHook = ./setup-hook.sh; + + nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh b/pkgs/desktops/gnome-3/3.12/core/gnome-icon-theme/setup-hook.sh new file mode 100644 index 00000000000..d7156f3d463 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-keyring/default.nix new file mode 100644 index 00000000000..59667fe3323 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-keyring/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt +, intltool, pango, gcr, gdk_pixbuf, atk, p11_kit, makeWrapper +, docbook_xsl_ns, docbook_xsl, gnome3 }: + +stdenv.mkDerivation rec { + name = "gnome-keyring-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-keyring/3.12/${name}.tar.xz"; + sha256 = "3bc39a42d445b82d24247a8c39eeb0eef7ecb1c8ebb8e6ec62671868be93fd4c"; + }; + + buildInputs = with gnome3; [ + dbus libgcrypt pam python gtk3 gconf libgnome_keyring + pango gcr gdk_pixbuf atk p11_kit makeWrapper + ]; + + propagatedBuildInputs = [ glib libtasn1 libxslt ]; + + nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ]; + + configureFlags = [ + "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path + "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories + "--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/3.12/core/gnome-menus/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-menus/default.nix new file mode 100644 index 00000000000..37d2ea1c086 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-menus/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, intltool, pkgconfig, glib, gobjectIntrospection }: + +stdenv.mkDerivation rec { + name = "gnome-menus-${version}"; + version = "3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-menus/3.10/${name}.tar.xz"; + sha256 = "0wcacs1vk3pld8wvrwq7fdrm11i56nrajkrp6j1da6jc4yx0m5a6"; + }; + + makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"; + + preBuild = "patchShebangs ./scripts"; + + buildInputs = [ intltool pkgconfig glib gobjectIntrospection ]; + + meta = { + homepage = "http://www.gnome.org"; + description = "Gnome menu specification"; + + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-online-accounts/default.nix new file mode 100644 index 00000000000..e113a854a8b --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-online-accounts/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pkgconfig, glib, libxslt, gtk, webkitgtk, json_glib, rest, libsecret, dbus_glib +, telepathy_glib, intltool, dbus_libs, icu, libsoup, docbook_xsl_ns, docbook_xsl +}: + +stdenv.mkDerivation rec { + name = "gnome-online-accounts-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-online-accounts/3.12/${name}.tar.xz"; + sha256 = "cac7758e09d32eb54af50ab6b23d65da0c8d48c555c8db011a0cf5b977d542ec"; + }; + + 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; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-online-miners/default.nix new file mode 100644 index 00000000000..394a3ee447c --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-online-miners/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2 +, libsoup, json_glib, gmp, openssl, makeWrapper }: + +stdenv.mkDerivation rec { + name = "gnome-online-miners-3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-online-miners/3.12/${name}.tar.xz"; + sha256 = "734db67bb158a046bc8bbbe418f0fdaf6d8652ac86406907a8d17d069fa48f23"; + }; + + doCheck = true; + + buildInputs = [ pkgconfig glib gnome3.libgdata libxml2 libsoup gmp openssl + gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins + gnome3.gnome_online_accounts makeWrapper gnome3.libmediaart + gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest ]; + + enableParallelBuilding = true; + + preFixup = '' + for f in $out/libexec/*; do + wrapProgram "$f" \ + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" + done + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners; + description = "A set of crawlers that go through your online content and index them locally in Tracker"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-screenshot/default.nix new file mode 100644 index 00000000000..349df0b103c --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-screenshot/3.12/${name}.tar.xz"; + sha256 = "ae4bf706652ae9b28c7930d22c2c37469a78d7f6656d312960b3c75ee5c36eb1"; + }; + + 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/3.12/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-session/default.nix new file mode 100644 index 00000000000..bebd0b4b77c --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-session/default.nix @@ -0,0 +1,30 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, glib, dbus_glib, json_glib, upower +, libxslt, intltool, makeWrapper, systemd, xorg }: + + +stdenv.mkDerivation rec { + name = "gnome-session-3.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-session/3.12/${name}.tar.xz"; + sha256 = "fa308771ac18bc5f77e5a5be3b2d93df1625168cb40167c1dfa898e9006e25d3"; + }; + + configureFlags = "--enable-systemd"; + + buildInputs = with gnome3; + [ pkgconfig glib gnome_desktop gtk dbus_glib json_glib libxslt + gnome3.gnome_settings_daemon xorg.xtrans + gsettings_desktop_schemas upower intltool gconf makeWrapper systemd ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-session" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-settings-daemon/default.nix new file mode 100644 index 00000000000..81b49e6bc64 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-settings-daemon/default.nix @@ -0,0 +1,35 @@ +{ 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, ibus, xkeyboard_config }: + +stdenv.mkDerivation rec { + name = "gnome-settings-daemon-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-settings-daemon/3.12/${name}.tar.xz"; + sha256 = "e887bd63c733febccb7f2c1453c075016342e223214fa9cfc60d90f1e16e080f"; + }; + + # 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 ibus gtk glib gsettings_desktop_schemas + libnotify gnome_desktop lcms2 libXtst libxkbfile pulseaudio + libcanberra_gtk3 upower colord libgweather xkeyboard_config + polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libwacom libxslt + libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ]; + + preFixup = '' + wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix PATH : "${glib}/bin" \ + --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell-extensions/default.nix new file mode 100644 index 00000000000..8503af44613 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-shell-extensions/3.12/${name}.tar.xz"; + sha256 = "30ba6e4792062e5a5cdd18e4a12230e68bfed1ded7de433ad241dd75e7ae2fc6"; + }; + + 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/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix new file mode 100644 index 00000000000..49154aa9221 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-shell/3.12/${name}.tar.xz"; + sha256 = "3ae230e8cb7a31e7b782c16ca178af5957858810788e26a6d630b69b3f85ce71"; + }; + + 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 ]; + + installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ]; + + 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:$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" + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-system-log/default.nix new file mode 100644 index 00000000000..cdc4b732b97 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-system-monitor/default.nix new file mode 100644 index 00000000000..622df1c5db2 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-system-monitor/default.nix @@ -0,0 +1,39 @@ +{ 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.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-system-monitor/3.12/${name}.tar.xz"; + sha256 = "ba074e2157302d91d73b68e13207bf85452b84234e429b1ec9b9a7b1c70736d8"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libxml2 + gtkmm3 libgtop makeWrapper + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.gsettings_desktop_schemas ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-system-monitor" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${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.12/; + 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/3.12/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix new file mode 100644 index 00000000000..a5b3fb73943 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-terminal/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango +, gnome_doc_utils, intltool, libX11, which, libuuid +, desktop_file_utils, itstool, ncurses, makeWrapper, appdata-tools }: + +stdenv.mkDerivation rec { + + versionMajor = "3.12"; + versionMinor = "2"; + + name = "gnome-terminal-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz"; + sha256 = "ea19ce610af2873d26e1e75491415e17af6a5080366db966f9220fdeea5ebecd"; + }; + + buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte appdata-tools + gnome3.dconf itstool ncurses makeWrapper gnome3.nautilus ]; + + nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ]; + + # FIXME: enable for gnome3 + configureFlags = [ "--disable-search-provider" "--disable-migration" ]; + + preFixup = '' + for f in "$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/3.12/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-themes-standard/default.nix new file mode 100644 index 00000000000..5128a195141 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gnome-themes-standard/default.nix @@ -0,0 +1,15 @@ +{ stdenv, fetchurl, intltool, gtk3, librsvg, pkgconfig, pango, atk, gtk2, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "gnome-themes-standard-3.12.0"; + src = fetchurl { + url = "mirror://gnome/sources/gnome-themes-standard/3.12/${name}.tar.xz"; + sha256 = "a05d1b7ca872b944a69d0c0cc2369408ece32ff4355e37f8594a1b70d13c3217"; + }; + + buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-docs/default.nix new file mode 100644 index 00000000000..7377c839d1c --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-user-docs/3.12/${name}.tar.xz"; + sha256 = "bfd084d72c688d6efb0c34bb572a704cc2ce093c97a33390eaffb5e42158d418"; + }; + + buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ]; + + meta = with stdenv.lib; { + homepage = https://help.gnome.org/users/gnome-help/3.12; + 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/3.12/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-user-share/default.nix new file mode 100644 index 00000000000..976b0eaca45 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix new file mode 100644 index 00000000000..a8a1c244767 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/grilo-plugins/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, glib, sqlite +, gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp_av +, gmime, json_glib, avahi, tracker, itstool }: + +stdenv.mkDerivation rec { + name = "grilo-plugins-0.2.12"; + + src = fetchurl { + url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz"; + sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48"; + }; + + installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ]; + + buildInputs = [ pkgconfig gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata + lua5 liboauth gupnp_av sqlite gnome3.gnome_online_accounts + gnome3.totem-pl-parser gnome3.rest gmime json_glib + avahi gnome3.libmediaart tracker intltool itstool ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Projects/Grilo; + description = "A collection of plugins for the Grilo framework"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix new file mode 100644 index 00000000000..6f1bfbbcfe9 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/grilo/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, glib +, libxml2, gnome3, gobjectIntrospection, libsoup }: + +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" "--enable-grl-net" ]; + + preConfigure = '' + for f in src/Makefile.in libs/pls/Makefile.in libs/net/Makefile.in; do + substituteInPlace $f --replace @INTROSPECTION_GIRDIR@ "$out/share/gir-1.0/" + substituteInPlace $f --replace @INTROSPECTION_TYPELIBDIR@ "$out/lib/girepository-1.0" + done + ''; + + buildInputs = [ pkgconfig file intltool glib libxml2 libsoup + gnome3.totem-pl-parser gobjectIntrospection ]; + + 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/3.12/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/3.12/core/gsettings-desktop-schemas/default.nix new file mode 100644 index 00000000000..917bcd99c95 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gsettings-desktop-schemas/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, intltool, glib, gobjectIntrospection + # just for passthru +, gtk3, gsettings_desktop_schemas }: + +stdenv.mkDerivation rec { + + versionMajor = "3.12"; + versionMinor = "2"; + moduleName = "gsettings-desktop-schemas"; + + name = "${moduleName}-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; + sha256 = "da75021e9c45a60d0a97ea3486f93444275d0ace86dbd1b97e5d09000d8c4ad1"; + }; + + buildInputs = [ glib gobjectIntrospection ]; + + nativeBuildInputs = [ pkgconfig intltool ]; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix new file mode 100644 index 00000000000..a0669957af6 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gtksourceview/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango +, libxml2Python, perl, intltool, gettext }: + +stdenv.mkDerivation rec { + name = "gtksourceview-${version}"; + version = "3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gtksourceview/3.12/gtksourceview-${version}.tar.xz"; + sha256 = "62a31eee00f633d7959efb7eec44049ebd0345d670265853dcd21c057f3f30ad"; + }; + + buildInputs = [ pkgconfig atk cairo glib gtk3 pango + libxml2Python perl intltool gettext ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/3.12/core/gucharmap/default.nix new file mode 100644 index 00000000000..590f8706fff --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/gucharmap/default.nix @@ -0,0 +1,38 @@ +{ 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.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gucharmap/3.12/${name}.tar.xz"; + sha256 = "5e260767da43f6dc31a8be33ca363da56781349b367464fa9c478bca66aa18d9"; + }; + + 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 : "${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/3.12/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix new file mode 100644 index 00000000000..e5f6a0aa9b8 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/libcroco/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, pkgconfig, libxml2, glib }: + +stdenv.mkDerivation rec { + name = "libcroco-0.6.8"; + + src = fetchurl { + url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz"; + sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"; + }; + + configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic"; + + buildInputs = [ pkgconfig libxml2 glib ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/libgdata/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgdata/default.nix new file mode 100644 index 00000000000..9a1a45e0d1a --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/libgee/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgee/default.nix new file mode 100644 index 00000000000..b21c274ce51 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/libgee/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection }: +let + ver_maj = "0.14"; + ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "libgee-${ver_maj}.${ver_min}"; + + src = fetchurl { + url = "mirror://gnome/sources/libgee/${ver_maj}/${name}.tar.xz"; + sha256 = "08e466d3f214c9466860b5a82629de0de9eb89b1de7bd918fe154e569b5834cd"; + }; + + 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/3.12/core/libgee/fix_introspection_paths.patch b/pkgs/desktops/gnome-3/3.12/core/libgee/fix_introspection_paths.patch new file mode 100644 index 00000000000..67003f45164 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/libgee/fix_introspection_paths.patch @@ -0,0 +1,13 @@ +--- fix_introspection_paths.patch/configure 2014-01-07 17:43:53.521339338 +0000 ++++ fix_introspection_paths.patch/configure-fix 2014-01-07 17:45:11.068635069 +0000 +@@ -12085,8 +12085,8 @@ + INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` + INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` + INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` +- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` +- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" ++ INTROSPECTION_GIRDIR="${datadir}/gir-1.0" ++ INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0" + INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` + INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` + INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection diff --git a/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix new file mode 100644 index 00000000000..65d1c9d1493 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/libgnome-keyring/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool, gobjectIntrospection }: + +stdenv.mkDerivation rec { + name = "libgnome-keyring-3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/libgnome-keyring/3.12/${name}.tar.xz"; + sha256 = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783"; + }; + + 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/3.12/core/libgnomekbd/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgnomekbd/default.nix new file mode 100644 index 00000000000..1156474e5a7 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/libgweather/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgweather/default.nix new file mode 100644 index 00000000000..8246a2183b7 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/libgweather/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf +, pango, gdk_pixbuf, atk, tzdata }: + +stdenv.mkDerivation rec { + name = "libgweather-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/libgweather/3.12/${name}.tar.xz"; + sha256 = "54ef096350d7774ab1b3f23ed768246301cdcedfaa762a2c46920bf87fcc1c37"; + }; + + makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"; + + configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" ]; + propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ]; + nativeBuildInputs = [ pkgconfig intltool ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/libgxps/default.nix b/pkgs/desktops/gnome-3/3.12/core/libgxps/default.nix new file mode 100644 index 00000000000..72d307f4f1a --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/libgxps/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, glib, cairo, libarchive, freetype, libjpeg, libtiff +, openssl, bzip2, acl, attr +}: + +stdenv.mkDerivation rec { + name = "libgxps-0.2.2"; + + src = fetchurl { + url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz"; + sha256 = "1gi0b0x0354jyqc48vspk2hg2q1403cf2p9ibj847nzhkdrh9l9r"; + }; + + buildInputs = [ pkgconfig glib cairo libarchive freetype libjpeg libtiff acl openssl bzip2 attr]; + + configureFlags = "--without-liblcms2"; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/libpeas/default.nix b/pkgs/desktops/gnome-3/3.12/core/libpeas/default.nix new file mode 100644 index 00000000000..547a52ccf9a --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/libpeas/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, intltool +, glib, gtk3, gobjectIntrospection, python, pygobject3 +}: + +stdenv.mkDerivation rec { + name = "libpeas-${version}"; + version = "1.10.0"; + + buildInputs = [ + intltool pkgconfig + glib gtk3 gobjectIntrospection python pygobject3 + ]; + + src = fetchurl { + url = "mirror://gnome/sources/libpeas/1.10/${name}.tar.xz"; + sha256 = "4695bc40e4885a903dbc5ce6a3704392feae63af51fd4da7a3888bb88ca78c47"; + }; + + preFixup = '' + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + 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/3.12/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/3.12/core/libzapojit/default.nix new file mode 100644 index 00000000000..5e2559899b7 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/libzapojit/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, pkgconfig, glib, intltool, json_glib, rest, libsoup, gtk, gnome_online_accounts }: + +stdenv.mkDerivation rec { + name = "libzapojit-0.0.3"; + + src = fetchurl { + url = "mirror://gnome/sources//3.10/${name}.tar.xz"; + sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"; + }; + + buildInputs = [ pkgconfig glib intltool json_glib rest libsoup gtk gnome_online_accounts ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/mutter/default.nix b/pkgs/desktops/gnome-3/3.12/core/mutter/default.nix new file mode 100644 index 00000000000..aa1af1ebd55 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/mutter/default.nix @@ -0,0 +1,33 @@ +{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo +, pango, cogl, clutter, libstartup_notification, libcanberra, zenity, libcanberra_gtk3 +, libtool, makeWrapper }: + + +stdenv.mkDerivation rec { + name = "mutter-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/mutter/3.12/${name}.tar.xz"; + sha256 = "e653cf3e8c29af8d8c086bebcaa06781c48695be949417b72278fee37fe9e173"; + }; + + # 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 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/3.12/core/nautilus/default.nix b/pkgs/desktops/gnome-3/3.12/core/nautilus/default.nix new file mode 100644 index 00000000000..dceb7c817bd --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/nautilus/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif +, gtk, gnome3, libunique, intltool, gobjectIntrospection +, libnotify, makeWrapper, exempi, librsvg, tracker }: + +stdenv.mkDerivation rec { + name = "nautilus-3.12.2"; + + src = fetchurl { + url = "mirror://gnome/sources/nautilus/3.12/${name}.tar.xz"; + sha256 = "969c2bedc324eab7b9399bdb3a7db61f819a2995c733349ded081b059a1cafb1"; + }; + + 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 tracker ]; + + preFixup = '' + wrapProgram "$out/bin/nautilus" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share:$GSETTINGS_SCHEMAS_PATH" + ''; + + patches = [ ./extension_dir.patch ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/nautilus/extension_dir.patch b/pkgs/desktops/gnome-3/3.12/core/nautilus/extension_dir.patch new file mode 100644 index 00000000000..317b8257992 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/nautilus/extension_dir.patch @@ -0,0 +1,24 @@ +diff --git a/libnautilus-private/nautilus-module.c b/libnautilus-private/nautilus-module.c +index 6273a76..4adcc8a 100644 +--- a/libnautilus-private/nautilus-module.c ++++ b/libnautilus-private/nautilus-module.c +@@ -242,11 +242,17 @@ void + nautilus_module_setup (void) + { + static gboolean initialized = FALSE; ++ const gchar* extensiondir = NULL; + + if (!initialized) { + initialized = TRUE; +- +- load_module_dir (NAUTILUS_EXTENSIONDIR); ++ ++ extensiondir = g_getenv ("NAUTILUS_EXTENSION_DIR"); ++ if (extensiondir == NULL) { ++ extensiondir = NAUTILUS_EXTENSIONDIR; ++ } ++ ++ load_module_dir (extensiondir); + + eel_debug_call_at_shutdown (free_module_objects); + } diff --git a/pkgs/desktops/gnome-3/3.12/core/rest/default.nix b/pkgs/desktops/gnome-3/3.12/core/rest/default.nix new file mode 100644 index 00000000000..9e19d4f9005 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/rest/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, pkgconfig, glib, libsoup, gobjectIntrospection }: + +stdenv.mkDerivation rec { + name = "rest-0.7.91"; + + src = fetchurl { + url = "mirror://gnome/sources/rest/0.7/${name}.tar.xz"; + sha256 = "838814d935143f2dc99eb79f1ac69c615e7b547339f6cd226dd0ed4d7c16b67a"; + }; + + buildInputs = [ pkgconfig glib libsoup gobjectIntrospection]; + + configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt"; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/sushi/default.nix b/pkgs/desktops/gnome-3/3.12/core/sushi/default.nix new file mode 100644 index 00000000000..2830d5bac27 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/sushi/3.12/${name}.tar.xz"; + sha256 = "78594a858371b671671205e7b2518e7eb82ed8c2540b62f45a657aaabdf1a9ff"; + }; + + 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/3.12/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem-pl-parser/default.nix new file mode 100644 index 00000000000..f1b3bfe53c1 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/core/totem/default.nix b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix new file mode 100644 index 00000000000..3589299df3e --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/totem/default.nix @@ -0,0 +1,51 @@ +{ 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.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/totem/3.12/${name}.tar.xz"; + sha256 = "dd168cdd4051d01131d47c24fa45bfd08b6ccf45900ac4b64bae47f6f47a35e3"; + }; + + doCheck = true; + + enableParallelBuilding = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo + clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins + 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 + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + 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 GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + patches = [ ./fix_files_loss.patch ]; + + 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/3.12/core/totem/fix_files_loss.patch b/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch new file mode 100644 index 00000000000..b85ad1efd00 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/totem/fix_files_loss.patch @@ -0,0 +1,72 @@ +From 524c9e39a0ca6f2d1699e6e6d9ba3db1ea80d9f9 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Thu, 15 May 2014 19:28:35 +0200 +Subject: main: Fix potential data loss when removing multiple files + +We were using a list of GtkTreePaths and deleting the items one-by-one +when the user clicked the "Delete" button. But after the first deletion, +the tree model would have changed, and instead of pointing to the 2nd +item we wanted to delete, the GtkTreePath would have pointed to another +item, usually not one that we wanted to delete. + +We now use GtkTreeRowReferences, which will always point to the same +row, as long as it exists. + +https://bugzilla.gnome.org/show_bug.cgi?id=729778 + +diff --git a/src/totem-grilo.c b/src/totem-grilo.c +index 2133d77..0cff0d6 100644 +--- a/src/totem-grilo.c ++++ b/src/totem-grilo.c +@@ -2074,7 +2074,8 @@ static void + delete_foreach (gpointer data, + gpointer user_data) + { +- GtkTreePath *path = data; ++ GtkTreeRowReference *ref = data; ++ GtkTreePath *path; + GtkTreeModel *view_model = user_data; + GtkTreeIter iter; + GrlSource *source; +@@ -2085,8 +2086,11 @@ delete_foreach (gpointer data, + GtkTreeModel *model; + GtkTreeIter real_model_iter; + +- if (!gtk_tree_model_get_iter (view_model, &iter, path)) ++ path = gtk_tree_row_reference_get_path (ref); ++ if (!path || !gtk_tree_model_get_iter (view_model, &iter, path)) { ++ g_warning ("An item that was scheduled for removal isn't available any more"); + return; ++ } + + gtk_tree_model_get (view_model, &iter, + MODEL_RESULTS_CONTENT, &media, +@@ -2151,14 +2155,23 @@ delete_cb (TotemSelectionToolbar *bar, + TotemGrilo *self) + { + GtkTreeModel *model; +- GList *list; ++ GList *list, *l; + + g_signal_handlers_block_by_func (self->priv->browser, "view-selection-changed", self); + + model = gd_main_view_get_model (GD_MAIN_VIEW (self->priv->browser)); + list = gd_main_view_get_selection (GD_MAIN_VIEW (self->priv->browser)); ++ ++ /* GList of GtkTreePaths to a GList of GtkTreeRowReferences */ ++ for (l = list; l != NULL; l = l->next) { ++ GtkTreeRowReference *ref; ++ ++ ref = gtk_tree_row_reference_new (model, l->data); ++ gtk_tree_path_free (l->data); ++ l->data = ref; ++ } + g_list_foreach (list, delete_foreach, model); +- g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free); ++ g_list_free_full (list, (GDestroyNotify) gtk_tree_row_reference_free); + + g_signal_handlers_unblock_by_func (self->priv->browser, "view-selection-changed", self); + +-- +cgit v0.10.1 + diff --git a/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.12/core/tracker/default.nix new file mode 100644 index 00000000000..79155fe9b56 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.1"; + + src = fetchurl { + url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz"; + sha256 = "76e7918e62526a8209f9c9226f82abe592a6332826ac7c12e6e405063181e889"; + }; + + 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 : "${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/3.12/core/vino/default.nix b/pkgs/desktops/gnome-3/3.12/core/vino/default.nix new file mode 100644 index 00000000000..8580af9b884 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/vino/default.nix @@ -0,0 +1,31 @@ +{ stdenv, intltool, fetchurl, gtk3, glib, libsoup, pkgconfig, makeWrapper +, libnotify, file, telepathy_glib, dbus_glib }: + +stdenv.mkDerivation rec { + name = "vino-${versionMajor}.${versionMinor}"; + versionMajor = "3.12"; + versionMinor = "0"; + + src = fetchurl { + url = "mirror://gnome/sources/vino/${versionMajor}/${name}.tar.xz"; + sha256 = "86c9d8b60d79982e4488815db0d441c398e011ad8262659789afecc97a01ca5b"; + }; + + doCheck = true; + + buildInputs = [ gtk3 intltool glib libsoup pkgconfig libnotify + dbus_glib telepathy_glib file makeWrapper ]; + + preFixup = '' + wrapProgram "$out/libexec/vino-server" \ + --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" + ''; + + 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/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix new file mode 100644 index 00000000000..53ce47cca54 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }: + +stdenv.mkDerivation rec { + + versionMajor = "0.36"; + versionMinor = "2"; + moduleName = "vte"; + + name = "${moduleName}-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; + sha256 = "f45eed3aed823068c7563345ea947be0e6ddb3dacd74646e6d7d26a921e04345"; + }; + + buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ]; + + configureFlags = ''--enable-introspection''; + + meta = { + homepage = http://www.gnome.org/; + description = "A library implementing a terminal emulator widget for GTK+"; + longDescription = '' + VTE is a library (libvte) implementing a terminal emulator widget for + GTK+, and a minimal sample application (vte) using that. Vte is + mainly used in gnome-terminal, but can also be used to embed a + console/terminal in games, editors, IDEs, etc. VTE supports Unicode and + character set conversion, as well as emulating any terminal known to + the system's terminfo database. + ''; + license = "LGPLv2"; + maintainers = with stdenv.lib.maintainers; [ astsmtl antono ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/yelp-tools/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp-tools/default.nix new file mode 100644 index 00000000000..ba83380f86d --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/yelp-tools/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, libxml2, libxslt, itstool, gnome3, pkgconfig }: + +stdenv.mkDerivation rec { + name = "yelp-tools-3.12.1"; + + src = fetchurl { + url = "mirror://gnome/sources/yelp-tools/3.12/${name}.tar.xz"; + sha256 = "7a5370d7adbec3b6e6b7b5e7e5ed966cb99c797907a186b94b93c184e97f0172"; + }; + + 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/3.12/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix new file mode 100644 index 00000000000..0a5bc78af47 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/yelp-xsl/default.nix @@ -0,0 +1,23 @@ +{ stdenv, intltool, fetchurl, pkgconfig, bash +, itstool, libxml2, libxslt }: + +stdenv.mkDerivation rec { + name = "yelp-xsl-3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/yelp-xsl/3.12/${name}.tar.xz"; + sha256 = "dd0b8af338b1cdae50444273d7c761e3f511224421487311103edc95a4493656"; + }; + + 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/3.12/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.12/core/yelp/default.nix new file mode 100644 index 00000000000..d8897e262d5 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/yelp/3.12/${name}.tar.xz"; + sha256 = "0k2a1fggidmh98x2fv8zki2lbx7wx7p4b25iq11p6q8j9fwr2ff8"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + 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 + librsvg gdk_pixbuf gnome3.gnome_icon_theme + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.gsettings_desktop_schemas ]; + + preFixup = '' + wrapProgram "$out/bin/yelp" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${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/3.12/core/zenity/default.nix b/pkgs/desktops/gnome-3/3.12/core/zenity/default.nix new file mode 100644 index 00000000000..ca20bbc785d --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/zenity/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango +, gnome_doc_utils, intltool, libX11, which, itstool }: + +stdenv.mkDerivation rec { + + versionMajor = "3.12"; + versionMinor = "1"; + + name = "zenity-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/zenity/${versionMajor}/${name}.tar.xz"; + sha256 = "a59705cdd1ea5318fdae3075c1cedcbead479230e9bead204391566d973dae11"; + }; + + buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ]; + + nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/default.nix b/pkgs/desktops/gnome-3/3.12/default.nix new file mode 100644 index 00000000000..b33fad0e41e --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/default.nix @@ -0,0 +1,233 @@ +{ callPackage, pkgs }: + +rec { + inherit (pkgs) glib gtk2 gtk3 gnome2; + gnome3 = pkgs.gnome3_12 // { recurseForDerivations = false; }; + clutter = pkgs.clutter_1_18; + clutter_gtk = pkgs.clutter_gtk.override { inherit clutter; }; + clutter-gst = pkgs.clutter-gst.override { inherit clutter; }; + upower = pkgs.upower_99; + cogl = pkgs.cogl_1_18; + gtk = gtk3; # just to be sure + libcanberra = pkgs.libcanberra_gtk3; # just to be sure + inherit (pkgs.gnome2) ORBit2; + orbit = ORBit2; + inherit (pkgs) libsoup; + +#### Core (http://ftp.acc.umu.se/pub/GNOME/core/) + + at_spi2_atk = callPackage ./core/at-spi2-atk { }; + + 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 { }; + + gcr = callPackage ./core/gcr { }; # ToDo: tests fail + + gdm = callPackage ./core/gdm { }; + + gjs = callPackage ./core/gjs { }; + + glib_networking = pkgs.glib_networking.override { + inherit gsettings_desktop_schemas; + }; + + 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_desktop = callPackage ./core/gnome-desktop { }; + + 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-online-miners = callPackage ./core/gnome-online-miners { }; + + 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 { }; + + grilo-plugins = callPackage ./core/grilo-plugins { }; + + gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { }; + + gtksourceview = callPackage ./core/gtksourceview { }; + + gucharmap = callPackage ./core/gucharmap { }; + + gvfs = pkgs.gvfs.override { gnome = gnome3; }; + + eog = callPackage ./core/eog { }; + + libcroco = callPackage ./core/libcroco {}; + + libgee = callPackage ./core/libgee { }; + + libgdata = callPackage ./core/libgdata { }; + + libgxps = callPackage ./core/libgxps { }; + + libpeas = callPackage ./core/libpeas {}; + + libgweather = callPackage ./core/libgweather { }; + + libzapojit = callPackage ./core/libzapojit { }; + + mutter = callPackage ./core/mutter { }; + + nautilus = callPackage ./core/nautilus { }; + + networkmanager_openvpn = pkgs.networkmanager_openvpn.override { + inherit gnome3; + }; + + networkmanager_pptp = pkgs.networkmanager_pptp.override { + inherit gnome3; + }; + + networkmanager_vpnc = pkgs.networkmanager_vpnc.override { + inherit gnome3; + }; + + networkmanager_openconnect = pkgs.networkmanager_openconnect.override { + inherit gnome3; + }; + + networkmanagerapplet = pkgs.networkmanagerapplet.override { + inherit gnome3 gsettings_desktop_schemas glib_networking + networkmanager_openvpn networkmanager_pptp networkmanager_vpnc + networkmanager_openconnect; + }; + + 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 { }; + + +#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/) + + bijiben = callPackage ./apps/bijiben { }; + + evolution = callPackage ./apps/evolution { }; + + file-roller = callPackage ./apps/file-roller { }; + + gedit = callPackage ./apps/gedit { }; + + glade = callPackage ./apps/glade { }; + + gnome-clocks = callPackage ./apps/gnome-clocks { }; + + gnome-documents = callPackage ./apps/gnome-documents { }; + + gnome-music = callPackage ./apps/gnome-music { }; + + gnome-photos = callPackage ./apps/gnome-photos { }; + + nautilus-sendto = callPackage ./apps/nautilus-sendto { }; + + # scrollkeeper replacement + rarian = callPackage ./desktop/rarian { }; + + seahorse = callPackage ./apps/seahorse { }; + + +#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/ + + geary = callPackage ./misc/geary { }; + + gfbgraph = callPackage ./misc/gfbgraph { }; + + goffice = callPackage ./misc/goffice { }; + + gitg = callPackage ./misc/gitg { }; + + libgit2-glib = callPackage ./misc/libgit2-glib { }; + + libmediaart = callPackage ./misc/libmediaart { }; + + gexiv2 = callPackage ./misc/gexiv2 { }; + + gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { }; + + gtkhtml = callPackage ./misc/gtkhtml { }; +} diff --git a/pkgs/desktops/gnome-3/3.12/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/3.12/desktop/rarian/default.nix new file mode 100644 index 00000000000..a1b38b21869 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/desktop/rarian/default.nix @@ -0,0 +1,16 @@ +{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42}: + +stdenv.mkDerivation rec { + name = "rarian-0.8.1"; + src = fetchurl { + url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2"; + sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577"; + }; + + buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt]; + configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat"; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix new file mode 100644 index 00000000000..1eb6c0e3ed2 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/geary/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala +, makeWrapper, gdk_pixbuf, cmake, desktop_file_utils +, libnotify, libcanberra, libsecret, gmime +, libpthreadstubs, hicolor_icon_theme +, gnome3, librsvg, gnome_doc_utils, webkitgtk }: + +stdenv.mkDerivation rec { + name = "geary-0.6.0"; + + src = fetchurl { + url = "mirror://gnome/sources/geary/0.6/${name}.tar.xz"; + sha256 = "44ad1dc2c81c50006c751f8e72aa817f07002188da4c29e158060524a1962715"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ intltool pkgconfig gtk3 makeWrapper cmake desktop_file_utils gnome_doc_utils + vala webkitgtk libnotify libcanberra gnome3.libgee libsecret gmime + libpthreadstubs gnome3.gsettings_desktop_schemas hicolor_icon_theme + gdk_pixbuf librsvg gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ]; + + preConfigure = '' + substituteInPlace src/CMakeLists.txt --replace '`pkg-config --variable=girdir gobject-introspection-1.0`' '${webkitgtk}/share/gir-1.0' + ''; + + postInstall = '' + mkdir -p $out/share/gsettings-schemas/${name}/ + mv $out/share/glib-2.0 $out/share/gsettings-schemas/${name} + ''; + + preFixup = '' + wrapProgram "$out/bin/geary" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + ''; + + enableParallelBuilding = true; + + patches = [ ./disable_valadoc.patch ]; + patchFlags = "-p0"; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Geary; + description = "Mail client for GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/misc/geary/disable_valadoc.patch b/pkgs/desktops/gnome-3/3.12/misc/geary/disable_valadoc.patch new file mode 100644 index 00000000000..e65c0dea747 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/geary/disable_valadoc.patch @@ -0,0 +1,24 @@ +--- src/CMakeLists.txt.orig 2014-05-23 14:41:20.809160364 +0200 ++++ src/CMakeLists.txt 2014-05-23 14:41:29.240261581 +0200 +@@ -696,21 +696,6 @@ + ${CMAKE_COMMAND} -E copy geary-mailer ${CMAKE_BINARY_DIR}/ + ) + +-# Valadoc +-################################################# +-foreach(pkg ${ENGINE_PACKAGES}) +- list(APPEND valadoc_pkg_opts "--pkg=${pkg}") +-endforeach(pkg ${ENGINE_PACKAGES}) +- +-include(FindValadoc) +-add_custom_target( +- valadoc +- WORKING_DIRECTORY +- ${CMAKE_SOURCE_DIR}/src +- COMMAND +- ${VALADOC_EXECUTABLE} --force --no-protected -b ${CMAKE_CURRENT_SOURCE_DIR} -o ${CMAKE_SOURCE_DIR}/valadoc --package-name=geary --package-version=${VERSION} ${ENGINE_SRC} ${valadoc_pkg_opts} --vapidir=${CMAKE_SOURCE_DIR}/bindings/vapi +-) +- + ## Make clean: remove copied files + ################################################## + set_property( diff --git a/pkgs/desktops/gnome-3/3.12/misc/gexiv2/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gexiv2/default.nix new file mode 100644 index 00000000000..86942c13f34 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/misc/gfbgraph/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gfbgraph/default.nix new file mode 100644 index 00000000000..d36534f0d32 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/gfbgraph/default.nix @@ -0,0 +1,23 @@ +{ stdenv, intltool, fetchurl, pkgconfig, glib +, gnome3, libsoup, json_glib }: + +stdenv.mkDerivation rec { + name = "gfbgraph-0.2.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gfbgraph/0.2/${name}.tar.xz"; + sha256 = "66c7b1c951863565c179d0b4b5207f27b3b36f80afed9f6a9acfc5fc3ae775d4"; + }; + + buildInputs = [ pkgconfig glib gnome3.gnome_online_accounts ]; + propagatedBuildInputs = [ libsoup json_glib gnome3.rest ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "GLib/GObject wrapper for the Facebook Graph API"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix new file mode 100644 index 00000000000..7ca35a8255f --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, fetchgit, vala, intltool, libgit2, pkgconfig, gtk3, glib +, json_glib, webkitgtk, makeWrapper, libpeas, bash, gobjectIntrospection +, gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib, librsvg }: + +# TODO: icons and theme still does not work +# use packaged gnome3.gnome_icon_theme_symbolic + +stdenv.mkDerivation rec { + name = "gitg-0.3.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz"; + sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp"; + }; + + preCheck = '' + substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash" + ''; + doCheck = true; + + makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"; + + propagatedUserEnvPkgs = [ shared_mime_info + 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 librsvg + gobjectIntrospection makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ]; + + preFixup = '' + wrapProgram "$out/bin/gitg" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + rm $out/share/gitg/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Apps/Gitg; + description = "GNOME GUI client to view git repositories"; + maintainers = with maintainers; [ iElectric ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix new file mode 100644 index 00000000000..2eccb9a32cf --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/misc/gnome-tweak-tool/find_gsettings.patch b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/find_gsettings.patch new file mode 100644 index 00000000000..3e68c04cb3a --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/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/3.12/misc/goffice/0.8.nix b/pkgs/desktops/gnome-3/3.12/misc/goffice/0.8.nix new file mode 100644 index 00000000000..02520a9f121 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/goffice/0.8.nix @@ -0,0 +1,37 @@ +{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2 +, pango, libgsf, libxml2, libart, intltool, gettext +, cairo, gconf, libgnomeui, pcre, gnome3/*just meta*/ }: + +stdenv.mkDerivation rec { + name = "goffice-0.8.17"; + + src = fetchurl { + url = "mirror://gnome/sources/goffice/0.8/${name}.tar.xz"; + sha256 = "165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15"; + }; + + # fix linking error: undefined reference to pcre_info + patches = [ ./pcre_info.patch ]; # inspired by https://bugs.php.net/bug.php?id=60986 + + buildInputs = [ + pkgconfig libglade bzip2 libart intltool gettext + gconf libgnomeui pcre + ]; + + propagatedBuildInputs = [ + # All these are in the "Requires:" field of `libgoffice-0.6.pc'. + glib libgsf libxml2 gtk libglade libart cairo pango + ]; + + postInstall = + '' + # Get GnuCash to build. Might be unnecessary if we upgrade pkgconfig. + substituteInPlace $out/lib/pkgconfig/libgoffice-*.pc --replace Requires.private Requires + ''; + + doCheck = true; + + meta = gnome3.goffice.meta // { + maintainers = [ ]; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix b/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix new file mode 100644 index 00000000000..0390fc13368 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/goffice/default.nix @@ -0,0 +1,36 @@ +{ fetchurl, stdenv, pkgconfig, intltool, glib, gtk3 +, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }: + +stdenv.mkDerivation rec { + name = "goffice-0.10.12"; + + src = fetchurl { + url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz"; + sha256 = "0vh0sdig5n8sxzh4xx82lm8y8d0jcdhc2ipb1kq02qs142zs74ff"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + + propagatedBuildInputs = [ # ToDo lasem library for MathML, opt. introspection? + glib gtk3 libxml2 cairo pango libgsf + ]; + + buildInputs = [ libxslt librsvg ]; + + enableParallelBuilding = true; + doCheck = true; + + meta = { + description = "A Glib/GTK+ set of document centric objects and utilities"; + + longDescription = '' + There are common operations for document centric applications that are + conceptually simple, but complex to implement fully: plugins, load/save + documents, undo/redo. + ''; + + license = "GPLv2+"; + + platforms = stdenv.lib.platforms.gnu; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/misc/goffice/pcre_info.patch b/pkgs/desktops/gnome-3/3.12/misc/goffice/pcre_info.patch new file mode 100644 index 00000000000..cd4ef3c9fed --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/goffice/pcre_info.patch @@ -0,0 +1,13 @@ +diff --git a/goffice/utils/regutf8.c b/goffice/utils/regutf8.c +index bc4aae4..3adb696 100644 +--- a/goffice/utils/regutf8.c ++++ b/goffice/utils/regutf8.c +@@ -155,7 +155,7 @@ go_regcomp (GORegexp *gor, const char *pat, int cflags) + default: return GO_REG_BADPAT; + } + } else { +- gor->re_nsub = pcre_info (r, NULL, NULL); ++ gor->re_nsub = pcre_fullinfo (r, NULL, NULL, NULL); + gor->nosub = (cflags & GO_REG_NOSUB) != 0; + return 0; + } diff --git a/pkgs/desktops/gnome-3/3.12/misc/gtkhtml/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gtkhtml/default.nix new file mode 100644 index 00000000000..5e27b474cbd --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/gtkhtml/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, pkgconfig, gtk3, intltool +, gnome3, enchant, isocodes }: + +stdenv.mkDerivation rec { + name = "gtkhtml-4.6.6"; + + src = fetchurl { + url = "mirror://gnome/sources/gtkhtml/4.6/${name}.tar.xz"; + sha256 = "145d23bbe729ff4ee7e7027bb5ff405b34822271327fdd81fe913134831374cd"; + }; + + buildInputs = [ pkgconfig gtk3 intltool gnome3.gnome_icon_theme + gnome3.gsettings_desktop_schemas ]; + + propagatedBuildInputs = [ enchant isocodes ]; + +} diff --git a/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix new file mode 100644 index 00000000000..17c3b4fa0a8 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, gnome3, libtool, pkgconfig +, gtk_doc, gobjectIntrospection, libgit2, glib }: + +stdenv.mkDerivation rec { + name = "libgit2-glib-${version}"; + version = "0.0.10"; + + src = fetchurl { + url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz"; + sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs"; + }; + + configureScript = "sh ./autogen.sh"; + + buildInputs = [ gnome3.gnome_common libtool pkgconfig + gtk_doc gobjectIntrospection libgit2 glib ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/misc/libmediaart/default.nix b/pkgs/desktops/gnome-3/3.12/misc/libmediaart/default.nix new file mode 100644 index 00000000000..4985bfa902c --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/misc/libmediaart/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "libmediaart-0.4.0"; + + src = fetchurl { + url = "mirror://gnome/sources/libmediaart/0.4/${name}.tar.xz"; + sha256 = "e8ec92a642f4df7f988364f6451adf89e1611d7379a636d8c7eff4ca21a0fd1c"; + }; + + buildInputs = [ pkgconfig glib gdk_pixbuf ]; + + meta = with stdenv.lib; { + description = "Library tasked with managing, extracting and handling media art caches"; + 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 deleted file mode 100644 index 2a7f270300a..00000000000 --- a/pkgs/desktops/gnome-3/core/grilo/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ 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/kde-4.10/applications/kate.nix b/pkgs/desktops/kde-4.10/applications/kate.nix deleted file mode 100644 index e8efc87775a..00000000000 --- a/pkgs/desktops/kde-4.10/applications/kate.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4 }: - -kde { - - buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4]; - - meta = { - description = "Kate, the KDE Advanced Text Editor, as well as KWrite"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/applications/konsole.nix b/pkgs/desktops/kde-4.10/applications/konsole.nix deleted file mode 100644 index 0db47fb2d7c..00000000000 --- a/pkgs/desktops/kde-4.10/applications/konsole.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, kde_baseapps }: - -kde { - - buildInputs = [ kdelibs kde_baseapps ]; - - meta = { - description = "Konsole, the KDE terminal emulator"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/default.nix b/pkgs/desktops/kde-4.10/default.nix deleted file mode 100644 index feb6ed21409..00000000000 --- a/pkgs/desktops/kde-4.10/default.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.10.5" }: - -let - branch = "4.10"; - # 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" ]; - # 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 branch; - inherit (kde.manifest) stable; - }; -} diff --git a/pkgs/desktops/kde-4.10/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.10/files/kde-wallpapers-buildsystem.patch deleted file mode 100644 index 378cdb64694..00000000000 --- a/pkgs/desktops/kde-4.10/files/kde-wallpapers-buildsystem.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3d3e247..f78db67 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,10 @@ --find_package(KDE4 REQUIRED) --include(KDE4Defaults) -+project(kde-wallpapers NONE) -+if( WALLPAPER_INSTALL_DIR ) -+ message(STATUS "Installing wallpapers to user-supplied directory ${WALLPAPER_INSTALL_DIR}") -+else() -+ find_package(KDE4 REQUIRED) -+ include(KDE4Defaults) -+endif() - - install(DIRECTORY Air DESTINATION ${WALLPAPER_INSTALL_DIR} PATTERN .svn EXCLUDE) - diff --git a/pkgs/desktops/kde-4.10/files/polkit-install.patch b/pkgs/desktops/kde-4.10/files/polkit-install.patch deleted file mode 100644 index d2ecac663ec..00000000000 --- a/pkgs/desktops/kde-4.10/files/polkit-install.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake ---- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake 2011-05-20 22:24:54.000000000 +0200 -+++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake 2011-07-12 14:03:00.000000000 +0200 -@@ -139,7 +139,7 @@ - ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR - ${POLKITQT-1_POLICY_FILES_INSTALL_DIR}) - -- set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING -+ set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING - "Where policy files generated by KAuth will be installed" FORCE) - elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE") - set (KAUTH_COMPILING_FAKE_BACKEND TRUE) diff --git a/pkgs/desktops/kde-4.10/kactivities.nix b/pkgs/desktops/kde-4.10/kactivities.nix deleted file mode 100644 index 06381bb13d7..00000000000 --- a/pkgs/desktops/kde-4.10/kactivities.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, nepomuk_core }: - -kde { - propagatedBuildInputs = [ kdelibs nepomuk_core ]; - - meta = { - description = "KDE activities library and daemon"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kde-base-artwork.nix b/pkgs/desktops/kde-4.10/kde-base-artwork.nix deleted file mode 100644 index 3f416cebddc..00000000000 --- a/pkgs/desktops/kde-4.10/kde-base-artwork.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ kde, kdelibs }: - -kde { - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "0mrd3w7rhsj0v92c8rh9zjxyifq7wyvwszksf2gyn53dzd06blk8"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE Base artwork"; - license = "GPL"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.10/kde-baseapps/kde-baseapps.nix deleted file mode 100644 index b564e339eb1..00000000000 --- a/pkgs/desktops/kde-4.10/kde-baseapps/kde-baseapps.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, shared_desktop_ontologies, glib, htmlTidy, kactivities -, nepomuk_core, nepomuk_widgets, libXt }: - -kde { - buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ]; - - meta = { - description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser"; - license = "GPLv2"; - }; -} 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 b1abdb8afec..00000000000 --- 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-package/default.nix b/pkgs/desktops/kde-4.10/kde-package/default.nix deleted file mode 100644 index 9424a762c8f..00000000000 --- a/pkgs/desktops/kde-4.10/kde-package/default.nix +++ /dev/null @@ -1,129 +0,0 @@ -{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4 -, release, branch, ignoreList, extraSubpkgs -}: - -let - inherit (stdenv.lib) filter fold; - inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head; -in -rec { - manifest = import (./. + "/${release}.nix"); - - # src attribute for $name tarball - kdesrc = name: fetchurl { - url = "mirror://kde/" + (if manifest.stable then "" else "un") - + "stable/${release}/src/${name}-${release}.tar.xz"; - sha256 = getAttr name manifest.hashes; - }; - - # Default meta attribute - defMeta = { - homepage = http://www.kde.org; - inherit branch; - platforms = stdenv.lib.platforms.linux; - inherit (qt4.meta) maintainers; - }; - - # 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_, ...}: - stdenv.mkDerivation ({ - name = "${name}-${release}"; - src = kdesrc name; - meta = defMeta // meta; - enableParallelBuilding = true; - } // (removeAttrs a [ "meta" "name" ])); - - # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs - # API. - kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name; - - # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz - kdeSubdirPkg = module: - {name, subdir ? name, sane ? name}: - let name_ = name; in - a@{cmakeFlags ? [], name ? name_, meta ? {}, ...}: - stdenv.mkDerivation ({ - name = "${name}-${release}"; - src = kdesrc module; - cmakeFlags = - [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE" - "-DBUILD_doc=TRUE" - "-DBUILD_${subdir}=TRUE" - ] ++ cmakeFlags; - meta = defMeta // meta; - enableParallelBuilding = module.enableParallelBuilding or true; - } // (removeAttrs a [ "meta" "name" "cmakeFlags" ])); - - # A KDE monolithic module - kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; }; - - # Combine packages in one module. - # Arguments: - # * pkgFun --- a function of the following signature: - # module: manifest_attrs: manual_attrs: derivation; - # * module --- name of the module - # * pkgs --- list of packages in manifest format - combinePkgs = pkgFun: module: pkgs: - let - f = p@{name, ...}: - callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; }; - list = map f pkgs; - attrs = listToAttrs (map - ({name, sane ? name, ...}@p: { name = sane; value = f p; }) - pkgs); - in - runCommand "${module}-${release}" - ({passthru = attrs // { - propagatedUserEnvPackages = list; - projects = attrs; - };}) - '' - mkdir -pv $out/nix-support - echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages - ''; - - # Given manifest module data, return the module - kdeModule = { module, sane ? module, split, pkgs ? [] }: - let - pkgs_ = filterPkgs module pkgs; - in - # Module is splitted by upstream - if split then combinePkgs kdeSplittedPkg module pkgs_ - # Monolithic module - else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix") - # Module is splitted by us - else combinePkgs kdeSubdirPkg module pkgs_; - - # The same, as nameValuePair with sane name - kdeModuleNV = a@{ module, sane ? module, ... }: - { name = sane; value = kdeModule a; }; - - filterPkgs = module: (p: - removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p - ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs)); - - # Remove attrsets with x.name in subst. Optimized for empty subst. - removeNames = subst: big: - fold (s: out: filter (x: x.name != s) out) big subst; - - modules = listToAttrs (map kdeModuleNV manifest.modules); - - splittedModuleList = - let - splitted = filter (a: a ? pkgs) manifest.modules; - names = map ({module, sane ? module, ...}: sane) splitted; - in - map (m: m.projects) (stdenv.lib.attrVals names modules); - - individual = - stdenv.lib.zipAttrsWith - ( - name: list: - if tail list == [] - then head list - else abort "Multiple modules define ${name}" - ) - splittedModuleList; -} diff --git a/pkgs/desktops/kde-4.10/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.10/kde-package/kde-manifest.sh deleted file mode 100755 index e964ce3ddc1..00000000000 --- a/pkgs/desktops/kde-4.10/kde-package/kde-manifest.sh +++ /dev/null @@ -1,146 +0,0 @@ -#! /bin/sh - -# Usage: download kde release to $dir, then run -# $0 $dir - -dir="$1" - -# Detect release number & whether it is a stable release -if [[ ! -d "${dir}" ]]; then - echo "${dir} is not a directory (or doesn't exist)!" >&2 - exit 1 -fi - -release=$(ls "${dir}"/kdelibs-*.tar.xz | \ - sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//') - -if [[ ${release##*.} -gt 50 ]]; then - stable="false" -else - stable="true" -fi - -echo "Detected release ${release}" >&2 - -declare -A hash -declare -A modules -declare -a packages -declare -a top_level - -# xsltproc output declares -A module -if [[ ! -f kde_projects.xml ]]; then - curl -O -J http://projects.kde.org/kde_projects.xml -fi -eval `xsltproc kde-submodules.xslt kde_projects.xml` - -module[kde-baseapps]=kde-baseapps -unset module[kactivities] - -print_sane() { - echo "Called print_sane $1" >&2 - sane="${1//[^a-z0-9_]/_}" - if [[ "$sane" != "$1" ]]; then - echo "Sane version is $sane" >&2 - echo -n "sane=\"$sane\";" - fi -} - -for i in `cd "${dir}"; ls *-${release}.tar.xz`; do - package=${i%-${release}.tar.xz} - packages+=( "$package" ) - echo -n "${package}.. " >&2 - hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}") - echo -n ${hash[$package]} >&2 - - if [ -n "${module[$package]}" ]; then - m="${module[$package]}" - echo " (${m})" >&2 - modules[$m]=1 - else - top_level+=( "$package" ) - echo " (top-level)" >&2 - fi - #nix-store --add-fixed sha256 "${dir}/${i}" >&2 -done - - -print_pkg_hash() { - echo " {name=\"${1}\";value=\"${hash[$1]}\";}" -} - -print_hashes(){ - echo "hashes=builtins.listToAttrs[" - for p in "${packages[@]}"; do print_pkg_hash "$p"; done - echo "];" -} - -print_split_module(){ - echo -n "$1:" >&2 - echo -e "{\n module=\"$1\";" - print_sane "$1" - echo " split=true;" - echo " pkgs=[" - for p in "${packages[@]}"; do - if [[ "${module[$p]}" == "$1" ]]; then - echo -n " { name=\"$p\"; " - print_sane "$p" - echo " }" - echo -n " $p" >&2 - fi - done - echo " ];" - echo "}" - echo >&2 -} - -print_mono_module(){ - echo -en "{ module=\"$1\"; " - print_sane "$1" - echo -n "$1 ... " >&2 - echo -n " split=false;" - cml="$1-$release/CMakeLists.txt" - tar -xf "${dir}/$1-${release}.tar.xz" "$cml" - if grep '^[^#]*add_subdirectory' $cml >/dev/null; then - if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then - echo " is monolithic (has unconditionally added subdirs)" >&2 - else - subdirs=( `grep '^[^#]*add_subdirectory' $cml | - sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' | - grep -v '\(doc\|cmake\)'` ) - echo " seems splittable, subdirs: ${subdirs[*]}" >&2 - echo -e "\n pkgs=[" - for s in "${subdirs[@]}"; do - echo -en " {" - echo -n " name=\"${s//\//-}\"; " - print_sane "$s" - if [[ $s != "${s//\//-}" ]]; then - echo -n "subdir=\"$s\"; " - fi - echo "}" - done - echo -e " ];\n" - fi - else - echo " is monolithic (has no subdirs)" >&2 - fi - rm $cml - rmdir $1-$release - echo "}" -} - -print_modules(){ - echo "modules=[" - echo "Printing modules splitted by upstream" >&2 - for m in "${!modules[@]}"; do print_split_module "$m"; done - echo >&2 - echo "Printing modules not splitted by upstream (${top_level[*]})" >&2 - for m in "${top_level[@]}"; do print_mono_module "$m"; done - echo "];" -} - -echo "Writing ${release}.nix" >&2 -exec > "${release}.nix" -echo "{stable=${stable};" -print_hashes -print_modules -echo "}" diff --git a/pkgs/desktops/kde-4.10/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.10/kde-package/kde-submodules.xslt deleted file mode 100644 index 952a05a9d27..00000000000 --- a/pkgs/desktops/kde-4.10/kde-package/kde-submodules.xslt +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - declare -A module - - - - module[" - - "]=" - - " - - - - - diff --git a/pkgs/desktops/kde-4.10/kde-runtime.nix b/pkgs/desktops/kde-4.10/kde-runtime.nix deleted file mode 100644 index a2fef65d75c..00000000000 --- a/pkgs/desktops/kde-4.10/kde-runtime.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ 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 { - buildInputs = [ - kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack - qca2 samba libcanberra pulseaudio - networkmanager kactivities kdepimlibs openexr -#todo: add openslp - ]; - - nativeBuildInputs = [ pkgconfig ]; - - NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR"; - - passthru.propagatedUserEnvPackages = [ virtuoso ]; - - meta = { - license = "LGPL"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kde-wallpapers.nix b/pkgs/desktops/kde-4.10/kde-wallpapers.nix deleted file mode 100644 index 6e559ad8a6c..00000000000 --- a/pkgs/desktops/kde-4.10/kde-wallpapers.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ kde, cmake }: - -kde { - nativeBuildInputs = [ cmake ]; - - patches = [ ./files/kde-wallpapers-buildsystem.patch ]; - - cmakeFlags = "-DWALLPAPER_INSTALL_DIR=share/wallpapers"; - - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "01k4rr7xkay5j0g8qwmfmvf4d0rjc9sdk121wravsagbidz3s9ci"; - - meta = { - description = "Wallpapers for KDE"; - }; -} 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 57b2fea79b2..00000000000 --- a/pkgs/desktops/kde-4.10/kde-workspace.nix +++ /dev/null @@ -1,45 +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, - fetchurl -}: - -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 - ]; - - patches = [(fetchurl { - url = "https://git.reviewboard.kde.org/r/111261/diff/raw/"; - sha256 = "0g8qjna1s0imz7801k4iy2ap5z81izi4bncvks7z3n9agji4zf40"; - name = "CVE-2013-4132.patch"; - })]; - - 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.10/kdeaccessibility/jovie.nix deleted file mode 100644 index d38c80c4c36..00000000000 --- a/pkgs/desktops/kde-4.10/kdeaccessibility/jovie.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, speechd }: - -kde { - buildInputs = [ kdelibs speechd ]; - - meta = { - description = "Text-to-speech synthesis daemon"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.10/kdeaccessibility/kaccessible.nix deleted file mode 100644 index 98fae7c983f..00000000000 --- a/pkgs/desktops/kde-4.10/kdeaccessibility/kaccessible.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, speechd }: - -kde { - buildInputs = [ kdelibs speechd ]; - - meta = { - description = "Bridge that provides accessibility services to applications"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.10/kdeaccessibility/kmag.nix deleted file mode 100644 index 606c61cddb6..00000000000 --- a/pkgs/desktops/kde-4.10/kdeaccessibility/kmag.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { -#todo: package qaccessibilityclient - buildInputs = [ kdelibs ]; - - meta = { - description = "Screen magnifier for KDE"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.10/kdeaccessibility/kmousetool.nix deleted file mode 100644 index 8e0caa76ed9..00000000000 --- a/pkgs/desktops/kde-4.10/kdeaccessibility/kmousetool.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libXtst, libXt }: - -kde { - buildInputs = [ kdelibs libXtst libXt ]; - - meta = { - description = "A program that clicks the mouse for you"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.10/kdeaccessibility/kmouth.nix deleted file mode 100644 index 4159501967c..00000000000 --- a/pkgs/desktops/kde-4.10/kdeaccessibility/kmouth.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A type-and-say front end for speech synthesizers"; - }; -} 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 bada0c1cb10..00000000000 --- 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 bada0c1cb10..00000000000 --- 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 571674a461a..00000000000 --- 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/ColorSchemes.nix b/pkgs/desktops/kde-4.10/kdeartwork/ColorSchemes.nix deleted file mode 100644 index acccf66976f..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/ColorSchemes.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde { - name = "kde-color-schemes"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE color schemes"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.10/kdeartwork/FindXscreensaver.cmake deleted file mode 100644 index 499ed75268e..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/FindXscreensaver.cmake +++ /dev/null @@ -1,73 +0,0 @@ -#Macro to find xscreensaver directory - -# Copyright (c) 2006, Laurent Montel, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -if (NOT XSCREENSAVER_FOUND) - FIND_PATH(XSCREENSAVER_DIR deco - HINTS - ${KDE4_INCLUDE_DIR} - PATHS - /usr - /usr/local - /opt/local - /usr/X11R6 - /opt/kde - /opt/kde3 - /usr/kde - /usr/local/kde - /usr/local/xscreensaver - /usr/openwin/lib/xscreensaver - /etc - PATH_SUFFIXES - lib${LIB_SUFFIX}/xscreensaver - lib${LIB_SUFFIX}/misc/xscreensaver - lib/xscreensaver - lib64/xscreensaver - lib/misc/xscreensaver - libexec/xscreensaver - bin/xscreensaver-hacks - hacks) - message(STATUS "XSCREENSAVER_DIR <${XSCREENSAVER_DIR}>") - - FIND_PATH(XSCREENSAVER_CONFIG_DIR deco.xml - PATHS - ${KDE4_INCLUDE_DIR} - /usr/ - /usr/local/ - /opt/local/ - /usr/X11R6/ - /opt/kde/ - /opt/kde3/ - /usr/kde/ - /usr/local/kde/ - /usr/openwin/lib/xscreensaver/ - /etc/ - PATH_SUFFIXES xscreensaver xscreensaver/config share/xscreensaver/config - ) - MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>") - -endif(NOT XSCREENSAVER_FOUND) - -#MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>") -#MESSAGE(STATUS "XSCREENSAVER_DIR :<${XSCREENSAVER_DIR}>") - -# Need to fix hack -if(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR) - set(XSCREENSAVER_FOUND TRUE) -endif(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR) - -if (XSCREENSAVER_FOUND) - if (NOT Xscreensaver_FIND_QUIETLY) - message(STATUS "Found XSCREENSAVER_CONFIG_DIR <${XSCREENSAVER_CONFIG_DIR}>") - endif (NOT Xscreensaver_FIND_QUIETLY) -else (XSCREENSAVER_FOUND) - if (Xscreensaver_FIND_REQUIRED) - message(FATAL_ERROR "XScreenSaver not found") - endif (Xscreensaver_FIND_REQUIRED) -endif (XSCREENSAVER_FOUND) - - -MARK_AS_ADVANCED(XSCREENSAVER_DIR XSCREENSAVER_CONFIG_DIR) diff --git a/pkgs/desktops/kde-4.10/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.10/kdeartwork/HighResolutionWallpapers.nix deleted file mode 100644 index edffca1562e..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/HighResolutionWallpapers.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde rec { - name = "kde-wallpapers-high-resolution"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE wallpapers in high resolution"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.10/kdeartwork/IconThemes.nix deleted file mode 100644 index 43071e8bd14..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/IconThemes.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs }: - -kde { - name = "kdeartwork-icon-themes"; - - # Sources contain primary and kdeclassic as well but they're not installed - - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE nuvola and mono icon themes"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.10/kdeartwork/WeatherWallpapers.nix deleted file mode 100644 index 947e5e17ab0..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/WeatherWallpapers.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde rec { - name = "kde-weather-wallpapers"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE wallpapers (weather)"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.10/kdeartwork/desktopthemes.nix deleted file mode 100644 index 93dd361af73..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/desktopthemes.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde { - name = "kde-desktop-themes"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE desktop themes"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.10/kdeartwork/emoticons.nix deleted file mode 100644 index 5ef9f78a719..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/emoticons.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde { - name = "kde-emotion-icons"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE emotion icons (smiles)"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.10/kdeartwork/kscreensaver.nix deleted file mode 100644 index 7028b9db228..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/kscreensaver.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, kdelibs, xscreensaver, kde_workspace, eigen, libkexiv2, libXt, pkgconfig }: - -kde { - buildInputs = [ kdelibs xscreensaver kde_workspace eigen libkexiv2 libXt ]; - - nativeBuildInputs = [ pkgconfig ]; - - preConfigure = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake"; - - cmakeFlags = [ "-DBUILD_asciiquarium:BOOL=ON" ]; - - meta = { - description = "KDE screensavers"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.10/kdeartwork/kwin-styles.nix deleted file mode 100644 index b5d769b216d..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/kwin-styles.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, kde_workspace }: - -kde { - buildInputs = [ kdelibs kde_workspace ]; - - meta = { - description = "Styles for KWin"; - }; -} 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 e98705da889..00000000000 --- 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/kdeartwork/styles.nix b/pkgs/desktops/kde-4.10/kdeartwork/styles.nix deleted file mode 100644 index 6a1306c3710..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/styles.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde rec { - name = "kde-style-phase"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Phase, a widget style for KDE"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.10/kdeartwork/wallpapers.nix deleted file mode 100644 index 7c9846fbf9e..00000000000 --- a/pkgs/desktops/kde-4.10/kdeartwork/wallpapers.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde rec { - name = "kdeartwork-wallpapers"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE wallpapers"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.10/kdebindings/perlqt.nix deleted file mode 100644 index 689223e3148..00000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/perlqt.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, cmake, smokeqt, perl }: - -kde { -#todo: qscintilla2, qwt5 - buildInputs = [ smokeqt perl ]; - nativeBuildInputs = [ cmake ]; - - meta = { - description = "Perl bindings for Qt library"; - }; -} 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 e7a7cb4c661..00000000000 --- 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/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.10/kdebindings/pykde4.nix deleted file mode 100644 index 7f6973c054b..00000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/pykde4.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies, - polkit_qt_1, boost, lndir, pkgconfig }: - -let pydir = "lib/python${python.majorVersion}"; in - -kde { - - # todo: polkit isn't found by the build system - - buildInputs = [ - python kdepimlibs shared_desktop_ontologies - boost polkit_qt_1 pkgconfig - ]; - - propagatedBuildInputs = [ pyqt4 sip ]; - -# patches = [ ./pykde4-hardcode-lib-python.patch ]; -# cmakeFlags = "-DHARDCODE_LIB_PYTHON_PATH=ON "; - - preConfigure = - '' - # Symlink PyQt into PyKDE. This is necessary because PyQt looks - # in its PyQt4/uic/widget-plugins directory for plugins, and KDE - # needs to install a plugin. - mkdir -pv $out/${pydir} - ${lndir}/bin/lndir ${pyqt4}/${pydir} $out/${pydir} - cmakeFlagsArray=( "-DSIP_DEFAULT_SIP_DIR=$prefix/share/sip" ) - ''; - - 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.10/kdebindings/qtruby-install-prefix.patch deleted file mode 100644 index bd95a0d8bd3..00000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/qtruby-install-prefix.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 33078b4..30aec0e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -31,8 +31,8 @@ if (NOT COMPILE_RUBY) - return() - endif (NOT COMPILE_RUBY) - --SET(CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR} CACHE DIR "custom installation directory for ruby binary extension" ) --SET(CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR} CACHE DIR "custom installation directory for ruby extension" ) -+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR}) -+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR}) - - # compute an overall version number which can be compared at once - MATH(EXPR RUBY_VERSION_NUMBER "${RUBY_VERSION_MAJOR}*10000 + ${RUBY_VERSION_MINOR}*100 + ${RUBY_VERSION_PATCH}") diff --git a/pkgs/desktops/kde-4.10/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.10/kdebindings/qtruby.nix deleted file mode 100644 index 18a3703426c..00000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/qtruby.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, cmake, smokeqt, ruby }: - -kde { -#todo: scintilla2, qwt5 - buildInputs = [ smokeqt ruby ]; - nativeBuildInputs = [ cmake ]; - - patches = [ ./qtruby-install-prefix.patch ]; - - cmakeFlags="-DRUBY_ROOT_DIR=${ruby}"; - - meta = { - description = "Ruby bindings for Qt library"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch deleted file mode 100644 index 33ec3df6452..00000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/smokegen-CMakeLists.txt-nix.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- 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 -@@ -36,6 +36,10 @@ - set (CMAKE_SKIP_BUILD_RPATH FALSE) - set (CMAKE_SKIP_RPATH FALSE) - -+# add the automatically determined parts of the RPATH -+# which point to directories outside the build tree to the install RPATH -+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) -+ - configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY ) - - add_executable(smokegen ${generator_SRC}) - diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch b/pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch deleted file mode 100644 index 53257e836e0..00000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/smokegen-SmokeConfig.cmake.in-nix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -urN smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in smokegen-4.10.5/cmake/SmokeConfig.cmake.in ---- smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in 2013-06-28 17:14:50.000000000 +0000 -+++ smokegen-4.10.5/cmake/SmokeConfig.cmake.in 2013-07-30 21:26:33.000000000 +0000 -@@ -80,8 +80,7 @@ - set(SMOKE_API_BIN "@SMOKE_API_BIN@") - - find_library(SMOKE_BASE_LIBRARY smokebase -- PATHS "@SMOKE_LIBRARY_PREFIX@" -- NO_DEFAULT_PATH) -+ PATHS "@SMOKE_LIBRARY_PREFIX@") - - if (NOT SMOKE_BASE_LIBRARY) - if (Smoke_FIND_REQUIRED) diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.10/kdebindings/smokegen.nix deleted file mode 100644 index 0a3f2a85efa..00000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/smokegen.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, qt4, cmake }: - -kde { - buildInputs = [ qt4 ]; - nativeBuildInputs = [ cmake ]; - - patches = [ ./smokegen-SmokeConfig.cmake.in-nix.patch ./smokegen-CMakeLists.txt-nix.patch ]; - - meta = { - description = "C++ parser used to generate language bindings for Qt/KDE"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.10/kdebindings/smokekde.nix deleted file mode 100644 index d129686b2de..00000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/smokekde.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ kde, cmake, smokeqt, kdelibs, akonadi, kdepimlibs, okular -, shared_desktop_ontologies, attica }: - -kde { - # 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"; - meta = { - description = "SMOKE bindings for kdelibs"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix deleted file mode 100644 index e95b686aee2..00000000000 --- a/pkgs/desktops/kde-4.10/kdebindings/smokeqt.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, qt4, cmake, phonon, qimageblitz, smokegen }: - -kde { -#todo: Qwt5, QScintilla2 - propagatedBuildInputs = [ qt4 phonon qimageblitz ]; - nativeBuildInputs = [ cmake ]; - propagatedNativeBuildInputs = [ smokegen ]; - - meta = { - description = "C++ parser used to generate language bindings for Qt/KDE"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/analitza.nix b/pkgs/desktops/kde-4.10/kdeedu/analitza.nix deleted file mode 100644 index 74c3a1ebb20..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/analitza.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, readline }: -kde { - buildInputs = [ kdelibs readline ]; - - meta = { - description = "Library part of KAlgebra"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/blinken.nix b/pkgs/desktops/kde-4.10/kdeedu/blinken.nix deleted file mode 100644 index cdf9728833c..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/blinken.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Memory Enhancement Game"; - }; -} 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 4563012ac67..00000000000 --- 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/kalgebra.nix b/pkgs/desktops/kde-4.10/kdeedu/kalgebra.nix deleted file mode 100644 index 3675c3a225f..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kalgebra.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, libkdeedu, analitza }: -kde { - buildInputs = [ kdelibs libkdeedu analitza ]; - - meta = { - description = "2D and 3D Graph Calculator"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.10/kdeedu/kalzium.nix deleted file mode 100644 index 78fa8119583..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kalzium.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, facile, ocaml, eigen, openbabel, avogadro, pkgconfig }: -kde { -#todo:chemical mime data - buildInputs = [ kdelibs facile ocaml eigen openbabel avogadro ]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "Periodic Table of Elements"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.10/kdeedu/kanagram.nix deleted file mode 100644 index 8759c96d78c..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kanagram.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, libkdeedu }: -kde { - buildInputs = [ kdelibs libkdeedu ]; - - meta = { - description = "Letter Order Game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.10/kdeedu/kbruch.nix deleted file mode 100644 index dc50f1e85a3..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kbruch.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Practice Fractions"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.10/kdeedu/kgeography.nix deleted file mode 100644 index bd8d27c8d6e..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kgeography.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Geography Trainer"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/khangman.nix b/pkgs/desktops/kde-4.10/kdeedu/khangman.nix deleted file mode 100644 index 997b50e906a..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/khangman.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, libkdeedu }: -kde { - buildInputs = [ kdelibs libkdeedu ]; - - meta = { - description = "KDE hangman game"; - }; -} 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 bd5ef67529c..00000000000 --- 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/kdeedu/kiten.nix b/pkgs/desktops/kde-4.10/kdeedu/kiten.nix deleted file mode 100644 index 939b7a9f77a..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kiten.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Japanese Reference/Study Tool"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/klettres.nix b/pkgs/desktops/kde-4.10/kdeedu/klettres.nix deleted file mode 100644 index 7a0fa83078e..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/klettres.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A KDE alphabet tutorial"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.10/kdeedu/kmplot.nix deleted file mode 100644 index 18458cf6f0b..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kmplot.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - 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.10/kdeedu/kstars.nix deleted file mode 100644 index ce0a13b969d..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kstars.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, eigen, xplanet, indilib }: - -kde { -#todo:wcslib - buildInputs = [ kdelibs eigen xplanet indilib ]; - - meta = { - description = "A KDE graphical desktop planetarium"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.10/kdeedu/ktouch.nix deleted file mode 100644 index 9e606adde33..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/ktouch.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libxkbfile }: - -kde { - buildInputs = [ kdelibs libxkbfile ]; - - meta = { - description = "Touch Typing Tutor"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.10/kdeedu/kturtle.nix deleted file mode 100644 index 1e1922b1410..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kturtle.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Educational Programming Environment"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.10/kdeedu/kwordquiz.nix deleted file mode 100644 index 1b33ba2e469..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/kwordquiz.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libkdeedu }: - -kde { - buildInputs = [ kdelibs libkdeedu ]; - - meta = { - description = "Flash Card Trainer"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.10/kdeedu/libkdeedu.nix deleted file mode 100644 index def6c85fefe..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/libkdeedu.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Libraries used by KDE Education applications"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/marble.nix b/pkgs/desktops/kde-4.10/kdeedu/marble.nix deleted file mode 100644 index 4f73472f631..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/marble.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, gpsd }: - -kde { -#todo: package QextSerialPort, libshp(shapelib), QtMobility, QtLocation, libwlocate - buildInputs = [ kdelibs gpsd ]; - - meta = { - description = "Marble Virtual Globe"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/pairs.nix b/pkgs/desktops/kde-4.10/kdeedu/pairs.nix deleted file mode 100644 index 36c4aba9604..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/pairs.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A memory and pairs game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/parley.nix b/pkgs/desktops/kde-4.10/kdeedu/parley.nix deleted file mode 100644 index f9f86dde150..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/parley.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libkdeedu, attica }: - -kde { - buildInputs = [ kdelibs libkdeedu attica ]; - - meta = { - description = "Vocabulary Trainer"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/rocs.nix b/pkgs/desktops/kde-4.10/kdeedu/rocs.nix deleted file mode 100644 index 91976b84001..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/rocs.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ kde, kdelibs, boost }: - -kde { - buildInputs = [ kdelibs (boost.override { enableExceptions = true; }) ]; - - NIX_CFLAGS_COMPILE = "-fexceptions"; - - meta = { - description = "A KDE graph theory viewer"; - kde = { - name = "rocs"; - }; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeedu/step.nix b/pkgs/desktops/kde-4.10/kdeedu/step.nix deleted file mode 100644 index fac9974baf1..00000000000 --- a/pkgs/desktops/kde-4.10/kdeedu/step.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ kde, kdelibs, gsl, libqalculate, eigen }: - -kde { - buildInputs = [ kdelibs gsl libqalculate eigen ]; - - 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.10/kdegames/bomber.nix deleted file mode 100644 index 026227910f2..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/bomber.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a single player arcade game. The player is invading various cities in a plane that is decreasing in height"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/bovo.nix b/pkgs/desktops/kde-4.10/kdegames/bovo.nix deleted file mode 100644 index b0e7d99c589..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/bovo.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a Gomoku (from Japanese 五目並べ - lit. \"five points\") like game for two players, where the opponents alternate in placing their respective pictogram on the game board"; - }; - -} diff --git a/pkgs/desktops/kde-4.10/kdegames/granatier.nix b/pkgs/desktops/kde-4.10/kdegames/granatier.nix deleted file mode 100644 index 9f1ab005309..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/granatier.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a clone of the classic Bomberman game, inspired by the work of the Clanbomber clone"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kajongg.nix b/pkgs/desktops/kde-4.10/kdegames/kajongg.nix deleted file mode 100644 index 9a6f5e83695..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kajongg.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs, libkdegames, pythonPackages, sqlite, pykde4 }: -kde rec { - - buildInputs = [ kdelibs libkdegames pythonPackages.python pythonPackages.wrapPython sqlite ] ++ pythonPath; - - pythonPath = [ pythonPackages.twisted pykde4 ]; - - postInstall = "wrapPythonPrograms"; - - meta = { - description = "an ancient Chinese board game for 4 players"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kapman.nix b/pkgs/desktops/kde-4.10/kdegames/kapman.nix deleted file mode 100644 index f10e099da3c..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kapman.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a clone of the well known game Pac-Man"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/katomic.nix b/pkgs/desktops/kde-4.10/kdegames/katomic.nix deleted file mode 100644 index a9936c04f0e..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/katomic.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a fun and educational puzzle game built around molecular geometry"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.10/kdegames/kblackbox.nix deleted file mode 100644 index 27eeff2f65b..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kblackbox.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a game of hide and seek played on an grid of boxes, where the player shoots rays into the grid to deduce the positions of hidden objects"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kblocks.nix b/pkgs/desktops/kde-4.10/kdegames/kblocks.nix deleted file mode 100644 index 98cf068de09..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kblocks.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a classic single player falling blocks puzzle game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kbounce.nix b/pkgs/desktops/kde-4.10/kdegames/kbounce.nix deleted file mode 100644 index 77fa0db6352..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kbounce.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a single player arcade game with the elements of puzzle"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.10/kdegames/kbreakout.nix deleted file mode 100644 index 3a484d919bb..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kbreakout.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a Breakout-like game. Its object is to destroy as many bricks as possible without losing the ball"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.10/kdegames/kdiamond.nix deleted file mode 100644 index 06dfcee5ac3..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kdiamond.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a single player puzzle game. The object of the game is to build lines of three similar diamonds"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.10/kdegames/kfourinline.nix deleted file mode 100644 index 11b8838e708..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kfourinline.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a board game for two players based on the Connect-Four game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.10/kdegames/kgoldrunner.nix deleted file mode 100644 index 6217c47a806..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kgoldrunner.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "an action game where the hero runs through a maze, climbs stairs, dig holes and dodges enemies in order to collect all the gold nuggets and escape to the next level"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kigo.nix b/pkgs/desktops/kde-4.10/kdegames/kigo.nix deleted file mode 100644 index 32eee67cc1e..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kigo.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "an open-source implementation of the popular Go game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/killbots.nix b/pkgs/desktops/kde-4.10/kdegames/killbots.nix deleted file mode 100644 index d9c1472495e..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/killbots.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple game of evading killer robots"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kiriki.nix b/pkgs/desktops/kde-4.10/kdegames/kiriki.nix deleted file mode 100644 index 72f7ab67501..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kiriki.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "an addictive and fun dice game, designed to be played by as many as six players"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.10/kdegames/kjumpingcube.nix deleted file mode 100644 index a6d22cff51c..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kjumpingcube.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple dice driven tactical game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/klickety.nix b/pkgs/desktops/kde-4.10/kdegames/klickety.nix deleted file mode 100644 index b592bc40641..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/klickety.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a puzzle game where the player removes groups of colored marbles to clear the board"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/klines.nix b/pkgs/desktops/kde-4.10/kdegames/klines.nix deleted file mode 100644 index 90952fe91c0..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/klines.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple but highly addictive one player game. The player has to move the colored balls around the game board, gathering them into the lines of the same color by five"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.10/kdegames/kmahjongg.nix deleted file mode 100644 index 946b531ff12..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kmahjongg.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames, libkmahjongg }: -kde { - buildInputs = [ kdelibs libkdegames libkmahjongg ]; - meta = { - description = "the tiles are scrambled and staked on top of each other to resemble a certain shape. The player is then expected to remove all the tiles off the game board by locating each tile's matching pair"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kmines.nix b/pkgs/desktops/kde-4.10/kdegames/kmines.nix deleted file mode 100644 index 538454e9598..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kmines.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a classic Minesweeper game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.10/kdegames/knavalbattle.nix deleted file mode 100644 index 42ffd2fcb4d..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/knavalbattle.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a Battle Ship game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.10/kdegames/knetwalk.nix deleted file mode 100644 index a16e578ce84..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/knetwalk.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a small game where you have to build up a computer network by rotating the wires to connect the terminals to the server"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kolf.nix b/pkgs/desktops/kde-4.10/kdegames/kolf.nix deleted file mode 100644 index 78815ee5799..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kolf.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a miniature golf game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kollision.nix b/pkgs/desktops/kde-4.10/kdegames/kollision.nix deleted file mode 100644 index 3147c7305ea..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kollision.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple ball dodging game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/konquest.nix b/pkgs/desktops/kde-4.10/kdegames/konquest.nix deleted file mode 100644 index 53ddd64928c..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/konquest.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "the KDE version of Gnu-Lactic Konquest"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kpat.nix b/pkgs/desktops/kde-4.10/kdegames/kpat.nix deleted file mode 100644 index f8d9bad36dc..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kpat.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a relaxing card sorting game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kreversi.nix b/pkgs/desktops/kde-4.10/kdegames/kreversi.nix deleted file mode 100644 index 2aed981428e..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kreversi.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple one player strategy game played against the computer. If a player's piece is captured by an opposing player, that piece is turned over to reveal the color of that player"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kshisen.nix b/pkgs/desktops/kde-4.10/kdegames/kshisen.nix deleted file mode 100644 index 9c888034038..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kshisen.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames, libkmahjongg }: -kde { - buildInputs = [ kdelibs libkdegames libkmahjongg ]; - meta = { - description = "a solitaire-like game played using the standard set of Mahjong tiles"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/ksirk.nix b/pkgs/desktops/kde-4.10/kdegames/ksirk.nix deleted file mode 100644 index 767eb67971a..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/ksirk.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames, qca2 }: -kde { - buildInputs = [ kdelibs libkdegames qca2 ]; - meta = { - description = "a computerized version of the well known strategic board game Risk"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.10/kdegames/ksnakeduel.nix deleted file mode 100644 index ccf1fb551e9..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/ksnakeduel.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple Tron-Clone"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.10/kdegames/kspaceduel.nix deleted file mode 100644 index 5285f7916ca..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kspaceduel.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "each of two possible players control a satellite spaceship orbiting the sun. As the game progresses players have to eliminate the opponent's spacecraft with bullets or mines"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/ksquares.nix b/pkgs/desktops/kde-4.10/kdegames/ksquares.nix deleted file mode 100644 index a17be2da632..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/ksquares.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a game modeled after the well known pen and paper based game of Dots and Boxes"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.10/kdegames/ksudoku.nix deleted file mode 100644 index ea4e13a5e4f..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/ksudoku.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a logic-based symbol placement puzzle"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.10/kdegames/ktuberling.nix deleted file mode 100644 index 1a6ba9d653c..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/ktuberling.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple constructor game suitable for children and adults alike"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/kubrick.nix b/pkgs/desktops/kde-4.10/kdegames/kubrick.nix deleted file mode 100644 index 9bdc6879db4..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/kubrick.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a game based on the Rubik's Cube™ puzzle"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.10/kdegames/libkdegames.nix deleted file mode 100644 index 3819dcdc9ae..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/libkdegames.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, openal, libsndfile }: -kde { - buildInputs = [ kdelibs openal libsndfile ]; - meta = { - description = "KDE games library"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.10/kdegames/libkmahjongg.nix deleted file mode 100644 index 383b347dc33..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/libkmahjongg.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a library for KMahjongg game"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/lskat.nix b/pkgs/desktops/kde-4.10/kdegames/lskat.nix deleted file mode 100644 index 2a5050cd667..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/lskat.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a fun and engaging card game for two players, where the second player is either live opponent, or a built in artificial intelligence"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegames/palapeli.nix b/pkgs/desktops/kde-4.10/kdegames/palapeli.nix deleted file mode 100644 index 555ffe43c45..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/palapeli.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { -#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.10/kdegames/picmi.nix deleted file mode 100644 index 165d7422f95..00000000000 --- a/pkgs/desktops/kde-4.10/kdegames/picmi.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a single player logic-based puzzle game"; - }; -} 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 00910ab9d46..00000000000 --- 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/kamera.nix b/pkgs/desktops/kde-4.10/kdegraphics/kamera.nix deleted file mode 100644 index 70904b17c23..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/kamera.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libgphoto2 }: - -kde { - buildInputs = [ kdelibs libgphoto2 ]; - - meta = { - description = "KDE camera interface library"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.10/kdegraphics/kcolorchooser.nix deleted file mode 100644 index 58528cb186b..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/kcolorchooser.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A small utility to select a color"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-mobipocket.nix deleted file mode 100644 index 2c2ba3796a2..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-mobipocket.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, okular }: - -kde { - buildInputs = [ kdelibs okular ]; - - meta = { - description = "A collection of plugins to handle mobipocket files"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-strigi-analyzer.nix deleted file mode 100644 index 35af39aa611..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-strigi-analyzer.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libtiff }: - -kde { - buildInputs = [ kdelibs libtiff ]; - - meta = { - description = "Strigi analyzers for various graphics file formats"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-thumbnailers.nix deleted file mode 100644 index 55bf8309b2a..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/kdegraphics-thumbnailers.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libkexiv2, libkdcraw }: - -kde { - buildInputs = [ kdelibs libkexiv2 libkdcraw ]; - - 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.10/kdegraphics/kgamma.nix deleted file mode 100644 index 28d9252187e..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/kgamma.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libXxf86vm }: - -kde { - buildInputs = [ kdelibs libXxf86vm ]; - - meta = { - description = "KDE monitor calibration tool"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.10/kdegraphics/kolourpaint.nix deleted file mode 100644 index 5276ec09f46..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/kolourpaint.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, qimageblitz }: - -kde { - buildInputs = [ kdelibs qimageblitz ]; - - meta = { - description = "KDE paint program"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.10/kdegraphics/kruler.nix deleted file mode 100644 index c5c2c6e05d7..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/kruler.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE screen ruler"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.10/kdegraphics/ksaneplugin.nix deleted file mode 100644 index 1381ed7dd26..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/ksaneplugin.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libksane }: - -kde { - buildInputs = [ kdelibs libksane ]; - - meta = { - description = "A KScan plugin that implements the scanning through libksane"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.10/kdegraphics/ksnapshot.nix deleted file mode 100644 index f01a609e20d..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/ksnapshot.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libkipi }: - -kde { - buildInputs = [ kdelibs libkipi ]; - - meta = { - description = "KDE screenshot utility"; - 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 e8790205cae..00000000000 --- 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/libkexiv2.nix b/pkgs/desktops/kde-4.10/kdegraphics/libkexiv2.nix deleted file mode 100644 index 096b0a6e957..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/libkexiv2.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, exiv2 }: - -kde { - buildInputs = [ kdelibs exiv2 ]; - - meta = { - description = "Exiv2 support library"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.10/kdegraphics/libkipi.nix deleted file mode 100644 index 6b16265e7a3..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/libkipi.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Interface library to kipi-plugins"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.10/kdegraphics/libksane.nix deleted file mode 100644 index b539eab3899..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/libksane.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, saneBackends }: - -kde { - buildInputs = [ kdelibs saneBackends ]; - - meta = { - description = "An image scanning library that provides a QWidget that contains all the logic needed to interface a sacanner"; - 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 efc1e8f0742..00000000000 --- 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/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.10/kdegraphics/svgpart.nix deleted file mode 100644 index a344cc4b4b4..00000000000 --- a/pkgs/desktops/kde-4.10/kdegraphics/svgpart.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "SVG KPart"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.10/kdelibs/kdelibs.nix deleted file mode 100644 index 4386317309f..00000000000 --- a/pkgs/desktops/kde-4.10/kdelibs/kdelibs.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ 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 -, pkgconfig -}: - -kde { - buildInputs = - [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq jasper - libdbusmenu_qt libXScrnSaver libxslt polkit_qt_1 qca2 - shared_desktop_ontologies xz udev libjpeg kerberos openexr - ]; - - NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR"; - - propagatedBuildInputs = [ qt4 soprano strigi phonon ]; - - propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ]; - - # TODO: make sonnet plugins (dictionaries) really work. - # There are a few hardcoded paths. - # Split plugins from libs? - - 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" - ]; - - passthru.wantsUdisks2 = false; - - meta = { - description = "KDE libraries"; - license = "LGPL"; - }; -} 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 cd6f3a179c2..00000000000 --- 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/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.10/kdelibs/nepomuk-widgets.nix deleted file mode 100644 index 0d29a4f97de..00000000000 --- a/pkgs/desktops/kde-4.10/kdelibs/nepomuk-widgets.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, nepomuk_core }: - -kde { - - buildInputs = [ kdelibs nepomuk_core ]; - - meta = { - description = "NEPOMUK Widgets"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.10/kdemultimedia/audiocd-kio.nix deleted file mode 100644 index 4c56e7529dd..00000000000 --- a/pkgs/desktops/kde-4.10/kdemultimedia/audiocd-kio.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkcompactdisc, cdparanoia, libkcddb, libvorbis, flac, lame }: -kde { - buildInputs = [ kdelibs libkcompactdisc cdparanoia libkcddb libvorbis flac lame ]; - meta = { - description = "transparent audio CD access for applications using the KDE Platform"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.10/kdemultimedia/dragon.nix deleted file mode 100644 index 006300742ec..00000000000 --- a/pkgs/desktops/kde-4.10/kdemultimedia/dragon.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - meta = { - description = "a multimedia player with the focus on simplicity"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.10/kdemultimedia/ffmpegthumbs.nix deleted file mode 100644 index 45f6c9abcb6..00000000000 --- a/pkgs/desktops/kde-4.10/kdemultimedia/ffmpegthumbs.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, ffmpeg }: -kde { - buildInputs = [ kdelibs ffmpeg ]; - meta = { - description = "a video thumbnail generator for KDE file managers like Dolphin and Konqueror"; - }; -} 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 7a1aab85ed7..00000000000 --- 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/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.10/kdemultimedia/kmix.nix deleted file mode 100644 index 1dd8108166f..00000000000 --- a/pkgs/desktops/kde-4.10/kdemultimedia/kmix.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libcanberra, pulseaudio }: -kde { - buildInputs = [ kdelibs libcanberra pulseaudio ]; - meta = { - description = "sound mixer, an application to allow you to change the volume of your sound card"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.10/kdemultimedia/kscd.nix deleted file mode 100644 index e99ae53935b..00000000000 --- a/pkgs/desktops/kde-4.10/kdemultimedia/kscd.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libmusicbrainz }: -kde { - buildInputs = [ kdelibs libmusicbrainz ]; - meta = { - description = "KDE CD player"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.10/kdemultimedia/libkcddb.nix deleted file mode 100644 index 720b01d1861..00000000000 --- a/pkgs/desktops/kde-4.10/kdemultimedia/libkcddb.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { -#todo: libmusicbrainz5 - buildInputs = [ kdelibs ]; - meta = { - description = "a library used to retrieve audio CD meta data from the internet"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.10/kdemultimedia/libkcompactdisc.nix deleted file mode 100644 index 6ed08af89f3..00000000000 --- a/pkgs/desktops/kde-4.10/kdemultimedia/libkcompactdisc.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - meta = { - description = "KDE library for playing & ripping CDs"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.10/kdemultimedia/mplayerthumbs.nix deleted file mode 100644 index c88ebcc2a5a..00000000000 --- a/pkgs/desktops/kde-4.10/kdemultimedia/mplayerthumbs.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - meta = { - description = "a video thumbnail generator for KDE"; - }; -} 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 c40b0bed310..00000000000 --- 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 bada0c1cb10..00000000000 --- 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 ac28edb8dd9..00000000000 --- 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 bada0c1cb10..00000000000 --- 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 d5f38096a42..00000000000 --- 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 ec003732344..00000000000 --- 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 d6aa9515b76..00000000000 --- 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 1755bdbce76..00000000000 --- 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 b065ae61009..00000000000 --- 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 bada0c1cb10..00000000000 --- 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 1b7405f1006..00000000000 --- 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 b6c36ea9c15..00000000000 --- 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/kdepim-runtime.nix b/pkgs/desktops/kde-4.10/kdepim-runtime.nix deleted file mode 100644 index 8fdd9fc8fa1..00000000000 --- a/pkgs/desktops/kde-4.10/kdepim-runtime.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ kde, fetchurl, cmake, kdelibs, libxslt, boost, kdepimlibs, akonadi -, shared_desktop_ontologies }: - -kde { - 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.10/kdepim.nix deleted file mode 100644 index dca60d3d4b6..00000000000 --- a/pkgs/desktops/kde-4.10/kdepim.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime -, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison -, nepomuk_widgets, dblatex }: - -kde { - - buildInputs = - [ kdepimlibs boost akonadi shared_desktop_ontologies nepomuk_widgets - libxslt cyrus_sasl gpgme libassuan grantlee prison dblatex - ]; - - passthru.propagatedUserEnvPackages = [ akonadi kdepimlibs kdepim_runtime ]; - - meta = { - description = "KDE PIM tools"; - longDescription = '' - Contains various personal information management tools for KDE, such as an organizer. - ''; - license = "GPL"; - homepage = http://pim.kde.org; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdepimlibs.nix b/pkgs/desktops/kde-4.10/kdepimlibs.nix deleted file mode 100644 index 7ec1612b1e5..00000000000 --- a/pkgs/desktops/kde-4.10/kdepimlibs.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ kde, pkgconfig, boost, cyrus_sasl, gpgme, libical, openldap, shared_mime_info -, kdelibs, akonadi, libxslt, prison, nepomuk_core -, shared_desktop_ontologies, qjson }: - -kde { - nativeBuildInputs = [ pkgconfig ]; - - buildInputs = - [ boost gpgme libical libxslt qjson - openldap cyrus_sasl akonadi shared_desktop_ontologies - ]; - - propagatedBuildInputs = [ kdelibs nepomuk_core ]; - - meta = { - description = "KDE PIM libraries"; - license = "LGPL"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeplasma-addons.nix b/pkgs/desktops/kde-4.10/kdeplasma-addons.nix deleted file mode 100644 index 2bd6f5037db..00000000000 --- a/pkgs/desktops/kde-4.10/kdeplasma-addons.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig -, boost, eigen, kde_workspace, attica, python, qca2, qimageblitz -, kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt -, qjson, qoauth }: -# TODO: qwt, scim, ibus - -kde { - - KDEDIRS=marble; - - buildInputs = [ kdelibs boost kde_workspace kdepimlibs attica qjson qoauth - eigen qca2 libXtst qimageblitz - libqalculate shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt -]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "KDE Plasma Addons"; - license = "GPL"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.10/kdesdk/cervisia.nix deleted file mode 100644 index 1dabe46cd42..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/cervisia.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A KDE CVS frontend"; - }; -} 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 500dffc809e..00000000000 --- 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 2da3603c3be..00000000000 --- 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 20925842a32..00000000000 --- 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 fafdcc55a1f..00000000000 --- 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/kapptemplate.nix b/pkgs/desktops/kde-4.10/kdesdk/kapptemplate.nix deleted file mode 100644 index 391536248dd..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/kapptemplate.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A KDE 4 project template generator"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.10/kdesdk/kcachegrind.nix deleted file mode 100644 index 65d410cca48..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/kcachegrind.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE Frontend for Callgrind/Cachegrind"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.10/kdesdk/kde-dev-scripts.nix deleted file mode 100644 index df81145e5d6..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-scripts.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Various scripts to ease KDE development"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.nix deleted file mode 100644 index 85b6ea6ac00..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/kde-dev-utils.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, gcc }: - -kde { - buildInputs = [ kdelibs ]; - - preConfigure = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}"; - - meta = { - description = "various KDE development utilities"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.10/kdesdk/kdesdk-strigi-analyzers.nix deleted file mode 100644 index 4d579b88ba8..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-strigi-analyzers.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Strigi analyzers for diff, po and ts"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix deleted file mode 100644 index f96b0df2b95..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/kdesdk-thumbnailers.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ kde, kdelibs, gettext }: - -kde { - - buildInputs = [ kdelibs gettext ]; - - patches = [ ./thumbnailers-add-subdirectory.patch ]; - - meta = { - description = "PO file format thumbnailer"; - }; -} 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 4c45be6b4fe..00000000000 --- 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 0574241353d..00000000000 --- 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/kompare.nix b/pkgs/desktops/kde-4.10/kdesdk/kompare.nix deleted file mode 100644 index 1ddb4b8ea5b..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/kompare.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A program to view the differences between files and optionally generate a diff"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.10/kdesdk/lokalize.nix deleted file mode 100644 index 1565426eb1f..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/lokalize.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs, hunspell }: - -kde { - buildInputs = [ kdelibs hunspell ]; - - meta = { - description = "KDE 4 Computer-aided translation system"; - longDescription = '' - Computer-aided translation system. - Do not translate what had already been translated. - ''; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdesdk/okteta.nix b/pkgs/desktops/kde-4.10/kdesdk/okteta.nix deleted file mode 100644 index 058636596ad..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/okteta.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs, qca2 }: - -kde { - buildInputs = [ kdelibs qca2 ]; - -# TODO: Look what does -DBUILD_mobile add - - enableParallelBuilding = false; - - meta = { - description = "KDE byte editor"; - }; -} 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 1ab9ed49df5..00000000000 --- 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 5b4f7643bf4..00000000000 --- 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/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.10/kdesdk/umbrello.nix deleted file mode 100644 index e83a2d9a901..00000000000 --- a/pkgs/desktops/kde-4.10/kdesdk/umbrello.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libxml2, libxslt, boost }: - -kde { - buildInputs = [ kdelibs libxml2 libxslt boost ]; - - meta = { - description = "Umbrello UML modeller"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdetoys/amor.nix b/pkgs/desktops/kde-4.10/kdetoys/amor.nix deleted file mode 100644 index 936d63d544a..00000000000 --- a/pkgs/desktops/kde-4.10/kdetoys/amor.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE creature for your desktop"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.10/kdetoys/kteatime.nix deleted file mode 100644 index dacf54def4b..00000000000 --- a/pkgs/desktops/kde-4.10/kdetoys/kteatime.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE utility for making a fine cup of tea"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdetoys/ktux.nix b/pkgs/desktops/kde-4.10/kdetoys/ktux.nix deleted file mode 100644 index 108f9be7c72..00000000000 --- a/pkgs/desktops/kde-4.10/kdetoys/ktux.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, kde_workspace }: - -kde { - buildInputs = [ kdelibs kde_workspace ]; - - meta = { - description = "Tux Screen Saver"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/ark.nix b/pkgs/desktops/kde-4.10/kdeutils/ark.nix deleted file mode 100644 index eb3e12281d6..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/ark.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson }: - -kde { - buildInputs = [ kdelibs kde_baseapps libarchive bzip2 lzma qjson ]; - - meta = { - description = "KDE Archiving Tool"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/filelight.nix b/pkgs/desktops/kde-4.10/kdeutils/filelight.nix deleted file mode 100644 index 25ecabed27c..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/filelight.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Tool to visualise file and directory sizes"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.10/kdeutils/kcalc.nix deleted file mode 100644 index 08b202e8f0e..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/kcalc.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, gmp }: - -kde { - buildInputs = [ kdelibs gmp ]; - - meta = { - description = "KDE Calculator"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.10/kdeutils/kcharselect.nix deleted file mode 100644 index d4c9c06f483..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/kcharselect.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE character selection utility"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/kdf.nix b/pkgs/desktops/kde-4.10/kdeutils/kdf.nix deleted file mode 100644 index 4b02c12d88a..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/kdf.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - enableParallelBuilding = false; - - meta = { - description = "KDE free disk space utility"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.10/kdeutils/kfloppy.nix deleted file mode 100644 index 2434a4fa671..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/kfloppy.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Floppy disk formatting utility"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.10/kdeutils/kgpg.nix deleted file mode 100644 index f3b00a5b968..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/kgpg.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, kdepimlibs }: - -kde { - buildInputs = [ kdelibs kdepimlibs ]; - - meta = { - description = "Simple KDE GUI for GPG"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.10/kdeutils/kremotecontrol.nix deleted file mode 100644 index 70311a789f9..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/kremotecontrol.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libXtst }: - -kde { - buildInputs = [ kdelibs libXtst ]; - - meta = { - description = "KDE remote control"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.10/kdeutils/ktimer.nix deleted file mode 100644 index 5700977349e..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/ktimer.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE Timer"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.10/kdeutils/print-manager.nix deleted file mode 100644 index 99feaf3e4f9..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/print-manager.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ kde, kdelibs -, pythonPackages, cups, sip, pyqt4, pykde4, pycups, rhpl, system_config_printer -, pythonDBus, makeWrapper }: - -let s_c_p = system_config_printer.override { withGUI = false; }; in - -kde rec { - buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython - ] ++ pythonPath; - - pythonPath = [ cups pyqt4 pykde4 pycups s_c_p ]; - - passthru.propagatedUserEnvPackages = [ s_c_p ]; - - postInstall = - '' - wrapPythonPrograms - - # ‘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 - ''; - - meta = { - description = "KDE printer manager"; - longDescription = "Applet to view current print jobs and configure new printers"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.10/kdeutils/superkaramba.nix deleted file mode 100644 index cbe7a285606..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/superkaramba.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, qimageblitz, python }: - -kde { - buildInputs = [ kdelibs qimageblitz python ]; - - cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBUILD_plasma=TRUE" ]; - - meta = { - description = "A KDE Eye-candy Application"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.10/kdeutils/sweeper.nix deleted file mode 100644 index 78d56c7df30..00000000000 --- a/pkgs/desktops/kde-4.10/kdeutils/sweeper.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Helps clean unwanted traces the user leaves on the system"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.10/kdewebdev/kfilereplace.nix deleted file mode 100644 index 55e37809e07..00000000000 --- a/pkgs/desktops/kde-4.10/kdewebdev/kfilereplace.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Batch search and replace tool"; - homepage = http://www.kdewebdev.org; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.10/kdewebdev/kimagemapeditor.nix deleted file mode 100644 index 6d22f72461f..00000000000 --- a/pkgs/desktops/kde-4.10/kdewebdev/kimagemapeditor.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "An HTML imagemap editor"; - homepage = http://www.nongnu.org/kimagemap/; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix deleted file mode 100644 index 21971beb80a..00000000000 --- a/pkgs/desktops/kde-4.10/kdewebdev/klinkstatus.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }: - -kde { -#todo: ruby is not found. needed for some example scripts - buildInputs = - [ kdelibs kdepimlibs htmlTidy boost ]; - - meta = { - description = "A KDE link checker"; - homepage = http://klinkstatus.kdewebdev.org; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.10/kdewebdev/kommander.nix deleted file mode 100644 index d5f4337f714..00000000000 --- a/pkgs/desktops/kde-4.10/kdewebdev/kommander.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A graphical editor of scripted dialogs"; - }; -} diff --git a/pkgs/desktops/kde-4.10/l10n/default.nix b/pkgs/desktops/kde-4.10/l10n/default.nix deleted file mode 100644 index fa6406043b1..00000000000 --- a/pkgs/desktops/kde-4.10/l10n/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl, kdelibs, gettext, release, branch, stable }: - -let - - inherit (stdenv.lib) attrByPath singleton; - - kdeL10nDerivation = - { lang, saneName, sha256 }: - - stdenv.mkDerivation rec { - name = "kde-l10n-${saneName}-${release}"; - - src = fetchurl { - url = "mirror://kde/${if stable then "" else "un"}stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.xz"; - name = "${name}.tar.xz"; - inherit sha256; - }; - - buildInputs = [ gettext kdelibs ]; - - cmakeFlags = "-Wno-dev"; - - meta = { - description = "KDE translation for ${lang}"; - inherit branch; - license = "GPL"; - platforms = stdenv.lib.platforms.linux; - inherit (kdelibs.meta) maintainers homepage; - }; - }; - - kdeL10nRelease = - builtins.listToAttrs ( - map ({lang, saneName, sha256}: - { - name = saneName; - value = kdeL10nDerivation { inherit lang saneName sha256; }; - } - ) (import (./manifest + "-${release}.nix")) - ); - -in -{ - inherit kdeL10nDerivation; - recurseForDerivations = true; -} // kdeL10nRelease diff --git a/pkgs/desktops/kde-4.10/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.10/l10n/l10n-manifest.sh deleted file mode 100755 index ec159a1e204..00000000000 --- a/pkgs/desktops/kde-4.10/l10n/l10n-manifest.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -# Usage: download kde-l10n to $dir, then run -# $0 $dir - -dir=$1 - -if [[ ! -d "${dir}" ]]; then - echo "${dir} is not a directory (or doesn't exist)!" >&2 - exit 1 -fi - -release=$(ls "${dir}"/kde-l10n-en_GB-*.tar.xz | \ - sed -e 's/.*en_GB-//' -e 's/\.tar\.xz//') - -echo "Detected release ${release}" >&2 - -exec > "manifest-${release}.nix" -echo "[" -for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.xz`; do - lang=${i%-${release}.tar.xz} - lang=${lang#kde-l10n-} - echo -n "${lang}.. " >&2 - hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}") - echo "{" - echo " lang = \"${lang}\";" - echo " saneName = \"$(echo $lang | sed s^@^_^g)\";" - echo " sha256 = \"${hash}\";" - echo "}" - echo $hash >&2 -done -echo "]" 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 67abb386a48..00000000000 --- 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 9862efe0b58..00000000000 --- 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.10/oxygen-icons.nix b/pkgs/desktops/kde-4.10/oxygen-icons.nix deleted file mode 100644 index adee87c8316..00000000000 --- a/pkgs/desktops/kde-4.10/oxygen-icons.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, cmake }: - -kde { - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "1aad2qb9zrjcild5s584q4zz6zc3wgkclv79gnfwkhmy0viqx9l6"; - - nativeBuildInputs = [ cmake ]; - - meta = { - description = "KDE Oxygen theme icons"; - longDescription = "Icons for KDE's default theme"; - license = "GPL"; - }; -} diff --git a/pkgs/desktops/kde-4.10/support/akonadi/default.nix b/pkgs/desktops/kde-4.10/support/akonadi/default.nix deleted file mode 100644 index e1d8a5ef9ae..00000000000 --- a/pkgs/desktops/kde-4.10/support/akonadi/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }: - -stdenv.mkDerivation rec { - name = "akonadi-1.9.2"; - - src = fetchurl { - url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2"; - sha256 = "1ndzc7a1q1hqy4pn9xnihq6ni02zsqfdyy6z6lwn27bkb7pg64p7"; - }; - - buildInputs = [ qt4 soprano libxslt boost sqlite ]; - - nativeBuildInputs = [ cmake automoc4 shared_mime_info ]; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - description = "KDE PIM Storage Service"; - license = "LGPL"; - homepage = http://pim.kde.org/akonadi; - maintainers = [ maintainers.sander maintainers.urkud ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/kde-4.11/applications/kate.nix b/pkgs/desktops/kde-4.11/applications/kate.nix deleted file mode 100644 index e8efc87775a..00000000000 --- a/pkgs/desktops/kde-4.11/applications/kate.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4 }: - -kde { - - buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4]; - - meta = { - description = "Kate, the KDE Advanced Text Editor, as well as KWrite"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/applications/konsole.nix b/pkgs/desktops/kde-4.11/applications/konsole.nix deleted file mode 100644 index 0db47fb2d7c..00000000000 --- a/pkgs/desktops/kde-4.11/applications/konsole.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, kde_baseapps }: - -kde { - - buildInputs = [ kdelibs kde_baseapps ]; - - meta = { - description = "Konsole, the KDE terminal emulator"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/default.nix b/pkgs/desktops/kde-4.11/default.nix deleted file mode 100644 index 269bdc0d3a7..00000000000 --- a/pkgs/desktops/kde-4.11/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.5" }: - -let - branch = "4.11"; - - # 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.11/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch deleted file mode 100644 index 378cdb64694..00000000000 --- a/pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3d3e247..f78db67 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,10 @@ --find_package(KDE4 REQUIRED) --include(KDE4Defaults) -+project(kde-wallpapers NONE) -+if( WALLPAPER_INSTALL_DIR ) -+ message(STATUS "Installing wallpapers to user-supplied directory ${WALLPAPER_INSTALL_DIR}") -+else() -+ find_package(KDE4 REQUIRED) -+ include(KDE4Defaults) -+endif() - - install(DIRECTORY Air DESTINATION ${WALLPAPER_INSTALL_DIR} PATTERN .svn EXCLUDE) - diff --git a/pkgs/desktops/kde-4.11/files/polkit-install.patch b/pkgs/desktops/kde-4.11/files/polkit-install.patch deleted file mode 100644 index d2ecac663ec..00000000000 --- a/pkgs/desktops/kde-4.11/files/polkit-install.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake ---- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake 2011-05-20 22:24:54.000000000 +0200 -+++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake 2011-07-12 14:03:00.000000000 +0200 -@@ -139,7 +139,7 @@ - ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR - ${POLKITQT-1_POLICY_FILES_INSTALL_DIR}) - -- set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING -+ set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING - "Where policy files generated by KAuth will be installed" FORCE) - elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE") - set (KAUTH_COMPILING_FAKE_BACKEND TRUE) diff --git a/pkgs/desktops/kde-4.11/kactivities.nix b/pkgs/desktops/kde-4.11/kactivities.nix deleted file mode 100644 index 06381bb13d7..00000000000 --- a/pkgs/desktops/kde-4.11/kactivities.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, nepomuk_core }: - -kde { - propagatedBuildInputs = [ kdelibs nepomuk_core ]; - - meta = { - description = "KDE activities library and daemon"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kde-base-artwork.nix b/pkgs/desktops/kde-4.11/kde-base-artwork.nix deleted file mode 100644 index 3f416cebddc..00000000000 --- a/pkgs/desktops/kde-4.11/kde-base-artwork.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ kde, kdelibs }: - -kde { - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "0mrd3w7rhsj0v92c8rh9zjxyifq7wyvwszksf2gyn53dzd06blk8"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE Base artwork"; - license = "GPL"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix deleted file mode 100644 index c2a25664678..00000000000 --- a/pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, htmlTidy, kactivities -, nepomuk_core, nepomuk_widgets, libXt }: - -kde { - buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ]; - - meta = { - description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kde-package/4.11.0.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.0.nix deleted file mode 100644 index 08de0fe4b0e..00000000000 --- a/pkgs/desktops/kde-4.11/kde-package/4.11.0.nix +++ /dev/null @@ -1,444 +0,0 @@ -{stable=true; -hashes=builtins.listToAttrs[ - {name="amor";value="0xz73rnznng6nd8ax2s8yh5wmvlwlhy7qm2y0m15fxw8x9dyym2s";} - {name="analitza";value="1pvi6nsdh64pjmrq0xm6vjl2rdpllm8vizf5pxm64m3s225x11r8";} - {name="ark";value="152cilip6g0jvqvczv29kdnlghyra0qs9166g4py82w94f96h4a0";} - {name="audiocd-kio";value="1xly06zy2m7xg8b675y2l3xj2mixy739f65b6mciyz0240qlian5";} - {name="blinken";value="0kyrblhn4b46fcf2rkidkkvpvnirz1z866yp7mi3m9dnl9iqzk32";} - {name="bomber";value="1s9wkdz7mgmsr438ikjxc3qj810aw39kblwc2a0v21skhv9glx40";} - {name="bovo";value="1p4v5nvx6nfprpv5wm9ab25d0wklx0znf6257ssy97p9knj7lzf4";} - {name="cantor";value="00j2fwl2y93k3mwqmnl9ndcqdfmxl2r5nff920sjmylhplsrvzri";} - {name="cervisia";value="1gg53a5lcp2mlii285ys6d570wzjx7v5h3g0r1l3h146ipnddkpm";} - {name="dolphin-plugins";value="1cj0vajrpmi1imz3gg6has8bqm2hj2px0k2fda35lc0wb2h6vwip";} - {name="dragon";value="1gclq1v9a84aq9jbakc0fs0c4y7ykzf05vl0gkpjkijnnb5sr028";} - {name="ffmpegthumbs";value="04zarg373420mzdc4psziw173flpv1jc80xavq5qff4j8njjynw4";} - {name="filelight";value="1q7lsiq2xxvfs30i0l0ywvpzch0kd8blbg10r56p15wyyjc84h1d";} - {name="granatier";value="14zlk4y30kgbx69hb516dcva78xqk7yhi90f7yg327r5a72njwvv";} - {name="gwenview";value="0686bybi10vyz6yb2h5zi906d295rcd7wlgh87zjiw0p2rz5qd6b";} - {name="jovie";value="02b2jl3ip7y0sd4xscw8qmkmm646ksmlm0c3xwwcijwvdj1h3xsw";} - {name="juk";value="1wm0ngpsc62766l127nk38cg5vdhlqsh3gsl7alk2rcrgfainkhh";} - {name="kaccessible";value="0mixfx8f8097p2y7zqacawb64r8jzj6iqrkhh7xp9ldwrrnf8jr0";} - {name="kactivities";value="0s5l0h2axq43ip8a4wn9lqb7i6hvxzzpscr1wv9qm02g98h1kzc5";} - {name="kajongg";value="0g7cx3qjrhga37wp9wypwwhzsk4q4fy63qqbpzh7znc4kfiw3j56";} - {name="kalgebra";value="01vgg54sr7g3h7lk9cd3m739y317x680brnp858chqvi7jq9nw5i";} - {name="kalzium";value="1zbrq2jm7j9sjzxfl93kambv1n665ah57ljr16r5dqk0x3xchirn";} - {name="kamera";value="1bhmxij7fnzc26hv4fbglqm3fhi5jdd8bqxnyx91sjja34wr55l4";} - {name="kanagram";value="1hdv0ydklz8y8wh49drpmgc9hqkwp59zvwn39h67fsiig44k6jag";} - {name="kapman";value="024q8w4x1hy518qcl76nxgr6q8h3blkw9qfg9z6d899qa6zb6ihq";} - {name="kapptemplate";value="09xgy5wrqhxlgvk6yhdfvickqx4v4rqd0s9zda7mlj13yfphbq8k";} - {name="kate";value="1r8i3hiqfxs2idjkszkzzn5lpkpm5bzjprs9dv33gzfnnq7w6q54";} - {name="katomic";value="0g197ynk6pzwxhr3yw20jw16qd9664j35vsr7511jxyydadbnrx6";} - {name="kblackbox";value="1pv9f3vh7l25xlvxpvznjiw3va2ljcz2znc1qxy6ib907qfgnryv";} - {name="kblocks";value="0rahh2hra6k0f0z9sh906avznv6x451da6w62bn561hl1fsd3qmy";} - {name="kbounce";value="1h25lyga30fxrhrlagw51la3vl38h5qil6zrwr5j3n8agard6nxf";} - {name="kbreakout";value="09mq49ia5synl9k166k2zw7n4awv2jkv0c0cckfc1byfvyfp6hnq";} - {name="kbruch";value="1fmc1mi94c8dz20qlj8gva64qk8kwdy22frlx8mv049lpaslhnh9";} - {name="kcachegrind";value="0iqa5vd03b3ysms692yqk4wy0igmrzjg1jfyw5sapdch1fv4v5bq";} - {name="kcalc";value="0yy41pjy0ai47yl2q8ii74b1qqcrg79xan8m1pxlx1pn0pdqib5h";} - {name="kcharselect";value="0sbz5c3jkmh6vpb2zh1jmy1l5f37nwxvhn3a1gbzv20wf2a3mh4x";} - {name="kcolorchooser";value="11kjklvvxfg2drwc0gh3z14gh94d6yimswh4g0nrpb7ppny8h0hh";} - {name="kcron";value="0ydm9b9x38j4n2v6j144v1jkh91nblbfln0yyfshiig44lxfcg4y";} - {name="kdeartwork";value="17s40canzk0z6v4hr683l1xzmpld53lma6m2z7kb537ms4sjrim9";} - {name="kde-baseapps";value="06mavmk0v54lwma083w7wyr2374vdwblcbisqb6kr4fsqdng67yk";} - {name="kde-base-artwork";value="020j4hi6qmwkjipgf9840m1828bjlcy9vg3nmhrjxvj6wxbaijib";} - {name="kde-dev-scripts";value="1hscdf1qdg8kc8x2hp0mibp0k3lq255h8a1kj03b8bk0agrzycjr";} - {name="kde-dev-utils";value="05nlisn69r6p58340gaaa8ma1ndpafv69yrynln4nzsw5va6awiv";} - {name="kdegraphics-mobipocket";value="1f1x07yy0awz7bas0c189xqn1zrv4sz9fb2vlix1g9qbz4j7440v";} - {name="kdegraphics-strigi-analyzer";value="0sq5lmnlgz52znz5jlsd2dixfmiqb6cmwrf6x9pw1px5i76gc63m";} - {name="kdegraphics-thumbnailers";value="09bmhxxr53p4szqln8s5pz4yfacyn8drq4p7ffsmp7crhjfjxad3";} - {name="kdelibs";value="0q7gzfzkdy8vi56v7xkq79ib3d3x22mi9prc5lkqzq3w9f08xnim";} - {name="kdenetwork-filesharing";value="11sc6jxnjl3i5wncc6jpif9d8c6dha3r96qjm5l2afg3g945kjq0";} - {name="kdenetwork-strigi-analyzers";value="125vk7y2yjni5bwgld47fg9ms0fksd2mwgpzlmbalcz5a05pwxqr";} - {name="kdepim";value="017005mndsg69pfvwn24mdbw0cjny7i3hhvc9102hwv7vn3b38c9";} - {name="kdepimlibs";value="0q5g626n6117ri11inyr29lnzirpm8ls68h72m8gy7jbbhpsy2h9";} - {name="kdepim-runtime";value="17yjsyyn7hp24r1nx4aggcfjkpw8nyb7lzpp21nf61fb26gdk0m9";} - {name="kdeplasma-addons";value="174770q0jgx7h61z48322aqvzprnfyfb1yipv2v725r79wpl8knc";} - {name="kde-runtime";value="0yafj2mxqp26zsg3kh1s0vw77wx0l9468jh1g0wkl1hbwxjlszp7";} - {name="kdesdk-kioslaves";value="00prg3pblgil86way9air9sl01gfrag8ika96nv8i5qhv0fs5x3n";} - {name="kdesdk-strigi-analyzers";value="08rpclbv0csrciqh688akfzh36wy2nc60gsbqfrwrmz82cn0rgyp";} - {name="kdesdk-thumbnailers";value="1zx6g94vixk7id1zb7a4f6x4ymkfm4n6g6j2akklzwnba1nqadjx";} - {name="kde-wallpapers";value="0km2zpgy4qpqlvnbnbfnklal900idf85xls9h3dn57qckrvscs7n";} - {name="kdewebdev";value="1pzph18gw47gy7yfmzcmz7hx35wgsdgc7z7h50p15irrfqd9vxvz";} - {name="kde-workspace";value="0wdnnwvzd8djysims0sflban0vvf4rjl5xy9cfxl5c61kgf31zvy";} - {name="kdf";value="0znmsv5cpxciqx1pksicpchfqk25damz4zrhsh8fl1y41wr5i0g7";} - {name="kdiamond";value="13pz413fvwz74jhvyfvn3l18p5asin2l8r39mqvrp5izz876lrxs";} - {name="kdnssd";value="1my59awfn0h67aza1wym7cdlbffm22hf1dma80k4kqwrcws433q7";} - {name="kfloppy";value="0aglds7n33pk19qmq26xdr2bmfn3hv80zd479a3czlh0yn0wl0lb";} - {name="kfourinline";value="0mbggqssizcsrddi2nb93hwyf9wa6lnqmyswia5bp6803diw0iyr";} - {name="kgamma";value="0fwgk3jq5x5fp36jp1yvid69pzqdaac7p8xyd7qwa0m2zz2mbddy";} - {name="kgeography";value="0hya5wqigyahl24cmm1ssi5xc6pv8d6hvrd5z4s185pd5i2syfyf";} - {name="kget";value="0pnnfizq6xmv3bmpdvqf12pnr1rlbzpdn05c71cl0200frd0samd";} - {name="kgoldrunner";value="1s2847rhl1r35a3sjh10yadg7qjs4qycv2j2yc4k6yvh226wixzn";} - {name="kgpg";value="1hsa5z4igqn5fd9rnjmm80k6mylf3zyg6ss0m66j96f1r1hc7y9g";} - {name="khangman";value="0myjlfm1bws6g8a6r27n4cfdiz6vsii7wk03dhc25a63mbw30lq2";} - {name="kig";value="1w0i2q6vvy310ffsc87dahbxx2pv0alsv36wcz5j41a0c0q1lnnq";} - {name="kigo";value="026dwwakci2xsxzr05k9wdfn8k22sd0f2qd2hjpjf3nd3306q2m7";} - {name="killbots";value="1acn16i1k9il6qflw5kbmwgrdhgf59ziqv0dsdj541wp06v9syzf";} - {name="kimono";value="0vws62kw7n6xy4sgyn2w1a1ysfb7g3l730rfvcgdcch1v5k5w6sx";} - {name="kiriki";value="0jz9rsmvyb3yqnxpb0fr8nxqcbb55ah4gg75mphxvagfak6180x8";} - {name="kiten";value="1vvpd63783lzwb1ixchxzcnv4dwhdfdqvgf6ambxiabdhwzzhrfp";} - {name="kjumpingcube";value="0czsirg9r8kngy8y21ds491mdqcysn7c5yravrbvv399j71fgcl7";} - {name="klettres";value="0b7zd1f9a3b2d3r4wx03b3gclbnxyxl8sdq4mkrmvxlbv6is4w41";} - {name="klickety";value="00yzd79lm7rlfc96cg0asvj3zy1bwb4d0qx2sarf0ny1sbs05d52";} - {name="klines";value="1qvjhb88vzymy8c75azhchqxp21iwvbhxiq0mzzb4wg513qz9b1w";} - {name="kmag";value="0p7k9w93zyl6ffjwydjfm9pps4irrgdcjf9ksbzm5r41ayj1x3nh";} - {name="kmahjongg";value="0wz4lvy4gzix5c5viwcfxqvv43n65151wfz9jay09227f5qfqz1w";} - {name="kmines";value="0gsyhmzcj3579bscdlzyp3y1lsxgk7fz6s8gzs36pb1d7cll30i1";} - {name="kmix";value="1h5z508yy0y39p5dhmz4lvq2fsl1y9hiqgm0m3xk6js1ysz5cp0w";} - {name="kmousetool";value="1p57b4s87hw5rhj3d1m9qaw8r0wx4x7brc9ksizxyjfm90q8hj00";} - {name="kmouth";value="1bmmv8w6w9z9dnmm8bwai8wvj1cz3nbibd9qilv0wzy8f9x8z2n2";} - {name="kmplot";value="037n51fvpj8r4fz98f1f1jm9pzmlpbcn428cq8kn2p6ahy9g0zhn";} - {name="knavalbattle";value="1i128qa95zi0fz6bkkkc0qic630c4n6r24bnc73wp38kkklj1mfm";} - {name="knetwalk";value="1yfflp2yndjv0fawahiqq33x9ivv0r5dxivhy38p1xx3bw7aa3qg";} - {name="kolf";value="0cfi9mfj1ng7p6vqckjpx4hvzs4cqkiy0wk0c32gyzm3w76ggdsk";} - {name="kollision";value="17hzzp4pwl46skf7n2aapxc1wbihxvb8p6z5ch7315d967fbw1iy";} - {name="kolourpaint";value="1mvqicbjmbyx7wmw8l8gsfci2x0mg7c7csfbib09p6l5ypr0w5an";} - {name="kompare";value="1s5yb2jk6dgsaciwklil43vc3zpr70sarakray0jz22w8sbp00l4";} - {name="konquest";value="0v9icbn3pam8w6akz8sk4qpmq8447l9d692877yz9a0wbd4kc3yk";} - {name="konsole";value="07pikjzjn824xvjjszvczwwg2alj8qqr7ajy0c7wa9w711hqj654";} - {name="kopete";value="114g0pl67vdacxfcnpnhzmy9aarmjm1j6iy6jxc1v3ahrmv7iy1q";} - {name="korundum";value="07s4y585a2x6wg9m8hfwhxixbp03aa8z4f7cyk7i7fgvhy32s4wh";} - {name="kpat";value="1dqbhn3lypjfnhn4i6212g3spdihp0j12vgkxwf0pii79dwk1lih";} - {name="kppp";value="1qk2hvpi72w10gyipw3dcsmkqlg5shvr943rxhkjpx7vp327gcii";} - {name="krdc";value="0ikb0bmcq8zpmhr2jbyg40ihjzvi1zfkhcf6y76yjsifzx5nkxaj";} - {name="kremotecontrol";value="03mwsl79ljd6zni1ijxbrhl4pm7l52dxdjr5456avx6pbp7rq8j7";} - {name="kreversi";value="0r66kj0lanj54ajk1fdn6kijsq412gknva3i29wsvy0hlg18lwgf";} - {name="krfb";value="096a61zv76nyqkh9cdzjbgy62g3vi9a7xiwkx0mw63jpfag5sqws";} - {name="kross-interpreters";value="0x12cl1hnj9rfasivs3j1m15lr5pmh65bm2dghcypzffs1h4m17h";} - {name="kruler";value="0cv3qrs20qckx3d4y0a5ciy6n3hnlxhi20ln9m6szk5nrqwwf8hv";} - {name="ksaneplugin";value="02kdbnalq6jfkvcj0dmiyp6hijm8jjl1wl4fxd0kky0wdpj25mqw";} - {name="kscd";value="1dmmjzphxy00yynvmb238s60c0xjb9arcyjnynm1pyz8gwbjv370";} - {name="kshisen";value="1rildx85ajl14j7qhkwfv3ddyai2m3d2mf6d4i6hd4f6hi01y6lc";} - {name="ksirk";value="1rzihjagj78lxyprhzrixk129wgn6v9zacbh5ash6mfgmvpp28fq";} - {name="ksnakeduel";value="0fi32y79gjnajswwb5ldkyk0aap1cbdb7i6wdaskpwjh7m9xgbqj";} - {name="ksnapshot";value="162rbwlg16b0lq436rsmdaljrp4na0c7hsviw8mv989ylm7k78g5";} - {name="kspaceduel";value="1k228vhlv1fglp4572w7li3dvz1inn9x08rqfm167qisz7lz9gk0";} - {name="ksquares";value="0i0gw2dq657p3nnlp7billnwlz0jynb01bd3alis9b0y7fzr8141";} - {name="kstars";value="1hlv4x43asrz0kha7sypw073zpnb0z1mmwxqsjm7rdb3fzr664ca";} - {name="ksudoku";value="1ym6q32jlh55q4af622mq2x4q7ir61h54y03i1cwwl0n536jarw3";} - {name="ksystemlog";value="1lipz5ijw90zifvcj8j5cbm5myn3j31v0faik352dy552zbc69ld";} - {name="kteatime";value="0nkfshr4gh71yvb4fn3zv99mj8ywq98fmzl41pc8g7zb78c56min";} - {name="ktimer";value="0bfyhxcnz4cll3al5sqjiilhhy0wckvnsxl1j9v9cl6fj0yclccx";} - {name="ktouch";value="0j2qxh2r1pasa86zakil9hbw0vb39qgwcmkjkds4mgd1rdx3z063";} - {name="ktuberling";value="0imb0djrsi3b8aasyycalv7b6r42879053h9r89bq0vr7frshza5";} - {name="kturtle";value="04739cjbc8hnhjmccamiim3nhm09jpd5398ckwbqa7z1jrnrfglx";} - {name="ktux";value="1dkcca00s2cxr9kimqm8vlar0d47184ba0miihipgi7p752sik5a";} - {name="kubrick";value="1f1sfr1w66b3i4pi7b8y3wbks5l2dxij4azx8dzracanfraymhs6";} - {name="kuser";value="1r1ysz52w7v8nhl4qj9b4aybb7q45qav9yyzdqxjlz3ixvvvyndy";} - {name="kwallet";value="0a5009qx820nfbdhcmwvzbda3bvdmjzbi9i5d05rkcbmxz7l3i7v";} - {name="kwordquiz";value="11rhwmzn93gilwlgjmh64pbmmkxf4nxjn3sg8plxnvfnjl27dlwr";} - {name="libkcddb";value="0jkblif31r3raykhl69c9mjircsdwrbmzdjks7ngwacyfng2ys7l";} - {name="libkcompactdisc";value="1c6g1q543siyk8m81bvxca4qv6pnfjxcmv5mgpnqsv5lbi0k0dil";} - {name="libkdcraw";value="1bi0ayf6sg93hx30k5yvblv3jfs8ba6sva7fig1xwag2a1dmpbms";} - {name="libkdeedu";value="080mmb6spbr9gyz16n92jai8hv13kxjqgnid8qmgzvrkl9dr5zpi";} - {name="libkdegames";value="07324rsyqszsjgpybpr7kpvfpkmg61c4yaaajfr0sbj5a0flypn9";} - {name="libkexiv2";value="0rpqj634vxffz1498m2vbjhndc3xha06b4w79wv9qlqgcsaglr9c";} - {name="libkipi";value="0har58a6ir3cywsl289avblpqlc67ghv6bhli79nhplblycaf56k";} - {name="libkmahjongg";value="1xz4x96l0cim2mcjk9ndikzb0p53i6nximmiwji5ysk9k9ijz8l2";} - {name="libksane";value="1wydrqjfczb6c37vpzzavqk4n4fxlg7xfxm3qmg90973z9mhndql";} - {name="lokalize";value="0ikcq18jsnk9iqf1636c1llbs43dcbv6pnanydsd8m7pp2x8wd77";} - {name="lskat";value="0ld93jvy7w6zy3jifwhb2cvm4qrylknbkgknhxcycq7vxxi1nd1r";} - {name="marble";value="0l32r5hbqzyvx85xzvphkyv8fz0ar9l6yyql01y54p9q7g2i0wvy";} - {name="mplayerthumbs";value="022n2mi1mkc6isc06b1w7q10k4qxgmvjdg9inysqnyw25zgzqbk0";} - {name="nepomuk-core";value="1a08gv05lql1jkkng655k8n4y9bxivaq3j6i9np901calr6q7vq6";} - {name="nepomuk-widgets";value="12pfyi4y64p0xs62ax18mbkwf9gd4gn0zsih338ryf2zdpw806c9";} - {name="okteta";value="0pg9i7ywcp377brrprl93ayxjjizdmyzgw6fx3zmry7amf45dw1z";} - {name="okular";value="1kgkvzfwcqc9v18qgm9vm36v9svasdwyqgbn70nxmwr7rmkvzpsy";} - {name="oxygen-icons";value="1m0mha40zg03jy2nvw1cnsi9li8kb84hq3mdr2839jd0qwf06rcs";} - {name="pairs";value="0scqagvvp0aaa5gknl5rlfv49r289mgrf5ll0sqbb7w2ga1z71kf";} - {name="palapeli";value="1qw6cn7qa5p918x5hhl45c17firyrj3llghd808k9jn0azffkn2k";} - {name="parley";value="191ql9jc7pib36ndrn3dyz7h0zqa1a5z06vcppcy56adw395khga";} - {name="perlkde";value="0x9pf8hjlnii6kh6jrli8p1glqmnly8ck5f0a9jllx5ylc2v7xgy";} - {name="perlqt";value="01wwnpkr0rafmp4lqggpnnzan4abgcbdkf49dzvzf202ksyc7i4s";} - {name="picmi";value="1x0gx8spda3m4d8gp3dw4wrjq9plya17x945dd3xww5jb537k9jg";} - {name="poxml";value="1icgyilfyv3kfgqnx81c0xfdjklx8rr8xhllqlgh5gpr109ib0v3";} - {name="print-manager";value="1bxkf7lfg2bvqy655zd22p1zsj68zyw95kl1xgk2fsbv4p4d4s46";} - {name="pykde4";value="0x2zx012n3ng7cnbwv6mjjy7d5cpxj0xicnnp5xpd7cqmi2v4k8x";} - {name="qtruby";value="0vbhfynyc0bffr76iz2jfxn15l1nv95g8y7lr9iy32ha84bmc5g3";} - {name="qyoto";value="0r8q9hwinac1bk0mvym60s9fwx7ahdsc80mk2a7i9bns5fpd30x8";} - {name="rocs";value="16kk54yqpx94cvhkmxvclzkz5w3lfrvcy3mvhyqb0czsknv7hmgm";} - {name="smokegen";value="0v1adb6qfmdpvw4yimq8dlxw8zsdbjdw0viwvlxbmvaf4an5kd3y";} - {name="smokekde";value="00rw321lcm0by0p8ij60kylg56nrpi0y3j0xj2ss10k9cr13cgwd";} - {name="smokeqt";value="116avrlmy7k3ihc176rjl81jlzcp9jlpym1j2cziyxpzygki77ip";} - {name="step";value="16vzcw16hqifhmscvhdrww0ykcim8bw271xbqb2g75rf2dcl1zvf";} - {name="superkaramba";value="1fx5qwmd6md2x8zxn8xqnildrcxpwlrxbqmi2ia4qm7ivngpdsy4";} - {name="svgpart";value="0az94772zvzsikm3imdaq7a22c1gfpn0yv2alc5nk85sa7yl3jzc";} - {name="sweeper";value="18nwfrjpdczrmm5ckr64vgznz0nfj53lbwafwyzabp1d2wbvp1r8";} - {name="umbrello";value="09pg5xng1mgfvna5kdl4wbfc38b4wrswfl48kdmskjk640p854z7";} -]; -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/4.11.2.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.2.nix deleted file mode 100644 index 04a65cc08c6..00000000000 --- a/pkgs/desktops/kde-4.11/kde-package/4.11.2.nix +++ /dev/null @@ -1,444 +0,0 @@ -{stable=true; -hashes=builtins.listToAttrs[ - {name="amor";value="1p31vayk12pfgrx5bi0c7kiwzyk1j84b9cssrir63amfxa0gfqm5";} - {name="analitza";value="11bwyfqah01riilrl73b9aymd8jqkprch60fi7ya5jvz385ngxzk";} - {name="ark";value="0cygijr642xhrrd1a74nzgidqlb244xnp9na3ry7n49rxni3bm1n";} - {name="audiocd-kio";value="0a52wp0hfnw24asyy6akfnyyb1hfkkzfiy2fml7zs9pqr1knxbq1";} - {name="blinken";value="0wc72gx141id6h35z2lhc762yp2mi4j3bdrhlsg05f42cz0dyzv6";} - {name="bomber";value="1zszxy94gbzdq1jddfglxcpk3d7ly3cn2hmllblhqywx9d2s8app";} - {name="bovo";value="1fr1hwpcqazh5y39wgahydr91fnd0rbrnwv2ajaq8zzaqbqqkgqv";} - {name="cantor";value="01i2w42x606yrcrr4zacalw8rhwjczij0vfdmkqsr27dvnpl64fa";} - {name="cervisia";value="1iln0p690kd40anpq26snyhb1d2ql3kz89y05lbgq14n9v4iriij";} - {name="dolphin-plugins";value="0d386hfynxqgmcizqqspzi7lzhlm2nwz0agm7iaw6xl26xm0h5bg";} - {name="dragon";value="0jnqnskf4g93fd6mw5b11mp5006yk7p0lshbnglrsnybznh6q2k5";} - {name="ffmpegthumbs";value="15hcsglcwqmwhdnp0i8d3slr4k0j94m57baiv7axn4wpbsss5k5n";} - {name="filelight";value="1npwgsngqk01akzyny2x7f9c7j092c4vjfmdnm2g7hm36q2gy823";} - {name="granatier";value="0bclrsi6999xcsmksbg280mvhszxdsr3f5cyzsn5yahs3k6isf2j";} - {name="gwenview";value="1qq827b1dfqx5xybr8bjs9ch7407ix6w47iryrbs8vs3k08qw8jw";} - {name="jovie";value="1fq8vihh7v19wmwfgxg3m6qi4730wj12m9sv41c7nwdqz3c0gzs2";} - {name="juk";value="18lyw6w7z2f72j9madg9rksafj1dpz8pdc09fby9gvkwacd7qsab";} - {name="kaccessible";value="0swzpk3kfrc4a3bf9gf40kh8y6nyd2qhvnxxsv6m00m701cj73ar";} - {name="kactivities";value="13iz2d2l7rn2d9q5c3mg4836mxgnds83cy2ll18r82bpp59qj4nx";} - {name="kajongg";value="0wvdf9lkkiy07dhwvmamz4gginq6ljy57swp4j4z2mm8m3x9i071";} - {name="kalgebra";value="0p2k1c710j5nsvb218h3mkbymsd48y0yw09ijx16cbdwvka7mpag";} - {name="kalzium";value="0mflvnb3nrrgh6h172lkhh0mxwrpdwcji74f8g6kb7xpr45ms21k";} - {name="kamera";value="1rybwccq3q6q0xk9p7f4clx1gf73fqzl69dx99q19wfc5y23pmg9";} - {name="kanagram";value="10vdkva83kb8rk6xaxcv5lgdil5wnz6i2bphz2c029s4vm8d2i2n";} - {name="kapman";value="0m5mawy3bjp2zd3jkylxsw4ccwzqg8lqd2v9i07zzf6f9ihjqs6r";} - {name="kapptemplate";value="16w8lrq2an4iwrss81fp0jisd52v2lwbvyam93cwxfcp4bsbzs9y";} - {name="kate";value="0n6jnfwprd5xjyja1dmja785swxgxnpz769xbg5aylnr1rsldzv2";} - {name="katomic";value="14rrnm6qf5lf05lj9d2zalrv5npj4hkng4i68y1svkgjl8p98j52";} - {name="kblackbox";value="00n3n011cnspdh606aa3scxj388vs3j1bamhk6bxnhmc26gbi54b";} - {name="kblocks";value="0l080dqdkqqqn1927gnjzbp3jqwladw1qmkx171291qxa0x364x0";} - {name="kbounce";value="10q1821wcnh4xggrndgvsm4dx6hyx4nll3f7blz77cga8fvz8lbw";} - {name="kbreakout";value="1xhnmlp2f8a0pmsabsw0yc53i5hcxf1bgid1ffbbgsr014xgqmmi";} - {name="kbruch";value="1rridi7lv1izmq68ymjmmm7mvyl3bdnkxj84dxg97yv91yqjx6ys";} - {name="kcachegrind";value="0crsb236nay9c0r49hgmiysa9bqwy89aj1avh3sxh82b7dsqmplp";} - {name="kcalc";value="0mw77vw8py0xnvkx43lvfzkghwd974chiszxck78iks2m12vgnpz";} - {name="kcharselect";value="1ys31fx7g85xmhia05s0i30k1jf1in83hnwc568lsbzvw37adbim";} - {name="kcolorchooser";value="0cn9n82kk08c55sy1hncpg5pjzlinkgvmii2p5gyp28fx4yphh45";} - {name="kcron";value="05bgwijfcpk56fkmnfjgcrmvkr50j1p524xg8s7zjxsdgib4p9xs";} - {name="kdeartwork";value="166fm27iby4gjk8f8zbdamwzkjh5wbvhfj9wn0pkp2dm8l9h8lq2";} - {name="kde-baseapps";value="1kgwgrn73x89zipkhq1irs09ka9wi8hk22daf16c4a6hbpinl24x";} - {name="kde-base-artwork";value="076h9sl1gyn6c2lmslig9p7w7m049bna9l8wv5jllwssm8i83ccg";} - {name="kde-dev-scripts";value="0dpdpc24kcyihgqqypqrxhmfwsmhl9ffim80n2rsdp3aka4y10vv";} - {name="kde-dev-utils";value="1j77v0d706ic9m008apqwc1287ma47qmpbv07xv770i0wjh90pl6";} - {name="kdegraphics-mobipocket";value="02dzr5lm75p6rw7k30aj5m296h8whxg1shrv8s1pm7ari2660d50";} - {name="kdegraphics-strigi-analyzer";value="09cnwvmkjyxagpb5sqgcj69fr496wb0pn4xns65yzynv0540hkkd";} - {name="kdegraphics-thumbnailers";value="1fs69zih92dlm8l60br0c0nwy095hsnszdyspdkmz52ycznmzk28";} - {name="kdelibs";value="01nzkrmvv8pa4x7mq5nw0z6dasm668q37mhdgvkg1hk7i57w98z5";} - {name="kdenetwork-filesharing";value="0ah9v7vvpg8v8nn59h168zn2gaajf39ha2617dyicknc4gn9rsgk";} - {name="kdenetwork-strigi-analyzers";value="1iwhr1ckn06z50j1fq9ah15gni3am91gyhyi0f21jaqdigxpi3my";} - {name="kdepim";value="0gs06h182m74fgdp20z3w4h8ib5xm1h0i1asnwy1s61gvpkcm63h";} - {name="kdepimlibs";value="0kxnczl97wavm3c75wmy4yjw3vbq4x0jdkbk611jn8hqj32c3fl7";} - {name="kdepim-runtime";value="13j39qbb6vgsfhypby994pgwlmmyimmqvfri92m15l0ir7rqgfwm";} - {name="kdeplasma-addons";value="1dy3gw8z18acs3dmw375jv9qnxjrdwzzgj2p164icid7l2041n8l";} - {name="kde-runtime";value="1w4xav8abgqfj943iz2gjzfdmlnk25r5xj3g79sw1ip1bcvkhpq4";} - {name="kdesdk-kioslaves";value="1npqa9wwbgjwlnr24dgprdndygmvsixf19hjbplcnp41dn2q14nz";} - {name="kdesdk-strigi-analyzers";value="1b4anyzl3xd8pfhia8s0mbrhlyr086gic1as766ynddjpr6a4a94";} - {name="kdesdk-thumbnailers";value="0jmkgmabbip7ymjmvyxdrji7xbplrhcrq4vlq8z0jbnyh9b9yngx";} - {name="kde-wallpapers";value="1l4hr5nxvf10yv2n76znrz1s0v7xqppipisc1ffbfdnf2l4wrw11";} - {name="kdewebdev";value="0gp1vm905p0a0j4h1lakj2zxfm4c78898rl05yf04g9x25yj3mbg";} - {name="kde-workspace";value="05yr52xq6w1j2kc4n5wan5f5c7xbcnaad7sdhfns3alg1grlc3i6";} - {name="kdf";value="0nblxiav3rw9zggqxpawvknadxbr601m55535k3gzpg3a4slk7nc";} - {name="kdiamond";value="0w0fzlpvj98ykvvgyzp8hhkn20pyhxc1c8krlagaqxncv1b7mhcf";} - {name="kdnssd";value="0q74myd7shrp43ny2vm7hadr2aix1v35v0hg6i99z7rif9ai8yjh";} - {name="kfloppy";value="1w1qiplcnbq10qv4lyjx521adkcg9w7z372w7fi18hjv93ryliis";} - {name="kfourinline";value="0irghbp7hsrl7bhi2ggf6rb0p62vck47rmmy6zb30wv32xk9gz9k";} - {name="kgamma";value="1cbdxbh57jcz9anawvwybi1s4skcyq84f2r5mjs1xyg2s2fv1l8b";} - {name="kgeography";value="00g544kc7hkabk5xbkl07k3h515ac84l4a49853pj2ryrdrikmvx";} - {name="kget";value="1mdfrwdf6lm94vcc5m4l7q14b70x2pkd0ham194acd60np8bk5s4";} - {name="kgoldrunner";value="0dbhvqxryilixv7ak0b79g8d8a2mbgkp440sxkl31xjak05c1qmv";} - {name="kgpg";value="10py9c1z8i1p0acp2lbi6c95gsfhfv1cw5544xp31v5iccrv2izn";} - {name="khangman";value="0j13zzplvrgrq8gsn7xfbf19xclc6kvsrzbnbgp83ji1dg168z6c";} - {name="kig";value="0ld9g522n361q0h7yvb3zljllbddyglxiamw2hs2svsm7k98klz9";} - {name="kigo";value="1rn8pw4jw7ia3dhwx3jwfzylfd4l067qp1kp01lixddfd0ivh42r";} - {name="killbots";value="0c0hx61by8n10j3wcpwi6pzbq7bnmpylamj0c1r5pbxm69ljsaiv";} - {name="kimono";value="1p40q61p98vz9s4dkwm51p36yk2qx2s00fpiyi1pi73qg4klbc4j";} - {name="kiriki";value="0f01zdlpzwlkriv48p13wlg7j2b0dwzhd7hrq35kyb3jzwx1pc5n";} - {name="kiten";value="0kk5s3idg5vz59drc65w53fd1l2x4vh593crc7by2dgzsf6x40sd";} - {name="kjumpingcube";value="1gdbjv42dryyap3dln7wy3pysbyy9d10vbpb1asxbpn1kzlzlf96";} - {name="klettres";value="08h3b70nj4d4cb71fvm3wkgy27vm1aqx8xzkqdgzs2snzb8ra983";} - {name="klickety";value="1vmnbfjd620g2xibxfpb18cfdfcksny7rjah4j90cvadcsbg8x3x";} - {name="klines";value="10sk0fn6aavdf0df1xw3p0nbwv22ccpdg00xv7h8m4fk43j04dvp";} - {name="kmag";value="062kl6j150f579npfkv7jm2b9zih0ahfpzbpl635fz2av2aimm8j";} - {name="kmahjongg";value="1xikbz840dh57rf83af0jnmjb9q4ggd5801kiqkq6lkp413iij23";} - {name="kmines";value="0ijibp21f6s5l55m2zrcdz2a8xqjk22na79rc0wsdps7pmvf5sfj";} - {name="kmix";value="0md4fqv047g3s9bhr8jz2fcwq1vsld2jfi8j7cg8b8bh73kd2fbq";} - {name="kmousetool";value="1x8vb0hjmx6xac2602iaab93ha2nfk8i0y67z48p6i7s2n3zni06";} - {name="kmouth";value="10ibhgz7mv4kaiyl779h0qlpwgx4s8flsh0850if06mhdxjxld2y";} - {name="kmplot";value="1cy9qi53ivb3zy1lcb35ivh42yvj0gikr8m7j4nlrg4xy93gjrhd";} - {name="knavalbattle";value="1nd2z8ylmqcj515l3llbq2crdlds7qidni8ja24nk1wf5h4k9amp";} - {name="knetwalk";value="01jjal03srn55mlb11vkimgh1mixdwxqi0vh1s56hd894ssn0hgh";} - {name="kolf";value="0nsy2wp3fwing3hkwspjm4d8swhzamaaj5x7k0jyvcqcj93sgp1g";} - {name="kollision";value="1vz313lr1bp7crfnkdfvz5c7dynsyaqhv1pm6fyjv6ribv3dh48q";} - {name="kolourpaint";value="1k8kggx9ljkms4q70m38xd8a364nkynhkqiz2h1znr779sfqy5vp";} - {name="kompare";value="0kp6xzgbbhxxspmlx86f7vhn34iknvspjpniaxqvadrfi6xn4801";} - {name="konquest";value="072nvaxa1yjaq16095xkla3lndyfq2p801wc0r0m2imc62f30cbd";} - {name="konsole";value="17m68zq97whybvixgjdaz45d91x48aw7ijkzfapml7fldpf32bqw";} - {name="kopete";value="1q3825fl5pbim3rfi9s8k5sscvbwdacy00rkww4jdw8z3xxsriqj";} - {name="korundum";value="1iam31q7cf7a9yxx1i0gnqhnm0262ns8qpr6h2n7cmzkns8bckal";} - {name="kpat";value="00mlmqbm0f3yjm89vs91l0rc4r9lsvh0qq59za43rkg8j2rg5nmz";} - {name="kppp";value="0gxnd0p48waz0nz4inalyk52xvbhyd3w5m08p1q2a7ssczvza2wp";} - {name="krdc";value="1s8qm8s6gxfpdgvh4zi7svs48fnrngj7hxkyp1fjmksaczffrfx1";} - {name="kremotecontrol";value="1zjpagr0kcmqsjg4sswqhannc1rix242zbikwzs7jsbq34qy9fg2";} - {name="kreversi";value="1ylimga3wqdam1207c6zp1r0aqmqnndldd6y2pazqgk7wcr5z8lf";} - {name="krfb";value="0gq6rnkprk98ylnrispd66101jb040p8m9fcab9n5v2g4lvxzcia";} - {name="kross-interpreters";value="1njhlscnsd0v7jzzdknsc8nljc2xz7mbxscymhdafbpmjd655sdg";} - {name="kruler";value="0z8krqp9gy1n6kqk5slig9f4f07ddqrsbn6p7xqadrrs5a7g4baa";} - {name="ksaneplugin";value="1crry96ca3pk25xwnpm73004srf85yq3xpbwc1rr3a7xmniqglr7";} - {name="kscd";value="1ix0zdqk2bfmb05j3cwf55kz4sp4krx75wpfzsz2yf3dz047ylqp";} - {name="kshisen";value="1hmv7w2mb6v9rqhifns0js592m2m7ys9fsnrdxiv1nzkcbl3xll7";} - {name="ksirk";value="1pjrq3v1c0sk5r5hdk4rlbs47wwmsrds43ascp6p4rxvbagki99w";} - {name="ksnakeduel";value="09rl2j6pwdhc8lcb2dxh5l3zb0l0iz29b76svb727sga2y7b85qk";} - {name="ksnapshot";value="0n2xbqkm34bq8mgpycfyda82v3c4h07lcqvs747aw95kkydb71yk";} - {name="kspaceduel";value="01dshprsrwjgb7pgxz2razyxi8yi1cmnalyxflwxqh2zd4xx300y";} - {name="ksquares";value="195c1wywm70zwd4z5cqv4xk315xrpkkbwq2myiyxa0wshhiz31bb";} - {name="kstars";value="0xl2vpkxa66gd3ycl092lvnk07fw3phlcp4jmpcby650xvp7h6bn";} - {name="ksudoku";value="1gi5xr0x9w13skvs8dj4lflib7w9xqn2xr6h90mbncg5c54wmlqc";} - {name="ksystemlog";value="148i90y6gc1bw2128xmb56lprmx80s0024dsd4xknm7fw8mpycdm";} - {name="kteatime";value="0cgqz9py80grv7sf8k5mixfl5vzx58g93flv409f7nbpia3fjr26";} - {name="ktimer";value="1ph38xw1yhqg65y9dhgpgzls4yx1y025v1wv5wflmcranx68a589";} - {name="ktouch";value="0n70611cccp09dy8r0q4n7k3l68938hz0xkvp9ik58bnfkn57fvh";} - {name="ktuberling";value="0zfp8ynxxdys819gw7dnq6rl9l62dpfz0hvcm2fd8bvjwxrqzxrm";} - {name="kturtle";value="1ciwmgd7x0223d22jzqgr7ginaf8c9hi4zlcsl3s7i87hd46878g";} - {name="ktux";value="0njz3icalh644kfcnlr4nmdsavkvsp492ig6w0ryr43namqbi0fw";} - {name="kubrick";value="07rkhb4ms8wdcny163z0ffavx3i1z13kxmj8xfbv3jx3nbcr33p5";} - {name="kuser";value="0avxd71zw0v8qirflpws1g7dqvs6hkpqxi89zfrvcsb8fgcqqvx2";} - {name="kwallet";value="0lnv7yd1ig18dmkxanmkwnz6w28p8ak8sg1rxic07g50qni4yk8g";} - {name="kwordquiz";value="03qxjm445jynw41wva8b86kigda2q828p0vkz58ymk8ibds74jfm";} - {name="libkcddb";value="0hz4300q0hhmrjd2ackaxbvdg9j51bc2fkcndw2d7wwvqz4a1am6";} - {name="libkcompactdisc";value="1jf0ivcy7mv3p7xcbigffmx2sby37ainjw29cp8yv0qgdwws5pm3";} - {name="libkdcraw";value="1y75rm55s8407q4qglndf28gix0niq0ypa9g1jwf2c8fpmf7ffph";} - {name="libkdeedu";value="1gd0jp85qnml2nlnf554mm9yszjkxgs9jqyi77vrhhp50bxkwdbv";} - {name="libkdegames";value="12590b023cjjix7mbd6flhm419w4j4zbs83ar9sihlwj6l3fzs9z";} - {name="libkexiv2";value="16jsd5ip4179cs2hvwqvb1cbrl5z06zyr9prr269rg11i8rjfjai";} - {name="libkipi";value="1wsmci2rfrg8jw3scl14cjx4q616lbmvlzjs6lv2dza4cya4jqvy";} - {name="libkmahjongg";value="1s4gzdygrpzjg4rxkn9ndgaj0gzj4ss0ywpd1rv5nv8iaig42cah";} - {name="libksane";value="1hylj10pqr82drw9b9r10rwbjf85fx225az2ha7zcm9j1k170n8d";} - {name="lokalize";value="0d3sym5waf1nivwksqpclwj9hxl1fva3h0hzgsmgg39qbnanqg4d";} - {name="lskat";value="0m47kb9l830d5798xkx9h6fx3ng59zlbji8pnaj6m53q0yj7n5am";} - {name="marble";value="0r27nmbvgxx4w00ii926gkxz2ilaa1sja02q62jhxvm01rp1kvka";} - {name="mplayerthumbs";value="1a58f66mpzngd558336h13vzl0paj3pbl4fna1vk34fzjz0ldsrm";} - {name="nepomuk-core";value="1l14a7hdbz7ap3lidj8acjvkxiycld4wspcw5xnd85pjhks8fcil";} - {name="nepomuk-widgets";value="19g752h1f4gz3208ynprxp7nxnbjgis99016lik8f9179n6mjygb";} - {name="okteta";value="1hwpyb9g1fwcsl713g84za62qjissmjfjhw2jvd2x08lrjablvvk";} - {name="okular";value="03jw7c3h6708aisk301nvfnp0vih3c5wz928zmh54h1aslfi4c3k";} - {name="oxygen-icons";value="01f9xkpk8fgj2ccmbrbjx9z1gxqnj4rrvasxh575lcvknnbsf6vz";} - {name="pairs";value="1zp89sp5qmllbm9qqzcwf90cy5vqvywki2yjgz0gn2svp1629mmg";} - {name="palapeli";value="0kbi61jxxyg2zzjxhjr0m14p1k04jfv212gkj6ic81hrwzjfffzc";} - {name="parley";value="1f266kvb0fzy3gxv9fzq59aikz0g540ydbzvr51hlvlra88sjj47";} - {name="perlkde";value="0gm9wim2llyglnzxqbgy0jzj9ji3p683zbrhlglpxpd6wh3ady1w";} - {name="perlqt";value="0qxad4m6iqc26yn8nsa3g24xr84ncrmhwhz95i2jzzrbqawwas3m";} - {name="picmi";value="0nlw3lqfck3fp77n56qmvlj3p6rr60drsq5qxyrrl3scw2dlipq7";} - {name="poxml";value="0vjmd1r90l85xs9sv2wzd1vdml6a6fh0ipzz7zyixy600lqgxy13";} - {name="print-manager";value="1bw5w8n4wwggib1yrgai2723fwnjrr3wbnnxn85j7bpy3b84cqfh";} - {name="pykde4";value="1ziq3nms0bvpnsl21pw37bkimi817jx0mmqsvf5xkxppx7f622cy";} - {name="qtruby";value="1pyz2zimw9qz8b5nfmzvp0kzsq6rvbwv0s9kxgh7i2xxnh2mj4gp";} - {name="qyoto";value="0jnchp7kdskm9nc533p7bk8shy0i57dcivrmprnwyiy4sfhd4ldj";} - {name="rocs";value="0markia51c5a8ggxaiy6vccpdzlamy7md5jfx4jb79qp8hlv2dlc";} - {name="smokegen";value="1fgh5z2gwyjkgk8290nx747bj1iaj7224nx3ad8qra9v8y6d0w3d";} - {name="smokekde";value="15ci2bs141nbkk2f209rbdacxfdxx6ncp5cc9gv7if8sm708vjy1";} - {name="smokeqt";value="0wmzrr4fslam8mxvl90iyikyyipqlqf7zdynxyqr7zxlc421clyz";} - {name="step";value="1a2v99k3v0ry5iwvl4cza5g7sqhib78nx0p5r369fqvcbn9mn0wz";} - {name="superkaramba";value="1mwa1ggagl8z2422gyilcvb85sgw5db58k0fkv3jcgfi6mx3sv3a";} - {name="svgpart";value="1ma4msnky3civhnx0by6hy4ysi8nhzssrsabnj6hg96d7mpnjvqw";} - {name="sweeper";value="1vgg21ndqbba0il96x01kcy8z242g0f0lwfqgzs9cd17qx05056s";} - {name="umbrello";value="10q4lar55ad58cl4wnmmvmyywm5xi7gcggrfblll8j76mw4dkyda";} -]; -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/4.11.4.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.4.nix deleted file mode 100644 index 17fe253dff4..00000000000 --- a/pkgs/desktops/kde-4.11/kde-package/4.11.4.nix +++ /dev/null @@ -1,444 +0,0 @@ -{stable=true; -hashes=builtins.listToAttrs[ - {name="amor";value="1ljcsrvd2pdy0swvlc0rpjh39bvash5qwszx0lpc9v083jg9cwym";} - {name="analitza";value="1h2bcllpzlkbgxi72g8g143zk06kywgy00rcn5mypsy35b3ka70d";} - {name="ark";value="0q1g5kab6147pdw1mdwr2rkmggrg1x3plw9y0bny1xfvdlkmm1aq";} - {name="audiocd-kio";value="05a56m059awii6gk60dphb3hwi9zq5gd38i0gdx2fq9ns8a5k1qd";} - {name="blinken";value="0fhfy2yvpgcfjdjqq85ws2vddhbv0ljp5gda3x7i7lv730vmhvcq";} - {name="bomber";value="1bgpvd3kib6p7vwkkw9al1qd2mcxl8rv2lzw30d3a0mjka0a31x8";} - {name="bovo";value="0yb1fds74c803l932nmhs00gxqa80rcmnx5js43r60xjca8i97bf";} - {name="cantor";value="154dxff6yki487hy4xy301swm2j9wiv9ql6fhm399cr54yx595ix";} - {name="cervisia";value="1v2h0awmlnvjzyaaqkix4mzv3i63qf21y65nxxfvhzv29imqbx29";} - {name="dolphin-plugins";value="0jpmc93w8z1mg5cxxppqzkkr9mz5lsd1nsaflvmpyyrgvf81x2d7";} - {name="dragon";value="0q2b6f36yaqlbrpjq5h89d8igi270fxipbhj7dy8f31jbyiyrqk1";} - {name="ffmpegthumbs";value="175r16jk0sps6144a5d1yan3m6fyargcpa5pk05g3j6fm9z5il6n";} - {name="filelight";value="1wgzpcq11znw7gxqf6dv0zhiyyljax9cjglsg7hldrpmpcv36ry2";} - {name="granatier";value="1830bp4wb2dsqrh5wlw5si5k9aihv2sgv76flpksdywzgp35nsp6";} - {name="gwenview";value="02i8zkb93ribn2kb2f9yqr2ldgr5qzc9lsfw4iyzjbnsdssww0y5";} - {name="jovie";value="1qi602477f796wf27b9arhkl4lxcwl3zdr3d5ma38x1zqy422zcx";} - {name="juk";value="195wa7qzhadal8pqy98lsxivjkazms9bg5vig89q281p5gf675rj";} - {name="kaccessible";value="0mj1zfrkq14yi1sxg3xyq234rfq8ykjmalkbn4a1fb5prvr4x9zp";} - {name="kactivities";value="0xhmmam62pgw1f2sdgp7yhf8pxpblcaf1jrclfr0h3pjigghvixi";} - {name="kajongg";value="1ag5xs842923y347k92x2phbj6rjmzfpy8wxsqhkygw5bi12n7sd";} - {name="kalgebra";value="1c66ad47m94lb2qrn3cas8g194sri79xzx8dzprj7avc3659n3jh";} - {name="kalzium";value="0li8dip02hr22p0xrnhqlgjqrqmanyv48cpfd2q6q9hjhqjasf85";} - {name="kamera";value="0dcpypb1xzwn2qj2bfcz0dr2ck3falhqa5cgv0sa1lkizndsr9gw";} - {name="kanagram";value="1gmk1ncw8sappzz5hr5im4n23fiy628k9wjrf2fhdlrfin1qwhrn";} - {name="kapman";value="0pnxnql2vc88rjbgz2zmacwxv8nipfdqlaldllnnx0nzzv8y5fky";} - {name="kapptemplate";value="19n4dsdnsk0rm7xci43jmxxczf699nbslk5sqgx7ymrhqwjad647";} - {name="kate";value="137r2snggr4lckqdpck9m9lxa97ldhdqm5y1hs7gfnpnhkjhb1nm";} - {name="katomic";value="12096dnqyz41sf94w0ywpmwj1w5idrk7mbi0k18qjgbm9rqmapc7";} - {name="kblackbox";value="1qjp86lvbjy1chxik3v5m6c90wp86qa8vvpxiz87yryb3zzzrhmc";} - {name="kblocks";value="0vwmv5m2zhdagc5vhdvp8jkfnq3r6ls02a5r5k6m2vl5n5a9mi9k";} - {name="kbounce";value="1cy7lmx1viqwf62mpi137wsx2haqclgxccsdp5gk8xa3s9r9s08d";} - {name="kbreakout";value="1zf6bpdyq5qzzz2xgmprcfkx7jdg153skb24vr44x137sj8mhmb9";} - {name="kbruch";value="07w1isaddxs2vv5c92nskwfybh78naqgc84wzrfcand3h6bl1s6y";} - {name="kcachegrind";value="08c17i6mk50n7nw9b5n7hc6kgxr6k30lr79jxyh96q861ynlhsqm";} - {name="kcalc";value="0lj33rxcj4zb4bmdhz4gwmmakj8kz66bf97rdid4r82cdd1hyjj8";} - {name="kcharselect";value="1ghpnwv47yybviygrz3adjzrkmdwnl0qbljm41d0s6x5583p1dvd";} - {name="kcolorchooser";value="0951nnc3xlp45qh2im91xhnl7w241667bnpnr6xk4p9pn9h979ys";} - {name="kcron";value="1rlfyxqg15r7naqbcwgma7z2vwd6dn95fr4sr3pb460bk9pbpgvi";} - {name="kdeartwork";value="0rpipr6zvywr6fipz8m0bw7iik9vrxslbnnfjy7rf45ywkbz7rnz";} - {name="kde-baseapps";value="15j335pnswjmwcgcgsdxpkmdw6a6pskkk290j9h8pjrcf1fnwbfn";} - {name="kde-base-artwork";value="0ics2inh6vc5k06rfgx8nw3xr782s5r9fj9w2xvd4ynj87mswr0l";} - {name="kde-dev-scripts";value="0fkk70c1q7icsds4b99kk4bwxhldy8m7k829d2n659vi3mn0pw98";} - {name="kde-dev-utils";value="016899rkw5imqlr1n25jzyl7bm6pg7hfdc13i81ghglfwrzqcwsv";} - {name="kdegraphics-mobipocket";value="1x0h9hli509a7fqwy8zvccw8cnxfmaw1grnf6c8iy4fzjik1kimv";} - {name="kdegraphics-strigi-analyzer";value="1qpiydbqxs6xvwdad6w5k2kjx22ldy3lz3fl3afahgi038a246a1";} - {name="kdegraphics-thumbnailers";value="18pn0r7s334jy93ln42r0ny52nynlrbqxr65z1gqfxxh6bmf1z67";} - {name="kdelibs";value="1v9d0r5a07fsyrnrikwgwvh64p1gqx3ch2makl55qqqyzyg16lnx";} - {name="kdenetwork-filesharing";value="1y5n2bvx3p5zcr1615avzlcj2jwjw9g3ah6na99anyk14j1x8pnr";} - {name="kdenetwork-strigi-analyzers";value="1zymkbs4hd9lxck8fylbdkvlcfdm37g3a42gnfi7pcyqc7mv8az9";} - {name="kdepim";value="1rk35yzf0pm6bmnx4fjd2mw6wrn1fvllnqqrg5s2afz6v4shc9b4";} - {name="kdepimlibs";value="1lc5ly08drsaa198il44cbnbwrpzk9ci6nwks2gc8p93rrqd4siv";} - {name="kdepim-runtime";value="0bxjh2xcp46xnsk71zv22as7qyz393ri5mvshg2nam1jfs3fw38r";} - {name="kdeplasma-addons";value="1zdya555q7ljpabsggw23l008fy1q5sjpaphcr9jb4ycyhk879fc";} - {name="kde-runtime";value="05nd0ir5x6i2lkh4xhkmdvqs5rfy2bcj6ib6a9nd1v6j2v6h90dj";} - {name="kdesdk-kioslaves";value="0bdzm70gw64yab3wi35xri6nkkx4vf5b20r3056z6gys932wzfnp";} - {name="kdesdk-strigi-analyzers";value="026swm6mq4dzsq5a38kd6ijwm18gvwqq87k58z8yxc8xwj12cf4d";} - {name="kdesdk-thumbnailers";value="1zpakq07zgv1z6imfzpin180nyda1wdaiqjvd8wdl61c444byagp";} - {name="kde-wallpapers";value="0mrdgjqyw0l960f6gr6ggjgdw9fhnkv9xl5pf6sxla6jfz3w28lc";} - {name="kdewebdev";value="1zk4nnllan06l712scs5pxsy1awb962h1i5l4sf91d9plczdldli";} - {name="kde-workspace";value="0vzi0xy17n1r24gflcxfc8ld2qkg77k8isbz94zi9q56qpm0lhhk";} - {name="kdf";value="0sagjckmnlfh3mbfrvwxgcmngay6nc3wl3wf5jc5agyhpnac55wb";} - {name="kdiamond";value="17xkadf2ycsrd35j83gh2awmf9a5sm814cyz18pcgwjrp6k95dkg";} - {name="kdnssd";value="0vwqj5dzzjm4i780d3glnqkl5adn388y48nwazr4dz3kz1ay43hb";} - {name="kfloppy";value="0nybxrvki28j01bwdas9ys7m6a549190mai4s5sfnsz1sz3h0glh";} - {name="kfourinline";value="043xl0dby94b1v7hbnpsahd5ihgrzp3616zcf7af0icjmwxyqk8w";} - {name="kgamma";value="1l1j81zxl2v063wwbvalbvpsjbiq4zvpqfhpfrnp8gsp7s1sn0y9";} - {name="kgeography";value="1da95fq7437wiqy77v15k7b9y32d627ghfn16dbfpn1gl2srl6md";} - {name="kget";value="0g0yx6mkmz97j7kv9a5y8n4aqrrnr05k42d5jql74s0f1c32f8cr";} - {name="kgoldrunner";value="0dy0hx9ksfwyhsz160jlzks5m9y75nffgg53j4bcrzfakhbjiqfx";} - {name="kgpg";value="0qh8l99gpk71mag6zy86wjhm9mswy4sx7glxrwbbcqz67zag7ky3";} - {name="khangman";value="0452a4di9kbh36spvfaa66sgwfdrj6838h7h7k1g9bay9i7zw1vq";} - {name="kig";value="1yf8x2r1qmarqpsqzraf8xxamlgpynhdrl1afl74ay4npngc3dlp";} - {name="kigo";value="04jbhy55yb72nqsy9cblj813z33zddbmxv6fgxr8i2avr378d79c";} - {name="killbots";value="0sqislgqb8lkqq1gshx7m499nvwwcl5wfn5b6bpvg12azshzffs8";} - {name="kimono";value="0bjk8nq4avh0df1i5yz4y6ibgaas7503827dwf8klzns17if54mq";} - {name="kiriki";value="0209cjsiz8db4nlb9n77zdj25bi71xfl75b7l2wd64pgwlp4k0f6";} - {name="kiten";value="0hb0d5rcwl68vr0ca2vkqxmjx1iz6xjddyxd7fshggv1jbpybcy7";} - {name="kjumpingcube";value="0qxaagxg5cd12jjx4sm7mhh2x5xrgl5vsj0h7400x61j3wbr8npb";} - {name="klettres";value="04a5vy0qw70lm9wsh6qs3lvbadsa8d3blba9c7xxyxhy8l7zmp0h";} - {name="klickety";value="05csnzkb9c396b6gp3iij8m5cjgw68hw8bxqg6sv4gj66iyrymbr";} - {name="klines";value="09cl1cyc2mjqsf4p9ws749v2gpailj6kww2wph1iz4l3sgnavi1p";} - {name="kmag";value="0mna9a46140qa3y3p19gpif83qik4jgl3705mm8s06qh6ryan753";} - {name="kmahjongg";value="0k38vq5r4hr3pfqd37bvb08h7xm54l4kljgyfy3wrx565mq7n5xh";} - {name="kmines";value="04fwfsnj1a1cfr6c3h8cq9anvi4nh4kr5xbcc9l74zvmnnl8j1cw";} - {name="kmix";value="0wqiqgvf1hyinymwn5crqsa3bd7xv934qniyp8pwhlxk1k2ix6x0";} - {name="kmousetool";value="1g643dm8111jk4zq7smlp6hdz42qcmsar2v7y9c9i2a1169r5n1z";} - {name="kmouth";value="1ccibpnw09qm6r9nfb2jchrjwg8i5k3shq6g41i80sgpja6ir8h8";} - {name="kmplot";value="0kx3ccznqydqyc50sn27b6dswwyalhdhxrd789ac9xx6gpn1vcid";} - {name="knavalbattle";value="1lm4393jl45f90zbyvsznln4n7qccl3qw8a1d984ghmqvnx576jr";} - {name="knetwalk";value="0v91z2sd3pyrwsqwxhwz4rhm6lc3lr2y8kkpbyqmf8sf4pchfnkl";} - {name="kolf";value="00s9p9pxkd3insjs0fxnqcnhycy27wm5isyp4bnaa11i79i4zl3g";} - {name="kollision";value="0sf5pzrk10ad6x86wvbmf61jmnpb29hzc21z6l84cbq8iwqpms6x";} - {name="kolourpaint";value="1icagd88zvp138dr9l2g5cp7cisry0jmja5qh8mxpidk3ax94d7s";} - {name="kompare";value="02y3rlr4v5p6x9x2i0h39x0g1fql893hhyizb05ici2a61ddbs94";} - {name="konquest";value="0dg183wmz8b551g3j5rnd591y2sb8ksi0a3cnf8jm8wf3fwfa3zd";} - {name="konsole";value="15n68fihdi6fc0hgrk36q668x653y3z8zqfb5zzawpgd2pmnfkma";} - {name="kopete";value="1658mlfxaxl67zwd7gl0z83jnp8a8lwgvknxgpaa1nyyn2ygflkv";} - {name="korundum";value="1r0dk8hb54wwqk464rwaz3160mc32i7f06ar7k5cg4n9wkqrn9bk";} - {name="kpat";value="082kldxd0pnwdcayaww6dkal0imfnsnwdbcsdlcapzjp51i978q6";} - {name="kppp";value="1adsa7x8i8xc51a6k9fkqwkrv3rz0iwg1xkjfagslgm8s4iac8ki";} - {name="krdc";value="1ddvf4ls6mwmljg5szwqcwn3lsvvpx3pgrx7f0ml5hiymw87mhrr";} - {name="kremotecontrol";value="18imhmss3f5azcj4qnrx4jib2y0xx7rdjd4a6s4h8pqmigln6bin";} - {name="kreversi";value="0qhfpr7j7v8349kj0avk6qrsaiqj5q8bc4pf58abfsgv205gp3rj";} - {name="krfb";value="00z2hrbsfg461dky454xf8ipjp9phfxm8pb6kk0lzakkfzh59zzl";} - {name="kross-interpreters";value="1pz5isyb69cal9qyrhih7s5k6p2l2wwk5qiwczhc3h0ynmk2wssv";} - {name="kruler";value="03d48bv94l9ff7nli7k5q16xl92b38ih90v1bgxkq8pxl7gq493i";} - {name="ksaneplugin";value="0vwzkxqbha1qy6z965s8r1w183ipjz6vqfcxndjdrarzs7mw9ans";} - {name="kscd";value="1ari082m0bhn8ws8wl2kps94s7vhxkrmhlzpzggvl6fssa5fssya";} - {name="kshisen";value="18pliigc2wg1iypf9r8imqp5ih35vbdd4fac7fsac9mzmdvr8pib";} - {name="ksirk";value="1is01dzsd2x6m6vn71i552q0z3qshhgfmlqkvl9g3vsjlz9a811j";} - {name="ksnakeduel";value="0bnaxvzgf7bml483xdvpv1axfi39gxpbykcj8p4vcmkyaqlg9xc6";} - {name="ksnapshot";value="11s5ika5fbh9rhkfbpg9qiyrbd698z17aqqi44qmwn7w7hmd51si";} - {name="kspaceduel";value="058x1j3nv5g77zjkvkzwr0nwfy43gyaqc180mk8xidkzk6w8ncdf";} - {name="ksquares";value="1si68d370k69dd70dvc5s3ny0q3lm1qp0xkyrlzphvfr9ivyb6dj";} - {name="kstars";value="0dxdqgbayh2mdqdjx88prsm5bplsj73xy6zjz4lml99pqz5h24wa";} - {name="ksudoku";value="1b3csnl43i5xfwxnc10qb8aypx8ci5x6lia9qwppcv9w0gqqpmdn";} - {name="ksystemlog";value="1spkyqn0ywi0nbbrcmnkmh88z6525ppshw9wnrzm2ncs9ypsy45s";} - {name="kteatime";value="00nwbw5509g0iz80bg1jljj07kwl9z8zxkvq27qkzx1h0bm9593n";} - {name="ktimer";value="0v9pfbd2hbp7wa01y13845360p7r2bdzpf9h2vc4xb9nifzva9gj";} - {name="ktouch";value="11shkrmw1cbn19j4k167d4qjanh5b6jdqhp65dn24zxbs9prk1y9";} - {name="ktuberling";value="0axx1slrk7142gm9sc61amixzabphdfp2m6zkdw4zi67ly2w15vf";} - {name="kturtle";value="1cm6g8n2qy779cgmvfxvmg49fssrggd1hr87pz1xakd2xkz2qbid";} - {name="ktux";value="039ip37bw0bxc7haz3a9b5ks9hy4k0nyyrqq7n6wdhkg0m4ji5l1";} - {name="kubrick";value="1fmr7w7f8p54892icbvmhd439adg5b04ddfln9ky34akbw8jiap7";} - {name="kuser";value="14dszc4nxgmsm1q6cigh18b97ds4ixsfqp1l717lj39makz7r6jd";} - {name="kwallet";value="1s2w3zqbaml3i3p0s3znka7kwcwib76p0zpfbfzjaxzgxwmb4nwm";} - {name="kwordquiz";value="1a6chbc4hpybxa7w50jlasp5nzrz9z4qk766cxflpf532s6mv9yl";} - {name="libkcddb";value="0h7kg4wnjn2j1wjm758jyf0qiwllzm39zxwkvyd4r744ra88ym6a";} - {name="libkcompactdisc";value="18nwbjgviyqd6pvaq4l7hsihask54knfwsk6z4rpk25ln74ls7rs";} - {name="libkdcraw";value="1b7yzv25dp55mqkj8ap3qy97ddhdagbsfv8kanswln33k8phjvn7";} - {name="libkdeedu";value="1y2iwivgqsg1bb34bif99pa58cqlamfv727h8p69b5r3x0kj1mkk";} - {name="libkdegames";value="0k29wf6zcqvpf9xzrxbizn4pi8mijq8rbr01vck9wx8glj3306gj";} - {name="libkexiv2";value="048rx25n64fyyms9wjdsnlngh5j7650gzxpszf683jgf70x9paj5";} - {name="libkipi";value="0i8k2x68n88v0jwp0yqwbgx6n13vrspb66p3dckwkh4nfsrmnpwn";} - {name="libkmahjongg";value="0b5gfqqk0jjkbhdvh55njlci1k18icijq8a0m987x92dlhyn6hf2";} - {name="libksane";value="13ghwcssd6zp731lcqa3z8q974g5sv48nlp38crpni83jz7wqyl8";} - {name="lokalize";value="1i09brs8v71xhyn3fw69asfvz95gw5iblrnqzf1iybh858fz3sg8";} - {name="lskat";value="11754yxbabhps0w521rzcsqjpkxdk53ikqjchhr91syiymf556as";} - {name="marble";value="07d6hgb65r6aa9h4ikxnssfiq5a0qqbvlq68mp9qib7hhl38qrcx";} - {name="mplayerthumbs";value="1z7f4ibs8jms61kary73p0v4myxsxsag299zp1h3ldfbfshv73yv";} - {name="nepomuk-core";value="08cqvw42zzq981vs9gdix5jjsfgn2i4x0hi7q5ajd2rqyjxngh3s";} - {name="nepomuk-widgets";value="0ncvza1zlk203q57741rx1cj6gqy009ygqpcnlnfbd6xpqyphqq7";} - {name="okteta";value="0b1y8r6fa8dy3xjyiyzj4iy4shwgqff4lv9hrw2dvm3knfvjiyzz";} - {name="okular";value="0wlk1rwgif1qbk7f2v26bgg27vhbjfr4pgbdvncmms43839n9zqq";} - {name="oxygen-icons";value="1w5yn2xyp5kadg5rf2zxb88apgj13c055if3fj5w70mxir1z8nzq";} - {name="pairs";value="00ygnr0r064z33z19mirz79b9dj0wfk6yp38n2rmj1z2568pq9gq";} - {name="palapeli";value="0gbp50aph2ckjj6bw7f5p2xfxw6x8qnypk45c4ys2bfj3xs3kzp9";} - {name="parley";value="0s1iv864ijrlp9wcj13lvy68133dq7spvrmf2xnspn98ba7dydc0";} - {name="perlkde";value="131dipnns5rmncrxh7wmpqxnwxkvnh11rhb7dx76gc9mvgr6k3kg";} - {name="perlqt";value="1rkjv0xmn7v8mgmlfvzfa5ix18xl62hcbgrjg800hrvj43cj7ixj";} - {name="picmi";value="18im6q18zsahx4y75d21ihnmpn00ml8y99xgcwf061jknf3l9rfa";} - {name="poxml";value="0l9zarf51p10hqdnfzks4q7vhm1lkjh1cyi3bqn097jncsv3c0pi";} - {name="print-manager";value="1csnbl0q50g7b0yc681pgf88vvw7f4vzqpq493nn1n6gr8i46l6v";} - {name="pykde4";value="0mwvs209d75s3smsb9wbvcp5n94a9rxh8nvh8d1wyvlkn60kfpr5";} - {name="qtruby";value="1d89h83is86szy4bqa9rb9xcc3iwjgl3kxldcy64cls44cif9vkx";} - {name="qyoto";value="063m9a8b7qc1hxii2w3zyf69b84129zppbrxm83i4q4s0v5y63in";} - {name="rocs";value="02f9cnzkq18fiblih384v3ngaps9lhgqjmzqv2k8k09bxm6pyiz5";} - {name="smokegen";value="17bgshfmxa8iyp65fss3g74wdjdy4rnq7wsf223ls38jk6fjnkmi";} - {name="smokekde";value="0dl24czf5rspgqwm5i8f0a6y911alirnz2vdjywa2j2nimi690il";} - {name="smokeqt";value="1j0qpqr5zjffr8hfkyav50jpxj8xj8n9jk24gahvjnkk9wpyqbjc";} - {name="step";value="1xz074h5hwmacf4v4ca2m580h1sppvvgcwbym142vr55pd3yd2f3";} - {name="superkaramba";value="16xijicbqj771mdy9l91ml8ikm0qjs9ykj8nz6az2xzw6q8izz2g";} - {name="svgpart";value="1d6si3w4kpbxgzyi044cr1ch9b0jrl23fyzabdzxgb2qkcfxifng";} - {name="sweeper";value="1snjprdkzgf80z6waclhibzwcky6k4qam9bkgfd9lkaf9hba5x88";} - {name="umbrello";value="08h82pizkkgqqdgfs2jinwzjb6bc2nr4zyh50fkr0bk0xlspp87f";} -]; -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/4.11.5.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.5.nix deleted file mode 100644 index d9571a4d83c..00000000000 --- a/pkgs/desktops/kde-4.11/kde-package/4.11.5.nix +++ /dev/null @@ -1,444 +0,0 @@ -{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 deleted file mode 100644 index 9424a762c8f..00000000000 --- a/pkgs/desktops/kde-4.11/kde-package/default.nix +++ /dev/null @@ -1,129 +0,0 @@ -{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4 -, release, branch, ignoreList, extraSubpkgs -}: - -let - inherit (stdenv.lib) filter fold; - inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head; -in -rec { - manifest = import (./. + "/${release}.nix"); - - # src attribute for $name tarball - kdesrc = name: fetchurl { - url = "mirror://kde/" + (if manifest.stable then "" else "un") - + "stable/${release}/src/${name}-${release}.tar.xz"; - sha256 = getAttr name manifest.hashes; - }; - - # Default meta attribute - defMeta = { - homepage = http://www.kde.org; - inherit branch; - platforms = stdenv.lib.platforms.linux; - inherit (qt4.meta) maintainers; - }; - - # 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_, ...}: - stdenv.mkDerivation ({ - name = "${name}-${release}"; - src = kdesrc name; - meta = defMeta // meta; - enableParallelBuilding = true; - } // (removeAttrs a [ "meta" "name" ])); - - # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs - # API. - kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name; - - # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz - kdeSubdirPkg = module: - {name, subdir ? name, sane ? name}: - let name_ = name; in - a@{cmakeFlags ? [], name ? name_, meta ? {}, ...}: - stdenv.mkDerivation ({ - name = "${name}-${release}"; - src = kdesrc module; - cmakeFlags = - [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE" - "-DBUILD_doc=TRUE" - "-DBUILD_${subdir}=TRUE" - ] ++ cmakeFlags; - meta = defMeta // meta; - enableParallelBuilding = module.enableParallelBuilding or true; - } // (removeAttrs a [ "meta" "name" "cmakeFlags" ])); - - # A KDE monolithic module - kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; }; - - # Combine packages in one module. - # Arguments: - # * pkgFun --- a function of the following signature: - # module: manifest_attrs: manual_attrs: derivation; - # * module --- name of the module - # * pkgs --- list of packages in manifest format - combinePkgs = pkgFun: module: pkgs: - let - f = p@{name, ...}: - callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; }; - list = map f pkgs; - attrs = listToAttrs (map - ({name, sane ? name, ...}@p: { name = sane; value = f p; }) - pkgs); - in - runCommand "${module}-${release}" - ({passthru = attrs // { - propagatedUserEnvPackages = list; - projects = attrs; - };}) - '' - mkdir -pv $out/nix-support - echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages - ''; - - # Given manifest module data, return the module - kdeModule = { module, sane ? module, split, pkgs ? [] }: - let - pkgs_ = filterPkgs module pkgs; - in - # Module is splitted by upstream - if split then combinePkgs kdeSplittedPkg module pkgs_ - # Monolithic module - else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix") - # Module is splitted by us - else combinePkgs kdeSubdirPkg module pkgs_; - - # The same, as nameValuePair with sane name - kdeModuleNV = a@{ module, sane ? module, ... }: - { name = sane; value = kdeModule a; }; - - filterPkgs = module: (p: - removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p - ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs)); - - # Remove attrsets with x.name in subst. Optimized for empty subst. - removeNames = subst: big: - fold (s: out: filter (x: x.name != s) out) big subst; - - modules = listToAttrs (map kdeModuleNV manifest.modules); - - splittedModuleList = - let - splitted = filter (a: a ? pkgs) manifest.modules; - names = map ({module, sane ? module, ...}: sane) splitted; - in - map (m: m.projects) (stdenv.lib.attrVals names modules); - - individual = - stdenv.lib.zipAttrsWith - ( - name: list: - if tail list == [] - then head list - else abort "Multiple modules define ${name}" - ) - splittedModuleList; -} diff --git a/pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh deleted file mode 100755 index e964ce3ddc1..00000000000 --- a/pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh +++ /dev/null @@ -1,146 +0,0 @@ -#! /bin/sh - -# Usage: download kde release to $dir, then run -# $0 $dir - -dir="$1" - -# Detect release number & whether it is a stable release -if [[ ! -d "${dir}" ]]; then - echo "${dir} is not a directory (or doesn't exist)!" >&2 - exit 1 -fi - -release=$(ls "${dir}"/kdelibs-*.tar.xz | \ - sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//') - -if [[ ${release##*.} -gt 50 ]]; then - stable="false" -else - stable="true" -fi - -echo "Detected release ${release}" >&2 - -declare -A hash -declare -A modules -declare -a packages -declare -a top_level - -# xsltproc output declares -A module -if [[ ! -f kde_projects.xml ]]; then - curl -O -J http://projects.kde.org/kde_projects.xml -fi -eval `xsltproc kde-submodules.xslt kde_projects.xml` - -module[kde-baseapps]=kde-baseapps -unset module[kactivities] - -print_sane() { - echo "Called print_sane $1" >&2 - sane="${1//[^a-z0-9_]/_}" - if [[ "$sane" != "$1" ]]; then - echo "Sane version is $sane" >&2 - echo -n "sane=\"$sane\";" - fi -} - -for i in `cd "${dir}"; ls *-${release}.tar.xz`; do - package=${i%-${release}.tar.xz} - packages+=( "$package" ) - echo -n "${package}.. " >&2 - hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}") - echo -n ${hash[$package]} >&2 - - if [ -n "${module[$package]}" ]; then - m="${module[$package]}" - echo " (${m})" >&2 - modules[$m]=1 - else - top_level+=( "$package" ) - echo " (top-level)" >&2 - fi - #nix-store --add-fixed sha256 "${dir}/${i}" >&2 -done - - -print_pkg_hash() { - echo " {name=\"${1}\";value=\"${hash[$1]}\";}" -} - -print_hashes(){ - echo "hashes=builtins.listToAttrs[" - for p in "${packages[@]}"; do print_pkg_hash "$p"; done - echo "];" -} - -print_split_module(){ - echo -n "$1:" >&2 - echo -e "{\n module=\"$1\";" - print_sane "$1" - echo " split=true;" - echo " pkgs=[" - for p in "${packages[@]}"; do - if [[ "${module[$p]}" == "$1" ]]; then - echo -n " { name=\"$p\"; " - print_sane "$p" - echo " }" - echo -n " $p" >&2 - fi - done - echo " ];" - echo "}" - echo >&2 -} - -print_mono_module(){ - echo -en "{ module=\"$1\"; " - print_sane "$1" - echo -n "$1 ... " >&2 - echo -n " split=false;" - cml="$1-$release/CMakeLists.txt" - tar -xf "${dir}/$1-${release}.tar.xz" "$cml" - if grep '^[^#]*add_subdirectory' $cml >/dev/null; then - if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then - echo " is monolithic (has unconditionally added subdirs)" >&2 - else - subdirs=( `grep '^[^#]*add_subdirectory' $cml | - sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' | - grep -v '\(doc\|cmake\)'` ) - echo " seems splittable, subdirs: ${subdirs[*]}" >&2 - echo -e "\n pkgs=[" - for s in "${subdirs[@]}"; do - echo -en " {" - echo -n " name=\"${s//\//-}\"; " - print_sane "$s" - if [[ $s != "${s//\//-}" ]]; then - echo -n "subdir=\"$s\"; " - fi - echo "}" - done - echo -e " ];\n" - fi - else - echo " is monolithic (has no subdirs)" >&2 - fi - rm $cml - rmdir $1-$release - echo "}" -} - -print_modules(){ - echo "modules=[" - echo "Printing modules splitted by upstream" >&2 - for m in "${!modules[@]}"; do print_split_module "$m"; done - echo >&2 - echo "Printing modules not splitted by upstream (${top_level[*]})" >&2 - for m in "${top_level[@]}"; do print_mono_module "$m"; done - echo "];" -} - -echo "Writing ${release}.nix" >&2 -exec > "${release}.nix" -echo "{stable=${stable};" -print_hashes -print_modules -echo "}" diff --git a/pkgs/desktops/kde-4.11/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.11/kde-package/kde-submodules.xslt deleted file mode 100644 index 952a05a9d27..00000000000 --- a/pkgs/desktops/kde-4.11/kde-package/kde-submodules.xslt +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - declare -A module - - - - module[" - - "]=" - - " - - - - - diff --git a/pkgs/desktops/kde-4.11/kde-runtime.nix b/pkgs/desktops/kde-4.11/kde-runtime.nix deleted file mode 100644 index 28e9aa52e62..00000000000 --- a/pkgs/desktops/kde-4.11/kde-runtime.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2 -, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio -, networkmanager, kactivities, kdepimlibs, openexr, ilmbase -}: - -kde { - buildInputs = [ - kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack - qca2 samba libcanberra pulseaudio - networkmanager kactivities kdepimlibs openexr -#todo: add openslp - ]; - - nativeBuildInputs = [ pkgconfig ]; - - NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR"; - - passthru.propagatedUserEnvPackages = [ virtuoso ]; - - meta = { - license = "LGPL"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kde-wallpapers.nix b/pkgs/desktops/kde-4.11/kde-wallpapers.nix deleted file mode 100644 index 701a1f3771f..00000000000 --- a/pkgs/desktops/kde-4.11/kde-wallpapers.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ kde, cmake }: - -kde { - nativeBuildInputs = [ cmake ]; - - patches = [ ./files/kde-wallpapers-buildsystem.patch ]; - - cmakeFlags = "-DWALLPAPER_INSTALL_DIR=share/wallpapers"; - - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "07jwbxp4gdxkvxdasbzbv00l3kqrjph4d8dlbyxgryf12waykcmm"; - - meta = { - description = "Wallpapers for KDE"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kde-workspace.nix b/pkgs/desktops/kde-4.11/kde-workspace.nix deleted file mode 100644 index 0bb6ed606c7..00000000000 --- a/pkgs/desktops/kde-4.11/kde-workspace.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ 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 -}: - -kde { - -#todo: wayland, consolekit, xmms, opengles, 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.11/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix deleted file mode 100644 index d38c80c4c36..00000000000 --- a/pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, speechd }: - -kde { - buildInputs = [ kdelibs speechd ]; - - meta = { - description = "Text-to-speech synthesis daemon"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix deleted file mode 100644 index 98fae7c983f..00000000000 --- a/pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, speechd }: - -kde { - buildInputs = [ kdelibs speechd ]; - - meta = { - description = "Bridge that provides accessibility services to applications"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix deleted file mode 100644 index 606c61cddb6..00000000000 --- a/pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { -#todo: package qaccessibilityclient - buildInputs = [ kdelibs ]; - - meta = { - description = "Screen magnifier for KDE"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix deleted file mode 100644 index 8e0caa76ed9..00000000000 --- a/pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libXtst, libXt }: - -kde { - buildInputs = [ kdelibs libXtst libXt ]; - - meta = { - description = "A program that clicks the mouse for you"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kmouth.nix deleted file mode 100644 index 4159501967c..00000000000 --- a/pkgs/desktops/kde-4.11/kdeaccessibility/kmouth.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A type-and-say front end for speech synthesizers"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.11/kdeadmin/kcron.nix deleted file mode 100644 index f585461af38..00000000000 --- a/pkgs/desktops/kde-4.11/kdeadmin/kcron.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Configure and schedule tasks"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix deleted file mode 100644 index 88757a6b91c..00000000000 --- a/pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "System log viewer tool"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.11/kdeadmin/kuser.nix deleted file mode 100644 index 6118cf558bb..00000000000 --- a/pkgs/desktops/kde-4.11/kdeadmin/kuser.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, kdepimlibs }: - -kde { - buildInputs = [ kdelibs kdepimlibs ]; - - meta = { - description = "User management tool"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.11/kdeartwork/ColorSchemes.nix deleted file mode 100644 index acccf66976f..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/ColorSchemes.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde { - name = "kde-color-schemes"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE color schemes"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.11/kdeartwork/FindXscreensaver.cmake deleted file mode 100644 index 499ed75268e..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/FindXscreensaver.cmake +++ /dev/null @@ -1,73 +0,0 @@ -#Macro to find xscreensaver directory - -# Copyright (c) 2006, Laurent Montel, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -if (NOT XSCREENSAVER_FOUND) - FIND_PATH(XSCREENSAVER_DIR deco - HINTS - ${KDE4_INCLUDE_DIR} - PATHS - /usr - /usr/local - /opt/local - /usr/X11R6 - /opt/kde - /opt/kde3 - /usr/kde - /usr/local/kde - /usr/local/xscreensaver - /usr/openwin/lib/xscreensaver - /etc - PATH_SUFFIXES - lib${LIB_SUFFIX}/xscreensaver - lib${LIB_SUFFIX}/misc/xscreensaver - lib/xscreensaver - lib64/xscreensaver - lib/misc/xscreensaver - libexec/xscreensaver - bin/xscreensaver-hacks - hacks) - message(STATUS "XSCREENSAVER_DIR <${XSCREENSAVER_DIR}>") - - FIND_PATH(XSCREENSAVER_CONFIG_DIR deco.xml - PATHS - ${KDE4_INCLUDE_DIR} - /usr/ - /usr/local/ - /opt/local/ - /usr/X11R6/ - /opt/kde/ - /opt/kde3/ - /usr/kde/ - /usr/local/kde/ - /usr/openwin/lib/xscreensaver/ - /etc/ - PATH_SUFFIXES xscreensaver xscreensaver/config share/xscreensaver/config - ) - MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>") - -endif(NOT XSCREENSAVER_FOUND) - -#MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>") -#MESSAGE(STATUS "XSCREENSAVER_DIR :<${XSCREENSAVER_DIR}>") - -# Need to fix hack -if(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR) - set(XSCREENSAVER_FOUND TRUE) -endif(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR) - -if (XSCREENSAVER_FOUND) - if (NOT Xscreensaver_FIND_QUIETLY) - message(STATUS "Found XSCREENSAVER_CONFIG_DIR <${XSCREENSAVER_CONFIG_DIR}>") - endif (NOT Xscreensaver_FIND_QUIETLY) -else (XSCREENSAVER_FOUND) - if (Xscreensaver_FIND_REQUIRED) - message(FATAL_ERROR "XScreenSaver not found") - endif (Xscreensaver_FIND_REQUIRED) -endif (XSCREENSAVER_FOUND) - - -MARK_AS_ADVANCED(XSCREENSAVER_DIR XSCREENSAVER_CONFIG_DIR) diff --git a/pkgs/desktops/kde-4.11/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.11/kdeartwork/HighResolutionWallpapers.nix deleted file mode 100644 index edffca1562e..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/HighResolutionWallpapers.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde rec { - name = "kde-wallpapers-high-resolution"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE wallpapers in high resolution"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.11/kdeartwork/IconThemes.nix deleted file mode 100644 index 43071e8bd14..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/IconThemes.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs }: - -kde { - name = "kdeartwork-icon-themes"; - - # Sources contain primary and kdeclassic as well but they're not installed - - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE nuvola and mono icon themes"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.11/kdeartwork/WeatherWallpapers.nix deleted file mode 100644 index 947e5e17ab0..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/WeatherWallpapers.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde rec { - name = "kde-weather-wallpapers"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE wallpapers (weather)"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.11/kdeartwork/desktopthemes.nix deleted file mode 100644 index 93dd361af73..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/desktopthemes.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde { - name = "kde-desktop-themes"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE desktop themes"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.11/kdeartwork/emoticons.nix deleted file mode 100644 index 5ef9f78a719..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/emoticons.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde { - name = "kde-emotion-icons"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE emotion icons (smiles)"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix deleted file mode 100644 index 84cb008056e..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, kdelibs, xscreensaver, kde_workspace, eigen, libkexiv2, libXt, pkgconfig }: - -kde { - buildInputs = [ kdelibs xscreensaver kde_workspace eigen libkexiv2 libXt ]; - - nativeBuildInputs = [ pkgconfig ]; - - prePatch = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake"; - - cmakeFlags = [ "-DBUILD_asciiquarium:BOOL=ON" ]; - - meta = { - description = "KDE screensavers"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.11/kdeartwork/kwin-styles.nix deleted file mode 100644 index b5d769b216d..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/kwin-styles.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, kde_workspace }: - -kde { - buildInputs = [ kdelibs kde_workspace ]; - - meta = { - description = "Styles for KWin"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/sounds.nix b/pkgs/desktops/kde-4.11/kdeartwork/sounds.nix deleted file mode 100644 index e98705da889..00000000000 --- a/pkgs/desktops/kde-4.11/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.11/kdeartwork/styles.nix b/pkgs/desktops/kde-4.11/kdeartwork/styles.nix deleted file mode 100644 index 6a1306c3710..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/styles.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde rec { - name = "kde-style-phase"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Phase, a widget style for KDE"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix deleted file mode 100644 index 7c9846fbf9e..00000000000 --- a/pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs }: - -kde rec { - name = "kdeartwork-wallpapers"; - - buildInputs = [ kdelibs ]; - - meta = { - description = "Additional KDE wallpapers"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.11/kdebindings/perlqt.nix deleted file mode 100644 index 48eed141ce6..00000000000 --- a/pkgs/desktops/kde-4.11/kdebindings/perlqt.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ kde, cmake, smokeqt, perl }: - -kde { - - # TODO: qscintilla2, qwt5 - - buildInputs = [ smokeqt perl ]; - - nativeBuildInputs = [ cmake ]; - - meta = { - description = "Perl bindings for Qt library"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.11/kdebindings/pykde4.nix deleted file mode 100644 index 64e196452e3..00000000000 --- a/pkgs/desktops/kde-4.11/kdebindings/pykde4.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies, - polkit_qt_1, boost, lndir, pkgconfig }: - -let pydir = "lib/python${python.majorVersion}"; in - -kde { - - # todo: polkit isn't found by the build system - - buildInputs = [ - python kdepimlibs shared_desktop_ontologies - boost polkit_qt_1 - ]; - - nativeBuildInputs = [ pkgconfig ]; - - propagatedBuildInputs = [ pyqt4 sip ]; - - preConfigure = - '' - # Symlink PyQt into PyKDE. This is necessary because PyQt looks - # in its PyQt4/uic/widget-plugins directory for plugins, and KDE - # needs to install a plugin. - mkdir -pv $out/${pydir} - ${lndir}/bin/lndir ${pyqt4}/${pydir} $out/${pydir} - cmakeFlagsArray=( "-DSIP_DEFAULT_SIP_DIR=$prefix/share/sip" ) - ''; - - meta = { - description = "Python bindings for KDE"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch deleted file mode 100644 index bd95a0d8bd3..00000000000 --- a/pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 33078b4..30aec0e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -31,8 +31,8 @@ if (NOT COMPILE_RUBY) - return() - endif (NOT COMPILE_RUBY) - --SET(CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR} CACHE DIR "custom installation directory for ruby binary extension" ) --SET(CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR} CACHE DIR "custom installation directory for ruby extension" ) -+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR}) -+string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR}) - - # compute an overall version number which can be compared at once - MATH(EXPR RUBY_VERSION_NUMBER "${RUBY_VERSION_MAJOR}*10000 + ${RUBY_VERSION_MINOR}*100 + ${RUBY_VERSION_PATCH}") diff --git a/pkgs/desktops/kde-4.11/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.11/kdebindings/qtruby.nix deleted file mode 100644 index 03e9dc9a007..00000000000 --- a/pkgs/desktops/kde-4.11/kdebindings/qtruby.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ kde, cmake, smokeqt, ruby }: - -kde { - - # 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}"; - - meta = { - description = "Ruby bindings for Qt library"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch deleted file mode 100644 index f0811d335a7..00000000000 --- a/pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- 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 -@@ -36,6 +36,10 @@ - set (CMAKE_SKIP_BUILD_RPATH FALSE) - set (CMAKE_SKIP_RPATH FALSE) - -+# add the automatically determined parts of the RPATH -+# which point to directories outside the build tree to the install RPATH -+SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) -+ - configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY ) - - add_executable(smokegen ${generator_SRC}) \ No newline at end of file diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch b/pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch deleted file mode 100644 index 53257e836e0..00000000000 --- a/pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -urN smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in smokegen-4.10.5/cmake/SmokeConfig.cmake.in ---- smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in 2013-06-28 17:14:50.000000000 +0000 -+++ smokegen-4.10.5/cmake/SmokeConfig.cmake.in 2013-07-30 21:26:33.000000000 +0000 -@@ -80,8 +80,7 @@ - set(SMOKE_API_BIN "@SMOKE_API_BIN@") - - find_library(SMOKE_BASE_LIBRARY smokebase -- PATHS "@SMOKE_LIBRARY_PREFIX@" -- NO_DEFAULT_PATH) -+ PATHS "@SMOKE_LIBRARY_PREFIX@") - - if (NOT SMOKE_BASE_LIBRARY) - if (Smoke_FIND_REQUIRED) diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.11/kdebindings/smokegen.nix deleted file mode 100644 index a80574ff67a..00000000000 --- a/pkgs/desktops/kde-4.11/kdebindings/smokegen.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, qt4, cmake }: - -kde { - buildInputs = [ qt4 ]; - nativeBuildInputs = [ cmake ]; - - patches = [ ./smokegen-nix.patch ./smokegen-CMakeLists.txt-nix.patch ]; - - meta = { - description = "C++ parser used to generate language bindings for Qt/KDE"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.11/kdebindings/smokekde.nix deleted file mode 100644 index 4474c1d9731..00000000000 --- a/pkgs/desktops/kde-4.11/kdebindings/smokekde.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ kde, cmake, smokeqt, kdelibs, akonadi, kdepimlibs, okular -, shared_desktop_ontologies, attica, pkgconfig }: - -kde { - - # 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 pkgconfig ]; - - LD_LIBRARY_PATH = "${smokeqt}/lib/"; - - meta = { - description = "SMOKE bindings for kdelibs"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix deleted file mode 100644 index 72b267e43c5..00000000000 --- a/pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, qt4, cmake, phonon, qimageblitz, smokegen }: - -kde { - -# TODO: Qwt5, QScintilla2 - - propagatedBuildInputs = [ qt4 phonon qimageblitz ]; - nativeBuildInputs = [ cmake ]; - propagatedNativeBuildInputs = [ smokegen ]; - - meta = { - description = "C++ parser used to generate language bindings for Qt/KDE"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/analitza.nix b/pkgs/desktops/kde-4.11/kdeedu/analitza.nix deleted file mode 100644 index 74c3a1ebb20..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/analitza.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, readline }: -kde { - buildInputs = [ kdelibs readline ]; - - meta = { - description = "Library part of KAlgebra"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/blinken.nix b/pkgs/desktops/kde-4.11/kdeedu/blinken.nix deleted file mode 100644 index cdf9728833c..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/blinken.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Memory Enhancement Game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/cantor.nix b/pkgs/desktops/kde-4.11/kdeedu/cantor.nix deleted file mode 100644 index 670a3429032..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/cantor.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs, libspectre, analitza, R, pkgconfig, libqalculate }: -kde { - -# TODO: R is not found - - buildInputs = [ kdelibs libspectre analitza R libqalculate]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "KDE Frontend to Mathematical Software"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix deleted file mode 100644 index 3675c3a225f..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, libkdeedu, analitza }: -kde { - buildInputs = [ kdelibs libkdeedu analitza ]; - - meta = { - description = "2D and 3D Graph Calculator"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.11/kdeedu/kalzium.nix deleted file mode 100644 index 09de79ce1c0..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kalzium.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs, facile, ocaml, eigen, openbabel, avogadro, pkgconfig }: -kde { - -# TODO: chemical mime data - - buildInputs = [ kdelibs facile ocaml eigen openbabel avogadro ]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "Periodic Table of Elements"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.11/kdeedu/kanagram.nix deleted file mode 100644 index 8759c96d78c..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kanagram.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, libkdeedu }: -kde { - buildInputs = [ kdelibs libkdeedu ]; - - meta = { - description = "Letter Order Game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.11/kdeedu/kbruch.nix deleted file mode 100644 index dc50f1e85a3..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kbruch.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Practice Fractions"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.11/kdeedu/kgeography.nix deleted file mode 100644 index bd8d27c8d6e..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kgeography.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Geography Trainer"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/khangman.nix b/pkgs/desktops/kde-4.11/kdeedu/khangman.nix deleted file mode 100644 index 997b50e906a..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/khangman.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, libkdeedu }: -kde { - buildInputs = [ kdelibs libkdeedu ]; - - meta = { - description = "KDE hangman game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kig.nix b/pkgs/desktops/kde-4.11/kdeedu/kig.nix deleted file mode 100644 index bd5ef67529c..00000000000 --- a/pkgs/desktops/kde-4.11/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.11/kdeedu/kiten.nix b/pkgs/desktops/kde-4.11/kdeedu/kiten.nix deleted file mode 100644 index 939b7a9f77a..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kiten.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Japanese Reference/Study Tool"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/klettres.nix b/pkgs/desktops/kde-4.11/kdeedu/klettres.nix deleted file mode 100644 index 7a0fa83078e..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/klettres.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A KDE alphabet tutorial"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.11/kdeedu/kmplot.nix deleted file mode 100644 index 18458cf6f0b..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kmplot.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A KDE mathematical function plotter"; - kde = { - name = "kmplot"; - }; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kstars.nix b/pkgs/desktops/kde-4.11/kdeedu/kstars.nix deleted file mode 100644 index 4ae36c480f9..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kstars.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ kde, kdelibs, eigen, xplanet, indilib, pkgconfig }: - -kde { - -# TODO: wcslib - - buildInputs = [ kdelibs eigen xplanet indilib ]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "A KDE graphical desktop planetarium"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.11/kdeedu/ktouch.nix deleted file mode 100644 index 9e606adde33..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/ktouch.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libxkbfile }: - -kde { - buildInputs = [ kdelibs libxkbfile ]; - - meta = { - description = "Touch Typing Tutor"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.11/kdeedu/kturtle.nix deleted file mode 100644 index 1e1922b1410..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kturtle.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Educational Programming Environment"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.11/kdeedu/kwordquiz.nix deleted file mode 100644 index 1b33ba2e469..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/kwordquiz.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libkdeedu }: - -kde { - buildInputs = [ kdelibs libkdeedu ]; - - meta = { - description = "Flash Card Trainer"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.11/kdeedu/libkdeedu.nix deleted file mode 100644 index def6c85fefe..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/libkdeedu.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Libraries used by KDE Education applications"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/marble.nix b/pkgs/desktops/kde-4.11/kdeedu/marble.nix deleted file mode 100644 index 2dc07d14a0d..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/marble.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ kde, kdelibs, gpsd }: - -kde { - -# TODO: package QextSerialPort, libshp(shapelib), QtMobility, QtLocation, libwlocate, quazip - - buildInputs = [ kdelibs gpsd ]; - - meta = { - description = "Marble Virtual Globe"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/pairs.nix b/pkgs/desktops/kde-4.11/kdeedu/pairs.nix deleted file mode 100644 index 36c4aba9604..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/pairs.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A memory and pairs game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/parley.nix b/pkgs/desktops/kde-4.11/kdeedu/parley.nix deleted file mode 100644 index f9f86dde150..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/parley.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libkdeedu, attica }: - -kde { - buildInputs = [ kdelibs libkdeedu attica ]; - - meta = { - description = "Vocabulary Trainer"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/rocs.nix b/pkgs/desktops/kde-4.11/kdeedu/rocs.nix deleted file mode 100644 index ce30d11fda3..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/rocs.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ kde, kdelibs, boost, grantlee }: - -kde { - buildInputs = [ kdelibs (boost.override { enableExceptions = true; }) grantlee ]; - - NIX_CFLAGS_COMPILE = "-fexceptions"; - - meta = { - description = "A KDE graph theory viewer"; - kde = { - name = "rocs"; - }; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeedu/step.nix b/pkgs/desktops/kde-4.11/kdeedu/step.nix deleted file mode 100644 index 997cfb42c9e..00000000000 --- a/pkgs/desktops/kde-4.11/kdeedu/step.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ 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.11/kdegames/bomber.nix b/pkgs/desktops/kde-4.11/kdegames/bomber.nix deleted file mode 100644 index 026227910f2..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/bomber.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a single player arcade game. The player is invading various cities in a plane that is decreasing in height"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/bovo.nix b/pkgs/desktops/kde-4.11/kdegames/bovo.nix deleted file mode 100644 index b0e7d99c589..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/bovo.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a Gomoku (from Japanese 五目並べ - lit. \"five points\") like game for two players, where the opponents alternate in placing their respective pictogram on the game board"; - }; - -} diff --git a/pkgs/desktops/kde-4.11/kdegames/granatier.nix b/pkgs/desktops/kde-4.11/kdegames/granatier.nix deleted file mode 100644 index 9f1ab005309..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/granatier.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a clone of the classic Bomberman game, inspired by the work of the Clanbomber clone"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kajongg.nix b/pkgs/desktops/kde-4.11/kdegames/kajongg.nix deleted file mode 100644 index 9a6f5e83695..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kajongg.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs, libkdegames, pythonPackages, sqlite, pykde4 }: -kde rec { - - buildInputs = [ kdelibs libkdegames pythonPackages.python pythonPackages.wrapPython sqlite ] ++ pythonPath; - - pythonPath = [ pythonPackages.twisted pykde4 ]; - - postInstall = "wrapPythonPrograms"; - - meta = { - description = "an ancient Chinese board game for 4 players"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kapman.nix b/pkgs/desktops/kde-4.11/kdegames/kapman.nix deleted file mode 100644 index f10e099da3c..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kapman.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a clone of the well known game Pac-Man"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/katomic.nix b/pkgs/desktops/kde-4.11/kdegames/katomic.nix deleted file mode 100644 index a9936c04f0e..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/katomic.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a fun and educational puzzle game built around molecular geometry"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.11/kdegames/kblackbox.nix deleted file mode 100644 index 27eeff2f65b..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kblackbox.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a game of hide and seek played on an grid of boxes, where the player shoots rays into the grid to deduce the positions of hidden objects"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kblocks.nix b/pkgs/desktops/kde-4.11/kdegames/kblocks.nix deleted file mode 100644 index 98cf068de09..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kblocks.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a classic single player falling blocks puzzle game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kbounce.nix b/pkgs/desktops/kde-4.11/kdegames/kbounce.nix deleted file mode 100644 index 77fa0db6352..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kbounce.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a single player arcade game with the elements of puzzle"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.11/kdegames/kbreakout.nix deleted file mode 100644 index 3a484d919bb..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kbreakout.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a Breakout-like game. Its object is to destroy as many bricks as possible without losing the ball"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.11/kdegames/kdiamond.nix deleted file mode 100644 index 06dfcee5ac3..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kdiamond.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a single player puzzle game. The object of the game is to build lines of three similar diamonds"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.11/kdegames/kfourinline.nix deleted file mode 100644 index 11b8838e708..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kfourinline.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a board game for two players based on the Connect-Four game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix deleted file mode 100644 index 6217c47a806..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "an action game where the hero runs through a maze, climbs stairs, dig holes and dodges enemies in order to collect all the gold nuggets and escape to the next level"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kigo.nix b/pkgs/desktops/kde-4.11/kdegames/kigo.nix deleted file mode 100644 index 32eee67cc1e..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kigo.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "an open-source implementation of the popular Go game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/killbots.nix b/pkgs/desktops/kde-4.11/kdegames/killbots.nix deleted file mode 100644 index d9c1472495e..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/killbots.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple game of evading killer robots"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kiriki.nix b/pkgs/desktops/kde-4.11/kdegames/kiriki.nix deleted file mode 100644 index 72f7ab67501..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kiriki.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "an addictive and fun dice game, designed to be played by as many as six players"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix deleted file mode 100644 index a6d22cff51c..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple dice driven tactical game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/klickety.nix b/pkgs/desktops/kde-4.11/kdegames/klickety.nix deleted file mode 100644 index b592bc40641..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/klickety.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a puzzle game where the player removes groups of colored marbles to clear the board"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/klines.nix b/pkgs/desktops/kde-4.11/kdegames/klines.nix deleted file mode 100644 index 90952fe91c0..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/klines.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple but highly addictive one player game. The player has to move the colored balls around the game board, gathering them into the lines of the same color by five"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix deleted file mode 100644 index 946b531ff12..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames, libkmahjongg }: -kde { - buildInputs = [ kdelibs libkdegames libkmahjongg ]; - meta = { - description = "the tiles are scrambled and staked on top of each other to resemble a certain shape. The player is then expected to remove all the tiles off the game board by locating each tile's matching pair"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kmines.nix b/pkgs/desktops/kde-4.11/kdegames/kmines.nix deleted file mode 100644 index 538454e9598..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kmines.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a classic Minesweeper game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix deleted file mode 100644 index 42ffd2fcb4d..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a Battle Ship game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.11/kdegames/knetwalk.nix deleted file mode 100644 index a16e578ce84..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/knetwalk.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a small game where you have to build up a computer network by rotating the wires to connect the terminals to the server"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kolf.nix b/pkgs/desktops/kde-4.11/kdegames/kolf.nix deleted file mode 100644 index 78815ee5799..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kolf.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a miniature golf game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kollision.nix b/pkgs/desktops/kde-4.11/kdegames/kollision.nix deleted file mode 100644 index 3147c7305ea..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kollision.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple ball dodging game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/konquest.nix b/pkgs/desktops/kde-4.11/kdegames/konquest.nix deleted file mode 100644 index 53ddd64928c..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/konquest.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "the KDE version of Gnu-Lactic Konquest"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kpat.nix b/pkgs/desktops/kde-4.11/kdegames/kpat.nix deleted file mode 100644 index f8d9bad36dc..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kpat.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a relaxing card sorting game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kreversi.nix b/pkgs/desktops/kde-4.11/kdegames/kreversi.nix deleted file mode 100644 index 2aed981428e..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kreversi.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple one player strategy game played against the computer. If a player's piece is captured by an opposing player, that piece is turned over to reveal the color of that player"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kshisen.nix b/pkgs/desktops/kde-4.11/kdegames/kshisen.nix deleted file mode 100644 index 9c888034038..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kshisen.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames, libkmahjongg }: -kde { - buildInputs = [ kdelibs libkdegames libkmahjongg ]; - meta = { - description = "a solitaire-like game played using the standard set of Mahjong tiles"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/ksirk.nix b/pkgs/desktops/kde-4.11/kdegames/ksirk.nix deleted file mode 100644 index 767eb67971a..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/ksirk.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames, qca2 }: -kde { - buildInputs = [ kdelibs libkdegames qca2 ]; - meta = { - description = "a computerized version of the well known strategic board game Risk"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix deleted file mode 100644 index ccf1fb551e9..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple Tron-Clone"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix deleted file mode 100644 index 5285f7916ca..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "each of two possible players control a satellite spaceship orbiting the sun. As the game progresses players have to eliminate the opponent's spacecraft with bullets or mines"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/ksquares.nix b/pkgs/desktops/kde-4.11/kdegames/ksquares.nix deleted file mode 100644 index a17be2da632..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/ksquares.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a game modeled after the well known pen and paper based game of Dots and Boxes"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.11/kdegames/ksudoku.nix deleted file mode 100644 index ea4e13a5e4f..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/ksudoku.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a logic-based symbol placement puzzle"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.11/kdegames/ktuberling.nix deleted file mode 100644 index 1a6ba9d653c..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/ktuberling.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a simple constructor game suitable for children and adults alike"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/kubrick.nix b/pkgs/desktops/kde-4.11/kdegames/kubrick.nix deleted file mode 100644 index 9bdc6879db4..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/kubrick.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a game based on the Rubik's Cube™ puzzle"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.11/kdegames/libkdegames.nix deleted file mode 100644 index 3819dcdc9ae..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/libkdegames.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, openal, libsndfile }: -kde { - buildInputs = [ kdelibs openal libsndfile ]; - meta = { - description = "KDE games library"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix deleted file mode 100644 index 383b347dc33..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a library for KMahjongg game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/lskat.nix b/pkgs/desktops/kde-4.11/kdegames/lskat.nix deleted file mode 100644 index 2a5050cd667..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/lskat.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a fun and engaging card game for two players, where the second player is either live opponent, or a built in artificial intelligence"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/palapeli.nix b/pkgs/desktops/kde-4.11/kdegames/palapeli.nix deleted file mode 100644 index 010dbd5d623..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/palapeli.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - -# TODO: package qvoronoi - - buildInputs = [ kdelibs libkdegames ]; - - meta = { - description = "a single-player jigsaw puzzle game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegames/picmi.nix b/pkgs/desktops/kde-4.11/kdegames/picmi.nix deleted file mode 100644 index 165d7422f95..00000000000 --- a/pkgs/desktops/kde-4.11/kdegames/picmi.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkdegames }: -kde { - buildInputs = [ kdelibs libkdegames ]; - meta = { - description = "a single player logic-based puzzle game"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix deleted file mode 100644 index b6fd701ac12..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ 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.11/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.11/kdegraphics/kamera.nix deleted file mode 100644 index 70904b17c23..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/kamera.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libgphoto2 }: - -kde { - buildInputs = [ kdelibs libgphoto2 ]; - - meta = { - description = "KDE camera interface library"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.11/kdegraphics/kcolorchooser.nix deleted file mode 100644 index 58528cb186b..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/kcolorchooser.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A small utility to select a color"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix deleted file mode 100644 index 2c2ba3796a2..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, okular }: - -kde { - buildInputs = [ kdelibs okular ]; - - meta = { - description = "A collection of plugins to handle mobipocket files"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix deleted file mode 100644 index 35af39aa611..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libtiff }: - -kde { - buildInputs = [ kdelibs libtiff ]; - - meta = { - description = "Strigi analyzers for various graphics file formats"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix deleted file mode 100644 index 18c6534eb5c..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ 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.11/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.11/kdegraphics/kgamma.nix deleted file mode 100644 index 28d9252187e..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/kgamma.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libXxf86vm }: - -kde { - buildInputs = [ kdelibs libXxf86vm ]; - - meta = { - description = "KDE monitor calibration tool"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.11/kdegraphics/kolourpaint.nix deleted file mode 100644 index 5276ec09f46..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/kolourpaint.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, qimageblitz }: - -kde { - buildInputs = [ kdelibs qimageblitz ]; - - meta = { - description = "KDE paint program"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.11/kdegraphics/kruler.nix deleted file mode 100644 index c5c2c6e05d7..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/kruler.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE screen ruler"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.11/kdegraphics/ksaneplugin.nix deleted file mode 100644 index 1381ed7dd26..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/ksaneplugin.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libksane }: - -kde { - buildInputs = [ kdelibs libksane ]; - - meta = { - description = "A KScan plugin that implements the scanning through libksane"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.11/kdegraphics/ksnapshot.nix deleted file mode 100644 index f01a609e20d..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/ksnapshot.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, libkipi }: - -kde { - buildInputs = [ kdelibs libkipi ]; - - meta = { - description = "KDE screenshot utility"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix deleted file mode 100644 index b4d5e5922ca..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs, libjpeg_original, lcms1, jasper, pkgconfig }: - -kde { - - buildInputs = [ kdelibs libjpeg_original lcms1 jasper ]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "Library for decoding RAW images"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix deleted file mode 100644 index 096b0a6e957..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, exiv2 }: - -kde { - buildInputs = [ kdelibs exiv2 ]; - - meta = { - description = "Exiv2 support library"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.11/kdegraphics/libkipi.nix deleted file mode 100644 index 6b16265e7a3..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/libkipi.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Interface library to kipi-plugins"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.11/kdegraphics/libksane.nix deleted file mode 100644 index b539eab3899..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/libksane.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, saneBackends }: - -kde { - buildInputs = [ kdelibs saneBackends ]; - - meta = { - description = "An image scanning library that provides a QWidget that contains all the logic needed to interface a sacanner"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/okular.nix b/pkgs/desktops/kde-4.11/kdegraphics/okular.nix deleted file mode 100644 index 17b8a33ed43..00000000000 --- a/pkgs/desktops/kde-4.11/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 = - [ kdelibs chmlib djvulibre ebook_tools libspectre popplerQt4 qca2 qimageblitz libtiff kactivities ]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "Okular, the KDE document viewer"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix deleted file mode 100644 index a344cc4b4b4..00000000000 --- a/pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "SVG KPart"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix deleted file mode 100644 index 0bf18e8efb0..00000000000 --- a/pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ kde, gcc, cmake, perl -, 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 -, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt -, pkgconfig -}: - -kde { - -# TODO: media-player-info, ACL - - buildInputs = - [ 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 - ]; - - NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR"; - - propagatedBuildInputs = [ qt4 soprano phonon strigi ]; - - propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ]; - - # TODO: make sonnet plugins (dictionaries) really work. - # There are a few hardcoded paths. - # Split plugins from libs? - - 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" - ]; - - passthru.wantsUdisks2 = false; - - meta = { - description = "KDE libraries"; - license = "LGPL"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix deleted file mode 100644 index 0bd0bf378dd..00000000000 --- a/pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4 -, pkgconfig, doxygen, ebook_tools -}: - -kde { - -# TODO: epub - - 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.11/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix deleted file mode 100644 index 0d29a4f97de..00000000000 --- a/pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, nepomuk_core }: - -kde { - - buildInputs = [ kdelibs nepomuk_core ]; - - meta = { - description = "NEPOMUK Widgets"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix deleted file mode 100644 index 4c56e7529dd..00000000000 --- a/pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libkcompactdisc, cdparanoia, libkcddb, libvorbis, flac, lame }: -kde { - buildInputs = [ kdelibs libkcompactdisc cdparanoia libkcddb libvorbis flac lame ]; - meta = { - description = "transparent audio CD access for applications using the KDE Platform"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix deleted file mode 100644 index 006300742ec..00000000000 --- a/pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - meta = { - description = "a multimedia player with the focus on simplicity"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix deleted file mode 100644 index 45f6c9abcb6..00000000000 --- a/pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, ffmpeg }: -kde { - buildInputs = [ kdelibs ffmpeg ]; - meta = { - description = "a video thumbnail generator for KDE file managers like Dolphin and Konqueror"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.11/kdemultimedia/juk.nix deleted file mode 100644 index 5d7b1db224e..00000000000 --- a/pkgs/desktops/kde-4.11/kdemultimedia/juk.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, taglib, libtunepimp }: -kde { - -# TODO: opusfile - - buildInputs = [ kdelibs taglib libtunepimp ]; - meta = { - description = "an audio jukebox application"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix deleted file mode 100644 index 1dd8108166f..00000000000 --- a/pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libcanberra, pulseaudio }: -kde { - buildInputs = [ kdelibs libcanberra pulseaudio ]; - meta = { - description = "sound mixer, an application to allow you to change the volume of your sound card"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix deleted file mode 100644 index e99ae53935b..00000000000 --- a/pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs, libmusicbrainz }: -kde { - buildInputs = [ kdelibs libmusicbrainz ]; - meta = { - description = "KDE CD player"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix deleted file mode 100644 index 720b01d1861..00000000000 --- a/pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ kde, kdelibs }: -kde { -#todo: libmusicbrainz5 - buildInputs = [ kdelibs ]; - meta = { - description = "a library used to retrieve audio CD meta data from the internet"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix deleted file mode 100644 index 6ed08af89f3..00000000000 --- a/pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - meta = { - description = "KDE library for playing & ripping CDs"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix deleted file mode 100644 index c88ebcc2a5a..00000000000 --- a/pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ kde, kdelibs }: -kde { - buildInputs = [ kdelibs ]; - meta = { - description = "a video thumbnail generator for KDE"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix deleted file mode 100644 index 0330511a258..00000000000 --- a/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ 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.11/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-strigi-analyzers.nix deleted file mode 100644 index e838d84fc5e..00000000000 --- a/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-strigi-analyzers.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, boost }: - -kde { - buildInputs = [ kdelibs boost ]; - - meta = { - description = "Strigi analyzers for various network protocols"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kget.nix b/pkgs/desktops/kde-4.11/kdenetwork/kget.nix deleted file mode 100644 index f986da2de21..00000000000 --- a/pkgs/desktops/kde-4.11/kdenetwork/kget.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ 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.11/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.11/kdenetwork/kopete.nix deleted file mode 100644 index 961d646474e..00000000000 --- a/pkgs/desktops/kde-4.11/kdenetwork/kopete.nix +++ /dev/null @@ -1,27 +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, ortp, srtp, libv4l}: - -kde { - -# TODO: libmeanwhile, xmms, jsoncpp -# commented out deps seem to not be needed anymore, but why so many? - - buildInputs = [ - kdelibs qca2 mediastreamer libgadu # telepathy_qt shared_desktop_ontologies gpgme - kdepimlibs qimageblitz sqlite jasper libotr libmsn giflib # libktorrent libjpeg - libidn libxslt boost # speex libmms msilbc - 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.11/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.11/kdenetwork/kppp.nix deleted file mode 100644 index 4c6bd65769f..00000000000 --- a/pkgs/desktops/kde-4.11/kdenetwork/kppp.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "PPP(Dial-Up) client tool"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.11/kdenetwork/krdc.nix deleted file mode 100644 index 80557e827fe..00000000000 --- a/pkgs/desktops/kde-4.11/kdenetwork/krdc.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ 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.11/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.11/kdenetwork/krfb.nix deleted file mode 100644 index cb4857965a3..00000000000 --- a/pkgs/desktops/kde-4.11/kdenetwork/krfb.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ 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.11/kdepim-runtime.nix b/pkgs/desktops/kde-4.11/kdepim-runtime.nix deleted file mode 100644 index 43006fe5115..00000000000 --- a/pkgs/desktops/kde-4.11/kdepim-runtime.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ kde, libxslt, boost, kdepimlibs, akonadi, shared_desktop_ontologies }: - -kde { - -# TODO: libkgapi, LibKFbAPI,libkolab, libkolabxml - - buildInputs = [ - kdepimlibs akonadi boost shared_desktop_ontologies - libxslt - ]; - - meta = { - description = "KDE PIM runtime"; - license = "GPL"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdepim.nix b/pkgs/desktops/kde-4.11/kdepim.nix deleted file mode 100644 index f5e28a044bb..00000000000 --- a/pkgs/desktops/kde-4.11/kdepim.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime -, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison -, nepomuk_widgets, kactivities, libXScrnSaver -, pkgconfig }: - -kde { - -# TODO: LinkGrammar - - buildInputs = - [ kdepimlibs boost shared_desktop_ontologies akonadi nepomuk_widgets - libxslt cyrus_sasl gpgme libassuan grantlee prison kactivities - libXScrnSaver - ]; - - nativeBuildInputs = [ pkgconfig ]; - - passthru.propagatedUserEnvPackages = [ akonadi kdepimlibs kdepim_runtime ]; - - meta = { - description = "KDE PIM tools"; - longDescription = '' - Contains various personal information management tools for KDE, such as an organizer. - ''; - license = "GPL"; - homepage = http://pim.kde.org; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdepimlibs.nix b/pkgs/desktops/kde-4.11/kdepimlibs.nix deleted file mode 100644 index ca0af9400b1..00000000000 --- a/pkgs/desktops/kde-4.11/kdepimlibs.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ 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 prison - openldap cyrus_sasl akonadi shared_desktop_ontologies - ]; - - propagatedBuildInputs = [ kdelibs nepomuk_core ]; - - meta = { - description = "KDE PIM libraries"; - license = "LGPL"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeplasma-addons.nix b/pkgs/desktops/kde-4.11/kdeplasma-addons.nix deleted file mode 100644 index 550099830d9..00000000000 --- a/pkgs/desktops/kde-4.11/kdeplasma-addons.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig -, boost, eigen, kde_workspace, attica, qca2, qimageblitz -, kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt -, qjson, qoauth }: - -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 - ]; - - nativeBuildInputs = [ pkgconfig ]; - - meta = { - description = "KDE Plasma Addons"; - license = "GPL"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.11/kdesdk/cervisia.nix deleted file mode 100644 index 1dabe46cd42..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/cervisia.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A KDE CVS frontend"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix deleted file mode 100644 index ad8132a850e..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ 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.11/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.11/kdesdk/kapptemplate.nix deleted file mode 100644 index 391536248dd..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/kapptemplate.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A KDE 4 project template generator"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.11/kdesdk/kcachegrind.nix deleted file mode 100644 index 65d410cca48..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/kcachegrind.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE Frontend for Callgrind/Cachegrind"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.11/kdesdk/kde-dev-scripts.nix deleted file mode 100644 index df81145e5d6..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/kde-dev-scripts.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Various scripts to ease KDE development"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix deleted file mode 100644 index 215c0a3c613..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, gcc, libtool }: - -kde { - buildInputs = [ kdelibs libtool ]; - - preConfigure = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}"; - - meta = { - description = "various KDE development utilities"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix deleted file mode 100644 index 98bbce35a97..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ 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.11/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-strigi-analyzers.nix deleted file mode 100644 index 4d579b88ba8..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-strigi-analyzers.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Strigi analyzers for diff, po and ts"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix deleted file mode 100644 index d707fe9038f..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs, gettext }: - -kde { - - buildInputs = [ kdelibs gettext ]; - - meta = { - description = "PO file format thumbnailer"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/kompare.nix b/pkgs/desktops/kde-4.11/kdesdk/kompare.nix deleted file mode 100644 index 1ddb4b8ea5b..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/kompare.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A program to view the differences between files and optionally generate a diff"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.11/kdesdk/lokalize.nix deleted file mode 100644 index 1565426eb1f..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/lokalize.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs, hunspell }: - -kde { - buildInputs = [ kdelibs hunspell ]; - - meta = { - description = "KDE 4 Computer-aided translation system"; - longDescription = '' - Computer-aided translation system. - Do not translate what had already been translated. - ''; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/okteta.nix b/pkgs/desktops/kde-4.11/kdesdk/okteta.nix deleted file mode 100644 index 058636596ad..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/okteta.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ kde, kdelibs, qca2 }: - -kde { - buildInputs = [ kdelibs qca2 ]; - -# TODO: Look what does -DBUILD_mobile add - - enableParallelBuilding = false; - - meta = { - description = "KDE byte editor"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/poxml.nix b/pkgs/desktops/kde-4.11/kdesdk/poxml.nix deleted file mode 100644 index 6e46c3e3ab4..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/poxml.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, antlr, gettext }: - -kde { - buildInputs = [ kdelibs antlr gettext ]; - - meta = { - description = "Po<->xml tools"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.11/kdesdk/umbrello.nix deleted file mode 100644 index e83a2d9a901..00000000000 --- a/pkgs/desktops/kde-4.11/kdesdk/umbrello.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libxml2, libxslt, boost }: - -kde { - buildInputs = [ kdelibs libxml2 libxslt boost ]; - - meta = { - description = "Umbrello UML modeller"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdetoys/amor.nix b/pkgs/desktops/kde-4.11/kdetoys/amor.nix deleted file mode 100644 index 936d63d544a..00000000000 --- a/pkgs/desktops/kde-4.11/kdetoys/amor.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE creature for your desktop"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.11/kdetoys/kteatime.nix deleted file mode 100644 index dacf54def4b..00000000000 --- a/pkgs/desktops/kde-4.11/kdetoys/kteatime.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE utility for making a fine cup of tea"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdetoys/ktux.nix b/pkgs/desktops/kde-4.11/kdetoys/ktux.nix deleted file mode 100644 index 108f9be7c72..00000000000 --- a/pkgs/desktops/kde-4.11/kdetoys/ktux.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, kde_workspace }: - -kde { - buildInputs = [ kdelibs kde_workspace ]; - - meta = { - description = "Tux Screen Saver"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/ark.nix b/pkgs/desktops/kde-4.11/kdeutils/ark.nix deleted file mode 100644 index eb3e12281d6..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/ark.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson }: - -kde { - buildInputs = [ kdelibs kde_baseapps libarchive bzip2 lzma qjson ]; - - meta = { - description = "KDE Archiving Tool"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/filelight.nix b/pkgs/desktops/kde-4.11/kdeutils/filelight.nix deleted file mode 100644 index 25ecabed27c..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/filelight.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Tool to visualise file and directory sizes"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.11/kdeutils/kcalc.nix deleted file mode 100644 index 08b202e8f0e..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/kcalc.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, gmp }: - -kde { - buildInputs = [ kdelibs gmp ]; - - meta = { - description = "KDE Calculator"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.11/kdeutils/kcharselect.nix deleted file mode 100644 index d4c9c06f483..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/kcharselect.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE character selection utility"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/kdf.nix b/pkgs/desktops/kde-4.11/kdeutils/kdf.nix deleted file mode 100644 index 3f9da58d0a6..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/kdf.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE free disk space utility"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.11/kdeutils/kfloppy.nix deleted file mode 100644 index 2434a4fa671..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/kfloppy.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Floppy disk formatting utility"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.11/kdeutils/kgpg.nix deleted file mode 100644 index 944b9edc64d..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/kgpg.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ kde, kdelibs, kdepimlibs, libuuid }: - -kde { - -# TODO: uuid/uuid.h - not found - - buildInputs = [ kdelibs kdepimlibs libuuid ]; - - meta = { - description = "Simple KDE GUI for GPG"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix deleted file mode 100644 index 70311a789f9..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs, libXtst }: - -kde { - buildInputs = [ kdelibs libXtst ]; - - meta = { - description = "KDE remote control"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.11/kdeutils/ktimer.nix deleted file mode 100644 index 5700977349e..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/ktimer.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE Timer"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/kwallet.nix b/pkgs/desktops/kde-4.11/kdeutils/kwallet.nix deleted file mode 100644 index 9ec0e6c0396..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/kwallet.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE Wallet (password storage) management tool"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.11/kdeutils/print-manager.nix deleted file mode 100644 index ae72becd1e4..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/print-manager.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ kde, kdelibs -, pythonPackages, cups, pyqt4, pykde4, pycups, system_config_printer }: - -let s_c_p = system_config_printer.override { withGUI = false; }; in - -kde rec { - buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython - ] ++ pythonPath; - - pythonPath = [ cups pyqt4 pykde4 pycups s_c_p ]; - - passthru.propagatedUserEnvPackages = [ s_c_p ]; - - postInstall = - '' - wrapPythonPrograms - - # "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 - ''; - - meta = { - description = "KDE printer manager"; - longDescription = "Applet to view current print jobs and configure new printers"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix deleted file mode 100644 index cbe7a285606..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, qimageblitz, python }: - -kde { - buildInputs = [ kdelibs qimageblitz python ]; - - cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBUILD_plasma=TRUE" ]; - - meta = { - description = "A KDE Eye-candy Application"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.11/kdeutils/sweeper.nix deleted file mode 100644 index 78d56c7df30..00000000000 --- a/pkgs/desktops/kde-4.11/kdeutils/sweeper.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Helps clean unwanted traces the user leaves on the system"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix deleted file mode 100644 index 55e37809e07..00000000000 --- a/pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "Batch search and replace tool"; - homepage = http://www.kdewebdev.org; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix deleted file mode 100644 index 6d22f72461f..00000000000 --- a/pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "An HTML imagemap editor"; - homepage = http://www.nongnu.org/kimagemap/; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix deleted file mode 100644 index 86a8b7c0a19..00000000000 --- a/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }: - -kde { - - buildInputs = [ kdelibs kdepimlibs htmlTidy boost ]; - - meta = { - description = "A KDE link checker"; - homepage = http://klinkstatus.kdewebdev.org; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.11/kdewebdev/kommander.nix deleted file mode 100644 index d5f4337f714..00000000000 --- a/pkgs/desktops/kde-4.11/kdewebdev/kommander.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "A graphical editor of scripted dialogs"; - }; -} diff --git a/pkgs/desktops/kde-4.11/l10n/default.nix b/pkgs/desktops/kde-4.11/l10n/default.nix deleted file mode 100644 index fa6406043b1..00000000000 --- a/pkgs/desktops/kde-4.11/l10n/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl, kdelibs, gettext, release, branch, stable }: - -let - - inherit (stdenv.lib) attrByPath singleton; - - kdeL10nDerivation = - { lang, saneName, sha256 }: - - stdenv.mkDerivation rec { - name = "kde-l10n-${saneName}-${release}"; - - src = fetchurl { - url = "mirror://kde/${if stable then "" else "un"}stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.xz"; - name = "${name}.tar.xz"; - inherit sha256; - }; - - buildInputs = [ gettext kdelibs ]; - - cmakeFlags = "-Wno-dev"; - - meta = { - description = "KDE translation for ${lang}"; - inherit branch; - license = "GPL"; - platforms = stdenv.lib.platforms.linux; - inherit (kdelibs.meta) maintainers homepage; - }; - }; - - kdeL10nRelease = - builtins.listToAttrs ( - map ({lang, saneName, sha256}: - { - name = saneName; - value = kdeL10nDerivation { inherit lang saneName sha256; }; - } - ) (import (./manifest + "-${release}.nix")) - ); - -in -{ - inherit kdeL10nDerivation; - recurseForDerivations = true; -} // kdeL10nRelease diff --git a/pkgs/desktops/kde-4.11/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.11/l10n/l10n-manifest.sh deleted file mode 100755 index ec159a1e204..00000000000 --- a/pkgs/desktops/kde-4.11/l10n/l10n-manifest.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -# Usage: download kde-l10n to $dir, then run -# $0 $dir - -dir=$1 - -if [[ ! -d "${dir}" ]]; then - echo "${dir} is not a directory (or doesn't exist)!" >&2 - exit 1 -fi - -release=$(ls "${dir}"/kde-l10n-en_GB-*.tar.xz | \ - sed -e 's/.*en_GB-//' -e 's/\.tar\.xz//') - -echo "Detected release ${release}" >&2 - -exec > "manifest-${release}.nix" -echo "[" -for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.xz`; do - lang=${i%-${release}.tar.xz} - lang=${lang#kde-l10n-} - echo -n "${lang}.. " >&2 - hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}") - echo "{" - echo " lang = \"${lang}\";" - echo " saneName = \"$(echo $lang | sed s^@^_^g)\";" - echo " sha256 = \"${hash}\";" - echo "}" - echo $hash >&2 -done -echo "]" diff --git a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix deleted file mode 100644 index c3a46c7637e..00000000000 --- a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix +++ /dev/null @@ -1,272 +0,0 @@ -[ -{ - lang = "ar"; - saneName = "ar"; - sha256 = "10bgdg0npcnxyyqgs1dyfabq8fv08qqifd2vyaffxal3n2qagi1l"; -} -{ - lang = "bg"; - saneName = "bg"; - sha256 = "0jqnav02skkkjphjc3llsqqhb6fid74djng17yhcl1zzdcim2xg1"; -} -{ - lang = "bs"; - saneName = "bs"; - sha256 = "1fh9zddwjz3wirhcr962hcaxri9342q39nqgi1xmwdj2n3mj57xk"; -} -{ - lang = "ca"; - saneName = "ca"; - sha256 = "1y83qi5j5wx6fb0zbch3q95nsrhf4x2rrkcxdfcgfx7gwr04d2fz"; -} -{ - lang = "ca@valencia"; - saneName = "ca_valencia"; - sha256 = "1pqbl2mwnpkiby0gm1dk55cij2x1501pgn74zkasy2agacvfaslb"; -} -{ - lang = "cs"; - saneName = "cs"; - sha256 = "1cnmsjfzc8cimp0h06dm7rfmj9rw47f61py8z288a0iw7j5rgrr4"; -} -{ - lang = "da"; - saneName = "da"; - sha256 = "0a7jhy43j9x7z0bp5yijvkx51zfycizvd6kd9a7d88467vxc54hz"; -} -{ - lang = "de"; - saneName = "de"; - sha256 = "1i2gc86b77k5swmphl25ivpigiqrkhipmnc2vmrp444jialksgdy"; -} -{ - lang = "el"; - saneName = "el"; - sha256 = "1pgc64gw46gb8hbjmw06q1d6rawpcqw8llgp55drghcjy484j1sw"; -} -{ - lang = "en_GB"; - saneName = "en_GB"; - sha256 = "0p1cralvfggqnjvikrgibvlic01fpc5fbdyxjrhrhj195f30sjmw"; -} -{ - lang = "es"; - saneName = "es"; - sha256 = "0msz90jyac7y20rdglbmr8jf7yhb7vwncjynfgrvxd9b998rk4h8"; -} -{ - lang = "et"; - saneName = "et"; - sha256 = "1yykm0hg4bay7i3i16ssa0rvf3kmqv3vgq3gxmism774c4sgng2i"; -} -{ - lang = "eu"; - saneName = "eu"; - sha256 = "00ma7hhjj08gwzy6f9xmbakkbhcc2gpn5v2j1jdqah52jmnw2d1c"; -} -{ - lang = "fa"; - saneName = "fa"; - sha256 = "045wmlmv2rwik1c4v94d68c62bqkrmf6igxz65dv4hw2f5jj86gr"; -} -{ - lang = "fi"; - saneName = "fi"; - sha256 = "1sbgdhr60f10g4lxlcqsx4pid3lmzs2rywdjpqil9ymfy2kpbrc6"; -} -{ - lang = "fr"; - saneName = "fr"; - sha256 = "07y67hg9rp4xckg19zk0lkhrd7i857qkqsbxc0wa9a9chldspjvs"; -} -{ - lang = "ga"; - saneName = "ga"; - sha256 = "1jrr7d14i18r1v1d20vrjn942wa5ppp6zxl6xk6vjsvbz66aj36g"; -} -{ - lang = "gl"; - saneName = "gl"; - sha256 = "1af0wldc8f01zdlc184zqa6gvd11jd5pw1ya51j457rz69k1hvyx"; -} -{ - lang = "he"; - saneName = "he"; - sha256 = "1h5ngkc79pkh1zplq06x2v6qv81mh0fw6yidlw54knqz1bblg1k9"; -} -{ - lang = "hi"; - saneName = "hi"; - sha256 = "11wh3s80khm0czyxm5hcb381dn2hvmdg6k2gggq4jicnycm4rffl"; -} -{ - lang = "hr"; - saneName = "hr"; - sha256 = "10p1h4k728p18r2m08d165gx640946zf40a57cf9jwv0z6xa3hbq"; -} -{ - lang = "hu"; - saneName = "hu"; - sha256 = "1ymgdbvcyq278gxx197jl0i0fiwf1gpycnkyc578g39gddzzh18g"; -} -{ - lang = "ia"; - saneName = "ia"; - sha256 = "1azvfzffqgm15cavv5biy5ymn2wawszgrppk3mki1qnmwrlppx2p"; -} -{ - lang = "is"; - saneName = "is"; - sha256 = "19g7w461g73z0lnmzwkjavg416d54gclhac8bvc53hs7dr6kwnfh"; -} -{ - lang = "it"; - saneName = "it"; - sha256 = "0m6rjgv8x33mhmnis86821djc3xsr2xfx5knajhnyrj5yycyy01p"; -} -{ - lang = "ja"; - saneName = "ja"; - sha256 = "0xcpzlzff4s71miia4gnlxr0qvpipnqmk5lgnxjq27rh1isyasj6"; -} -{ - lang = "kk"; - saneName = "kk"; - sha256 = "1h3bxk7lvd3ivh613805x5xrcfvbxnn0qzbpyy4bysk3lz9kb4bm"; -} -{ - lang = "km"; - saneName = "km"; - sha256 = "1mabfvpwxnqhim9gvxb7qxapy6mzmrrhr4q6ai5w2ssyg0sxrb4b"; -} -{ - lang = "ko"; - saneName = "ko"; - sha256 = "14hzpw2phy6yc6ykx7ny22dqwic7lmkv96f6jhdmcwsjbq9jkj69"; -} -{ - lang = "lt"; - saneName = "lt"; - sha256 = "1bk1ghwhzbgw6awxnz7w5wl49632rb708l8v080l6is3hb88l9gi"; -} -{ - lang = "lv"; - saneName = "lv"; - sha256 = "12yhzg22h1x6dmpmx79bryq94kii8brqasn49ahvshckx3i2y1hm"; -} -{ - lang = "mr"; - saneName = "mr"; - sha256 = "1ag0f1qafm75k1zr5i0jzi3kgal7sw004s2qpq0mkda66p8sxwgv"; -} -{ - lang = "nb"; - saneName = "nb"; - sha256 = "0mc0760yyr23913x6g8f56mfrfwn8s1zav1hz3714jif7sjg6bjs"; -} -{ - lang = "nds"; - saneName = "nds"; - sha256 = "03c0x26plqlvpnsxv5k0x4j92n1dh9mdgg8f5qpwm7cq2k8pnl72"; -} -{ - lang = "nl"; - saneName = "nl"; - sha256 = "0naglfrd0bkahq4pbxb7pi4nkp6cj09w0q8j4jnxf7b104rcj3fv"; -} -{ - lang = "nn"; - saneName = "nn"; - sha256 = "0bmz5l4yasslaqql0zkp5s4k9rsw79rf37vnm6d4hprpckam051h"; -} -{ - lang = "pa"; - saneName = "pa"; - sha256 = "1rykl2z38asa23aa5cqsmril5j0x57j0n0k4qygpy52ifc5gvvf7"; -} -{ - lang = "pl"; - saneName = "pl"; - sha256 = "18yc8hdn4m4h867di098qswdhyx0jsnsh3ax1ax1dfxrdzmy57rq"; -} -{ - lang = "pt"; - saneName = "pt"; - sha256 = "187mgq4s2gmhzd625rni8cmdpvhlnf6zn179wlp140lvdfzblr6c"; -} -{ - lang = "pt_BR"; - saneName = "pt_BR"; - sha256 = "1726qd01iaq730c2dkjb8r8fw34fmqn741c5qz2i57f2f527vf8z"; -} -{ - lang = "ro"; - saneName = "ro"; - sha256 = "0zip2v24ha69si76rjz4qpmwjqnv0w427qa5c1cgc19a04jnbi32"; -} -{ - lang = "ru"; - saneName = "ru"; - sha256 = "1irrhlqmv2cij04kc29rhg0yamw4h6gqijjnhgj6a89gffqn9p1i"; -} -{ - lang = "sk"; - saneName = "sk"; - sha256 = "00pb7z1bqwbymzf91l82ggiqax7qf0pxhjgbbjj5aq25s8rc950v"; -} -{ - lang = "sl"; - saneName = "sl"; - sha256 = "10xixsja2jqhhfwp59yjvzvwmcqvfcs782y7j3wwxmh9a3m6ckzi"; -} -{ - lang = "sr"; - saneName = "sr"; - sha256 = "1pxy8x8jgri25qr4v53kqnilk8hjqcq6mgdk8p795s0zi73bhh0a"; -} -{ - lang = "sv"; - saneName = "sv"; - sha256 = "15npn4nq91hxhqpnyvk2c0c7ka2mm6r6p3cm4amyb22dq8qqfw50"; -} -{ - lang = "tg"; - saneName = "tg"; - sha256 = "077anp6h7prj6hlxbm5lzxv8ria2zbrlgixxinf3cywxq0haajx2"; -} -{ - lang = "tr"; - saneName = "tr"; - sha256 = "06l5y2bl57sfx9jh9g5idl3y76sg4dysgxdvwp8sgg9yj19dnjmn"; -} -{ - lang = "ug"; - saneName = "ug"; - sha256 = "1jr920hihgr27rfznzdn4rc6sz1wi97pnhvikz2hg7nzqrycmb8a"; -} -{ - lang = "uk"; - saneName = "uk"; - sha256 = "1qr6hyh0pqskc4mc7655b5nzkvbmw3hzpzz5iiwp37n3w72ig9km"; -} -{ - lang = "vi"; - saneName = "vi"; - sha256 = "12bnagz2wq1i9zhs7rl6akr6a7h2pndrpqipdynj4dx0nvs0vc15"; -} -{ - lang = "wa"; - saneName = "wa"; - sha256 = "093mwn705f1bp3143pzm4h85hrjjr9fiiahbfvvy2ih6xv3x88nb"; -} -{ - lang = "zh_CN"; - saneName = "zh_CN"; - sha256 = "1swcnfpv9n4561hl7rqivny7mcmnk95j495rvr8hs384gq2q1b67"; -} -{ - lang = "zh_TW"; - saneName = "zh_TW"; - sha256 = "0x7b3jz0ilb4ww3yi70w36zkid2sgnf0mld1kxkkc8aacm00bmq9"; -} -] diff --git a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix deleted file mode 100644 index 42591369aea..00000000000 --- a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.2.nix +++ /dev/null @@ -1,272 +0,0 @@ -[ -{ - lang = "ar"; - saneName = "ar"; - sha256 = "0w0p0ahh6xjk3i545vmkkaxb92s1liv8z0cgnpdh13y0i8gislzs"; -} -{ - lang = "bg"; - saneName = "bg"; - sha256 = "0wghv6q8mgj5cd2n56137zfxjw1jfy4y1d6x3wi0cjjjf61al4yj"; -} -{ - lang = "bs"; - saneName = "bs"; - sha256 = "0g14kvfbzf9p9w5279ny1ziygn2zw0z4rpsm8b6msia9afa3vscp"; -} -{ - lang = "ca"; - saneName = "ca"; - sha256 = "0kcbzwmk9dy0nwfjhrpmp97aqnpdrmy7lya16sikj98fwbd2d7i0"; -} -{ - lang = "ca@valencia"; - saneName = "ca_valencia"; - sha256 = "0p3g5bwqwvr7mmwz583km498cb9jl4yr6s4v3jdx2w1pv0iqfbfx"; -} -{ - lang = "cs"; - saneName = "cs"; - sha256 = "03310xg8v5hdydi5najijni4nmkycarz2n7764vdl8h3wjlxs101"; -} -{ - lang = "da"; - saneName = "da"; - sha256 = "06h19xbbkhmmaicmkjzpa6w1hp5gq3bfblvdjdb4qwm3jbp09kz0"; -} -{ - lang = "de"; - saneName = "de"; - sha256 = "08wbgb4brgihpa7sk29lzihaqg8zv024cdd4fr6s5zvrpchx3s8s"; -} -{ - lang = "el"; - saneName = "el"; - sha256 = "0a3cakngqampvczhgn52y942d131cqd68yjsr71adcgmm5r5iv7s"; -} -{ - lang = "en_GB"; - saneName = "en_GB"; - sha256 = "12pl1sm44bi2d07qliaazniy1a9h9jp7slvwn8l11pgfh7ygiyxn"; -} -{ - lang = "es"; - saneName = "es"; - sha256 = "1b7jd6clbwjyivpy94wz148gapdzvlggg38lv0a9zl6fkfpa6xbi"; -} -{ - lang = "et"; - saneName = "et"; - sha256 = "133wf25qhnls7a2i3s99kk8va21d2cg7v3khvgscpm1im8gi81nz"; -} -{ - lang = "eu"; - saneName = "eu"; - sha256 = "11szsx11vnwi3l41nsvk013nwx0gs8vdilr1jm8qz3zfbm14v7a7"; -} -{ - lang = "fa"; - saneName = "fa"; - sha256 = "0fi443pcrjvnivi76llfssw52nzddvxrabqcqxr0czfak2r6nlf5"; -} -{ - lang = "fi"; - saneName = "fi"; - sha256 = "0lqzaprzd7az7aslaswhdriwhcdsx9abxq90jwkpq2vliz7gxjp5"; -} -{ - lang = "fr"; - saneName = "fr"; - sha256 = "0c32hmg7ns4z585bysq8iqjhbfp33a5wi6r0p1hqrh5y1sc3wjj9"; -} -{ - lang = "ga"; - saneName = "ga"; - sha256 = "060lk2l1q9p39z90qajhiqdsiiwk1qf221087mx5xny1z5ngnnim"; -} -{ - lang = "gl"; - saneName = "gl"; - sha256 = "17a9xpqbqgnhlfhr85v4n3ll88dzn3z4jk6nilq149c7dg8ilnma"; -} -{ - lang = "he"; - saneName = "he"; - sha256 = "0k97r2j0iv017qrn9yh08cqji2pkrx5vy51jypr305ffmxy1dgn9"; -} -{ - lang = "hi"; - saneName = "hi"; - sha256 = "15vgih10aa11d048cazh1zjr6s08w34hp4xxp8cgcmpm11px460g"; -} -{ - lang = "hr"; - saneName = "hr"; - sha256 = "05x0bjn6dfn0k2v822sc6f45jk196sf1xj7ikn7ws7rm3nkc3sgp"; -} -{ - lang = "hu"; - saneName = "hu"; - sha256 = "00g7x922zxkscrkk8n9xc123qfzbmf7kkyavdsnz4jkx4msrlav3"; -} -{ - lang = "ia"; - saneName = "ia"; - sha256 = "0zaxa42sgscbnb8zbp878qk9d5lwdm08szr9xda287jpvzw3asss"; -} -{ - lang = "is"; - saneName = "is"; - sha256 = "00l1rh7z8fapmb3ngxnp91xz1qz110r995jk42gw77hvmf0gabb6"; -} -{ - lang = "it"; - saneName = "it"; - sha256 = "0d0b44vmiaazjsc4d7wlwg36n3ig87xj3m89hlhkhvwrisg5ccv8"; -} -{ - lang = "ja"; - saneName = "ja"; - sha256 = "04qrj66qd65yqv1zrwi1pspmwdj129m9kkmpa3rdfgml37ign7q8"; -} -{ - lang = "kk"; - saneName = "kk"; - sha256 = "1zywlhg1yr2llr8cvn4gm4ap7kqgc2lff6yi75dd782whsphqm67"; -} -{ - lang = "km"; - saneName = "km"; - sha256 = "16s126qw8kvsvidrhh02y12y8wln3skg0cn6ri658mz2ld9iicvd"; -} -{ - lang = "ko"; - saneName = "ko"; - sha256 = "1lrh3bly0hvzxa0zxibb45v2711fvv81i3ca9d628m68mzxim13q"; -} -{ - lang = "lt"; - saneName = "lt"; - sha256 = "0hf9156vi0y17hlvrn18fsdfzpaq5ylprvv55i42idxfdjr1plmq"; -} -{ - lang = "lv"; - saneName = "lv"; - sha256 = "1zrwwglpyw8qlqw9xyhz6pwjyrasdgfclaz2hicsgv1300nxjv4h"; -} -{ - lang = "mr"; - saneName = "mr"; - sha256 = "0nagjxn4pmmcz6762jz9dx42sarkjm7fpkblw9w42znx8zvn5nmw"; -} -{ - lang = "nb"; - saneName = "nb"; - sha256 = "0lb58d2vhpcnnnqnplq2i2fapkygyb47yq0rc7c93rsf10cw9n0v"; -} -{ - lang = "nds"; - saneName = "nds"; - sha256 = "08l4s3gwnz84sg5mlrj52wdclkm4yhj0a03jxwcfpgfypi3v0n84"; -} -{ - lang = "nl"; - saneName = "nl"; - sha256 = "0m6c9dxcdqgcxlx4k160nra0g11im0c2f0hf1fyk1hkb6fdq2li9"; -} -{ - lang = "nn"; - saneName = "nn"; - sha256 = "1kp8m2cc131arkhj7z6dsq69mh6abws7963avszbkf0zq31nnxp4"; -} -{ - lang = "pa"; - saneName = "pa"; - sha256 = "01ay3q7swf1vh72wrjlhpi0id7sa2a8pj8n79xn583mlzwcbmzwv"; -} -{ - lang = "pl"; - saneName = "pl"; - sha256 = "1rf288q1c412y161sk2y3yvy3pq159avih4d90k0laphfhhisjnv"; -} -{ - lang = "pt"; - saneName = "pt"; - sha256 = "0mld9dmvj9c8xay587hm7dvrbx964zdhysyi4fldad54imc61rdc"; -} -{ - lang = "pt_BR"; - saneName = "pt_BR"; - sha256 = "18c3bws8fakii5qjm0vpni6fmzw6118ndmjz4v83nk6nmy6ww0i1"; -} -{ - lang = "ro"; - saneName = "ro"; - sha256 = "16q3jahvpw3lpxlwqxhhd8xc9qfra2chc6g5cik8dw011sqg0zaa"; -} -{ - lang = "ru"; - saneName = "ru"; - sha256 = "0c62msjf34hz5f0il3x7wk4flpjk2w5f4vdpz43vr245qds2vxrl"; -} -{ - lang = "sk"; - saneName = "sk"; - sha256 = "0vl8y4z60nxgkgkxkzqkak7gcyc2295nxm6hghmrhfn5zyfpp99k"; -} -{ - lang = "sl"; - saneName = "sl"; - sha256 = "0wdv1lya8s4b97933dv72cvq7qa19ndp1knb0270pg5y74y2vq2s"; -} -{ - lang = "sr"; - saneName = "sr"; - sha256 = "1lafrmz16j8kzs9nvrn6j84c7wyxzwpvnn0z6ic22bzg646m276y"; -} -{ - lang = "sv"; - saneName = "sv"; - sha256 = "1cxy79ya3i2fm7b6w0ilpri0qrhm4bgkx3qwvgqz13lgw1p716qv"; -} -{ - lang = "tg"; - saneName = "tg"; - sha256 = "1jww7nfz8ssgqrldc11agnwv4plcr9vr4fv5q7bspa33hgm94r47"; -} -{ - lang = "tr"; - saneName = "tr"; - sha256 = "0kflzm80pg8l5ing3xzp1g0n9hm1sky8201s2z05aahj2rcw4bws"; -} -{ - lang = "ug"; - saneName = "ug"; - sha256 = "15szx7r75d0iw21hwggp96zm9s5i7svsvmqfncvd79mdmnhr2x5i"; -} -{ - lang = "uk"; - saneName = "uk"; - sha256 = "16l7rkxw5am90dqrkjjdvih1dvchgkggf5rinv7bpfk5z65f0ccy"; -} -{ - lang = "vi"; - saneName = "vi"; - sha256 = "08phva4y5982qvrb050n4pl7gnr2yg4zvazfg9lh38ba63l6d2g8"; -} -{ - lang = "wa"; - saneName = "wa"; - sha256 = "0byfyav76m7igwix5vj69bvl2rpaxmv8ncz1xc2azyrdxjba9ggd"; -} -{ - lang = "zh_CN"; - saneName = "zh_CN"; - sha256 = "176xnyxl7in1b3igy7vh6g2pz8ch32g0n6kddkkj0a13h69s5vyz"; -} -{ - lang = "zh_TW"; - saneName = "zh_TW"; - sha256 = "0i71xxxpb6p95pa69frhxqb27i935bb1vxjb3i51yms95x3gbpjs"; -} -] diff --git a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.4.nix b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.4.nix deleted file mode 100644 index 711ba9a7f3e..00000000000 --- a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.4.nix +++ /dev/null @@ -1,272 +0,0 @@ -[ -{ - lang = "ar"; - saneName = "ar"; - sha256 = "11dzsk6kvqpvpi77414hyis5s0kp4l0xplyyhvkp28shnbzx3cab"; -} -{ - lang = "bg"; - saneName = "bg"; - sha256 = "0f4j7s31gw9g183wsxh27dvqkckhrlh1yr4dmd6cjiabpnk5avr5"; -} -{ - lang = "bs"; - saneName = "bs"; - sha256 = "09f8dayah2gb4j70pljih8rvk6fiprfvmagii72ymfjw5p609msh"; -} -{ - lang = "ca"; - saneName = "ca"; - sha256 = "08jlsy3ak9c5jbwan5wsq4y66sz6pam5mym1hmjfwp1dzknd8lxn"; -} -{ - lang = "ca@valencia"; - saneName = "ca_valencia"; - sha256 = "0lwk1qf6xnvxd6lmdif9126i4bna7cwk8dj0dd3s2qm4613gyjdz"; -} -{ - lang = "cs"; - saneName = "cs"; - sha256 = "16lm4k45rrxvc228bjzl57a39aybkh6kizm960znkfg8dslxvhnr"; -} -{ - lang = "da"; - saneName = "da"; - sha256 = "1z0mkh7sqsblhar3fjind0m63mlx817fhw1r9f0jrijkwmv163cx"; -} -{ - lang = "de"; - saneName = "de"; - sha256 = "15611y569bk17ss62ic56ai6lwpqhg9apsqcnkdlh1iwk2wkzg8x"; -} -{ - lang = "el"; - saneName = "el"; - sha256 = "1p75mfw2rs9qb0m2zybscrv2jhj7aq8w5a1rxs3hrddr2wc2k0g1"; -} -{ - lang = "en_GB"; - saneName = "en_GB"; - sha256 = "0zj9qn2k160184x9lypxyl6d5r8drxz585lagsvd7l0ckx3maqxn"; -} -{ - lang = "es"; - saneName = "es"; - sha256 = "0bc11cxjf8672mch30asn34pnn53a3xhz9wb4jly9bxy3bjs93m6"; -} -{ - lang = "et"; - saneName = "et"; - sha256 = "1l1h1q65qsmrzgcvralpdmmmnpricbiyc5bhrd1valvgvwys2rj2"; -} -{ - lang = "eu"; - saneName = "eu"; - sha256 = "1wsgvmacix0vd7qr029lsgnksw3hnx57aczigcf7m5dy1mi2jk1j"; -} -{ - lang = "fa"; - saneName = "fa"; - sha256 = "1j7f32wsbnpzdhfki9wnb18mq26la61f6ksmad33cikq3pwn1qvf"; -} -{ - lang = "fi"; - saneName = "fi"; - sha256 = "1l5cvnbkgv9kxn2b67ycmkyqkdpjzq3a8ggsmn4397bj9vlplcdy"; -} -{ - lang = "fr"; - saneName = "fr"; - sha256 = "1lnayg8j76gzhxl21x5z92q3g8gc791c4hlgr3ifg54s8rknbbf6"; -} -{ - lang = "ga"; - saneName = "ga"; - sha256 = "0z8ncf32qpp9538kb5l41qhvk0c05j168x5q72cfliigs77m9jya"; -} -{ - lang = "gl"; - saneName = "gl"; - sha256 = "10pjjkp4nhlrjlv38w3srl5x3fi8713qsbp4i92bksas6p1n6pnw"; -} -{ - lang = "he"; - saneName = "he"; - sha256 = "1d4094ql7nzw5gvhgvdw9j8pacpnlbq76j9670wj5z5mxaggm5n4"; -} -{ - lang = "hi"; - saneName = "hi"; - sha256 = "18s7h8bldkhl55akglmdaq1kx1z8171g96ysxvljy3aqnv400cpd"; -} -{ - lang = "hr"; - saneName = "hr"; - sha256 = "14insp30nb18dva5rpd1mgixhbm6rrkbbs7wl796jqzxlxin1bbg"; -} -{ - lang = "hu"; - saneName = "hu"; - sha256 = "02mwbsg8cvnrqizcggpsq6r9hp26z4r5sg62iksknl4fahzi9jwa"; -} -{ - lang = "ia"; - saneName = "ia"; - sha256 = "0w3yncz364rd7jby39cqmmswh5p7i7hn08yfn038pj9k2wvg3nli"; -} -{ - lang = "is"; - saneName = "is"; - sha256 = "09ja8vnl8ykh9j0wdrmlwhjj71dsl0kl1mlsbi0c95dphbj58m0q"; -} -{ - lang = "it"; - saneName = "it"; - sha256 = "145r6lcf7mbnfv0kk0kxmd7aq80y5dlkxpp2fy31rigpkz8syiaz"; -} -{ - lang = "ja"; - saneName = "ja"; - sha256 = "1s11lqac8j1qbp0fq67zq7jss7j60pwgprjki73s77icir5sijpv"; -} -{ - lang = "kk"; - saneName = "kk"; - sha256 = "1y27ax3viixbhh6yrib9k4px0y4aj6fzpnyxd9j6yibh4gmkxa49"; -} -{ - lang = "km"; - saneName = "km"; - sha256 = "08nb4fv4hafxyhdxsdf29yh3nv5c0hb3ar0329xlw5kvkvfckgza"; -} -{ - lang = "ko"; - saneName = "ko"; - sha256 = "1qzzbphcjl506wha4i9drzc0hrlrc4cicmw37vl1hylbkw7lfrdf"; -} -{ - lang = "lt"; - saneName = "lt"; - sha256 = "1rqjv25y8s0g5mr47fasybcfvw36i9z41l8gpi3rdvv52b4s0n4c"; -} -{ - lang = "lv"; - saneName = "lv"; - sha256 = "1cfdvbq40fk9f6xqz27bzy4shrh0i7sqbaf3l54f0zpgnqmk6c8a"; -} -{ - lang = "mr"; - saneName = "mr"; - sha256 = "1jz355nz34f15gic4hl09qdd648gjl3ybinbf5kpy0nj5d052lwj"; -} -{ - lang = "nb"; - saneName = "nb"; - sha256 = "1v1f42cipx39i9as0k2arb51a4qizh65vdld35dlkfxnkkwl5gb2"; -} -{ - lang = "nds"; - saneName = "nds"; - sha256 = "1mwrwwclds1fkwgak1fl148qpxblkk5jxbnjfl7lgc2a28c4w4y8"; -} -{ - lang = "nl"; - saneName = "nl"; - sha256 = "0x9jqq4jbf6664m201pjf0bk5m7kziqpc59ai6n3amq7ihg5zbyj"; -} -{ - lang = "nn"; - saneName = "nn"; - sha256 = "1x8hr1sb36jnw9g897dww3c72hqrxhpjgnzm6x8xcqjb93rrjqnz"; -} -{ - lang = "pa"; - saneName = "pa"; - sha256 = "1lvdz8hi5y6sia6il8x47k607dl11abmgpa07gvplv5g6gshm27q"; -} -{ - lang = "pl"; - saneName = "pl"; - sha256 = "0pnzdz0ms85cqjd2aav2cm1w5rb3v0q96nz7b70dz9mnyxrnjiha"; -} -{ - lang = "pt"; - saneName = "pt"; - sha256 = "1jgadk819ws6zcvkqrvjyx7kn0sgsdvmg15hi03mn4nijf8mzzlb"; -} -{ - lang = "pt_BR"; - saneName = "pt_BR"; - sha256 = "06yyrv21g0fyvisj45r9iqiclydj0y5lb4bkykd28f0g6nrcjlzv"; -} -{ - lang = "ro"; - saneName = "ro"; - sha256 = "040fnm9rmj156mn033axx6isa9fvaskw5dqzh40mjchqz4bgw6vx"; -} -{ - lang = "ru"; - saneName = "ru"; - sha256 = "1p5glmm7a495b1avv9n9y1im04z8nxps13pf0crvzdwplkiin8id"; -} -{ - lang = "sk"; - saneName = "sk"; - sha256 = "19d10b807kg50jq03xgc84dksfcfmp1vimqjbfd53qgdxdfxa9c0"; -} -{ - lang = "sl"; - saneName = "sl"; - sha256 = "1lpgyar5hq39463dsgwlmym5rgivyqyipls8l0km6sy24kmh43g6"; -} -{ - lang = "sr"; - saneName = "sr"; - sha256 = "0600x4vgflbyg0vr97vqpd405j311780d983xrf22awbyqg3hiqa"; -} -{ - lang = "sv"; - saneName = "sv"; - sha256 = "1zi3s9g4nykxrrpqm2fq8didip1jzv8iyscrg7fc8mls7ikz51bp"; -} -{ - lang = "tg"; - saneName = "tg"; - sha256 = "15zm9p0g4qrb2wz761gvpd05yz2pz8lpcsmdqx8lclvlqr58xl8v"; -} -{ - lang = "tr"; - saneName = "tr"; - sha256 = "039jmlljc3fdynsa27whmx50jb8jx3x7k1l6xdrijdk4j43j047p"; -} -{ - lang = "ug"; - saneName = "ug"; - sha256 = "05krj1b7z1rirr7141pyaxssnbgf74v8bcxhb2m9yb944nx2z1wx"; -} -{ - lang = "uk"; - saneName = "uk"; - sha256 = "19bkp5hsxd5zfgdwyc6bx1425phd8d9kd43xin13cdcikdq5nh6z"; -} -{ - lang = "vi"; - saneName = "vi"; - sha256 = "1fy0v0zd8mq59f3wlpn855ff8q8x6yy8a17vjnwfw69qmar0x4g8"; -} -{ - lang = "wa"; - saneName = "wa"; - sha256 = "0h8kycdjg8cglb7sn5m4v8djwb4smhzmws2khr309nv4930vqf14"; -} -{ - lang = "zh_CN"; - saneName = "zh_CN"; - sha256 = "0aaybsbbf19js8bxmj7kqqjnqp68fzkqdrbhjlh5c1jdxqvlr2w8"; -} -{ - lang = "zh_TW"; - saneName = "zh_TW"; - sha256 = "1xgndbjqhgw5pnws8qbb4xvrcnbr96m275hrhd3rb99q5xd4br20"; -} -] 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 deleted file mode 100644 index 17236c067b9..00000000000 --- a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.5.nix +++ /dev/null @@ -1,272 +0,0 @@ -[ -{ - 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.11/oxygen-icons.nix b/pkgs/desktops/kde-4.11/oxygen-icons.nix deleted file mode 100644 index d7679cc3d01..00000000000 --- a/pkgs/desktops/kde-4.11/oxygen-icons.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ kde, cmake }: - -kde { - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "1y765lfsy63kc4h1g1f3fc42aqlhn7svmidrkxm12nia4jazj6db"; - - nativeBuildInputs = [ cmake ]; - - meta = { - description = "KDE Oxygen theme icons"; - longDescription = "Icons for KDE's default theme"; - license = "GPL"; - }; -} diff --git a/pkgs/desktops/kde-4.11/support/akonadi/default.nix b/pkgs/desktops/kde-4.11/support/akonadi/default.nix deleted file mode 100644 index d51996e3bc1..00000000000 --- a/pkgs/desktops/kde-4.11/support/akonadi/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }: - -stdenv.mkDerivation rec { - name = "akonadi-1.11.0"; - - src = fetchurl { - url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2"; - sha256 = "0k96i8xq3xkm5rrxrj3zqgppcmqbzcpc918xnx0p54jkkm85gchc"; - }; - - buildInputs = [ qt4 soprano libxslt boost sqlite ]; - - nativeBuildInputs = [ cmake automoc4 shared_mime_info ]; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - description = "KDE PIM Storage Service"; - license = "LGPL"; - homepage = http://pim.kde.org/akonadi; - maintainers = [ maintainers.sander maintainers.urkud maintainers.phreedom ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/kde-4.12/default.nix b/pkgs/desktops/kde-4.12/default.nix index 6d3dd46df35..ffcd3115de7 100644 --- a/pkgs/desktops/kde-4.12/default.nix +++ b/pkgs/desktops/kde-4.12/default.nix @@ -1,4 +1,4 @@ -{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.12.2" }: +{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.12.4" }: let branch = "4.12"; 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 deleted file mode 100644 index a10582d7142..00000000000 --- a/pkgs/desktops/kde-4.12/kde-package/4.12.2.nix +++ /dev/null @@ -1,444 +0,0 @@ -{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.12/kde-package/4.12.4.nix b/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix new file mode 100644 index 00000000000..9b5a53cee48 --- /dev/null +++ b/pkgs/desktops/kde-4.12/kde-package/4.12.4.nix @@ -0,0 +1,444 @@ +{stable=true; +hashes=builtins.listToAttrs[ + {name="amor";value="0c8298z7c3a71yj6nik7h8h7rngqzrz6rc95kl990p37jp2ng0d9";} + {name="analitza";value="0l122nh81nf7r4bm73gc6dp9k4jh2dxc7majrzjq37hb8pi77njh";} + {name="ark";value="155bhqqyw3afm99c47b3pxqf9fiqcz6gqg1pavsx9q4rmk7rp8m6";} + {name="audiocd-kio";value="1c5234s1hdh6jc8szyb4nwqr1h8hhwlmin0iyxabsl0c45pss9pa";} + {name="blinken";value="0q0y3xfv3pjrw0h8mnbigpywwrqk8wb2lqbjcgk755j6syinhphh";} + {name="bomber";value="1f12qmg58n9sj6vjqdj57ch50pq5f0h6anx06x9bhhs502w6aqwy";} + {name="bovo";value="10x4qy4vdp76iv3n60iy24lk1wbsjdfr88l1m9xifj4k942wk2ir";} + {name="cantor";value="1x5rxshdbgl40cqx6h5r0hx49rrc6gwnabsl8b7kzimh0kbv2ma9";} + {name="cervisia";value="0ia78cjkq606232jy14ps7cpm77pq4xdmcfimv4l6p0xjpq8jzsg";} + {name="dolphin-plugins";value="08h278jpbll7wc1mhz58cklj1bkrk61dfwjlflag6fnlm6i4xx8k";} + {name="dragon";value="16gyr0dl50nl9r3yc2fkwmqlrfgzzyim6bdlb9a76winzbz8mgxr";} + {name="ffmpegthumbs";value="01cmwm6w1z2gsllwdmrzsl9882fw5k59lr1k7z114kkrh1l0b2j4";} + {name="filelight";value="01rs1r80ixm1dj5d73a22893rdz2srxqp4dv5pysw1fhn02zdkkf";} + {name="granatier";value="1ia85yxfbbi8qxdyn0vwgmdjrxwssb6nadbia1yqsjdncfsnhbvs";} + {name="gwenview";value="01p5b1z05v3c7f192fxrrfp6x3ss7gx8pxv29czkp641hpmcg3jl";} + {name="jovie";value="1hfkj3vlvm63sgb4gx3xl7nksb5cfqnh7shs7wqm3gl6yj2rwhjj";} + {name="juk";value="1vxnrxz6gbyk7fd15akhiyczpgq03cym3nldi61m958cx4khd4y7";} + {name="kaccessible";value="0a9r2bk8a5h7mpl37li3bqbsz5dfgn8rsxnri93msvc6555pnyzv";} + {name="kactivities";value="1fl638cyj3abxfmbqcfqsd3idmdmys1xim4flf1jpbqa29psl75j";} + {name="kajongg";value="19awqjqn9hqhprzi7mjb6nkrgvb3mzhignkgalfjd4j5rga7vzz0";} + {name="kalgebra";value="1bj88nh7znk86i6a4d3jcjyqp46kzipfc99xvhxvqdsy8drbrwjp";} + {name="kalzium";value="00pjpdbd11jgzs443kgh8y6pxf3ff0ypgl5j3zfa6gbj18cnkkq0";} + {name="kamera";value="12mcjw8l0nh2jbi04myx1y1irbf92x9bx93gdymw939lawaalqic";} + {name="kanagram";value="1yd5agh61nv4ajlrijxg5g3hvw0xjxdvnc6h3lbz5mgvc8smvazk";} + {name="kapman";value="1aa78q6y2s9dig2603b9nry5rx5jbbxz2pb3jxr323hmqxp6jy1z";} + {name="kapptemplate";value="08j8xh9spk6ymlichl74n1v2zn342d94m6f4jragnx2jvif2163k";} + {name="kate";value="1cxc9bgzvfpns7dhmmafzxhnyjqxyq0adr0l1mbwsahxpkblc30r";} + {name="katomic";value="01lk7ajlj98rjbs76xd9r3hnd98dy49xv809m2zchm5ria7hdh48";} + {name="kblackbox";value="1sgbs0flllmy6d3518wwnzmdr14kqkxsi76h2p4xyk3bq2g9q2xg";} + {name="kblocks";value="1zinpxbvri52r26qiiiv4j4r02a22947hcrchf1z3n6lf817vqwv";} + {name="kbounce";value="0f9ssdpicvkiv7dxnj75h1cmz24mz2sy2zyp7rw7mvr9ynnl8w21";} + {name="kbreakout";value="02ix39kfkagmsqs8icqrqy9cz90lbl2wqajyjzrshw1vi29iahc7";} + {name="kbruch";value="0mfqdgwd5d8sy3bdiicpd5927dgg6zhm521f2q853qd2sqjbspgl";} + {name="kcachegrind";value="0dydarm1a2i64nazcl59s0a8b8z7znnm20wdmx2gfm5377j98y8x";} + {name="kcalc";value="1znrv4fqwaf56djf9qg6fxcp7nfi7fzza2whjlkayvc9kxv3ah9y";} + {name="kcharselect";value="0mbl9zvb9hp0xdi58v0vb8z0by71xkz22pr9flnkar5b1klnjpdb";} + {name="kcolorchooser";value="1d1cyaqi0rhwfnmjbxpjjavgwjhr3pd2rywlxxb9g4q3rv8k7wg5";} + {name="kcron";value="033f0s14crqpsirhgysi309b9pj02vwsd7fr28n6n2sh5imj30a0";} + {name="kdeartwork";value="08snjhaqiddiaj5jfd0vx1fjijsyqwngy7p1mkpdfhj7575sbx7c";} + {name="kde-baseapps";value="0k0mfbpvmv0n2brrb8hc0rd1wz04m3cyr1byb0z34a7x7kk1h1i4";} + {name="kde-base-artwork";value="0vmkbmir7hviqkv7nqrbqd6skj2srp9w4nrs8rkcvq7c8n76rk5w";} + {name="kde-dev-scripts";value="0l5frvb1akhy86j3yic3n1jirclj8r1jwjn760fi89vl1xysrarq";} + {name="kde-dev-utils";value="0807c8mq8rqqk8vf9r1idqmqrlfv9bsc8rjn8mfv2ch49mzzdrdj";} + {name="kdegraphics-mobipocket";value="1m6lnkr460261iq634lz887dbhvmj56p97k4llch3h80ra10mlh8";} + {name="kdegraphics-strigi-analyzer";value="1rqb1lzqb39p95xpf8c26pm9rxhcmycd518hxzp8arz6k2chazj8";} + {name="kdegraphics-thumbnailers";value="04aaxjznb176ym89f06gp4bycg67zndwc451mkdr33mal58jh0zs";} + {name="kdelibs";value="0dn0z1fs4vym7cp2749viw171dhay9ql2dp65a4hphmsdmk9bzv4";} + {name="kdenetwork-filesharing";value="1r3a5y9nmcf06nqsdh8k4jny7dmrhya8xi3jwz0d1mfzlfjksyf7";} + {name="kdenetwork-strigi-analyzers";value="0gqj5b91q3l5hna6zbgm17wi54g7g058n605adc1mch97yshqyrd";} + {name="kdepim";value="00lsyg6762kd2qvhhqq6vrrrl1fbk07yd3ha8w1yyjwiy9cnsy7z";} + {name="kdepimlibs";value="1h7k5ravilwz9r5lh7dqjnzh9h8hz43plbdaicjwk2sg4mqwzzhh";} + {name="kdepim-runtime";value="1z631kag1gpmk2ljk64vhscr3lad3mj3599phh0i8jqlxvr4007c";} + {name="kdeplasma-addons";value="0lfza3454hzbicqpz0ipjys9brjkblmpsngqg5njxd6ph9mzg34a";} + {name="kde-runtime";value="05n5cllsjyf03bgisykrbc74i7a3nm5f0k6hnq9sphf8xnxl318x";} + {name="kdesdk-kioslaves";value="045kf44s2gg3i2xl6087zn3cz80y7li26fzxdvvv89ywcq0npg59";} + {name="kdesdk-strigi-analyzers";value="15xxpgiy5bp6m78crw448mzv3yijjzipsrybadrbwqz6p7dpysbv";} + {name="kdesdk-thumbnailers";value="039rgq5p4mkdrilcvkf6k1d9d45swk74hdg3qnsbz3m47vqqf92h";} + {name="kde-wallpapers";value="0z7ffz2i410k2xxl1cr8m74mm90c5sizpbhmhyqxwjlsbz1gwfya";} + {name="kdewebdev";value="0ljwbzdcshjaz2dv7yp4ckj0c0jxa60ka6vjbhdmc4x7nvwnx737";} + {name="kdf";value="0s8ms5h5gdfa3697xg1yzz0h2hijlv68gi2g7n7g3xwpawbqrzv1";} + {name="kdiamond";value="10v7zrj4d96ppawjib1jgdz00455h8334w4vb619g448pj5h66sn";} + {name="kfloppy";value="1fd7wwbxngaiy0fbxvqp027rp61jg8fwajz70lx7acs20kcs0301";} + {name="kfourinline";value="1s2gc7zk932ks89c24pyimcsspnmabbmsdjh520xkzzxrp41gz0b";} + {name="kgamma";value="0n19zrarda9fvhimgnm84mdcaqgcqn4qfr0yw6i76la24pjbl46y";} + {name="kgeography";value="0w32841fligd3gyjl34q2f31jldw2vl47bi6cljwp7nlkdlp0lkn";} + {name="kget";value="1kls245b5s2dlxcrpa4d969zlr2lw797p7p2ilyhb4rbv871c0wd";} + {name="kgoldrunner";value="10xq9827gwib6w9h4hhys1v896rxqd50mz66k3frnrqals04zbbk";} + {name="kgpg";value="1wa5ymibiqnjxl5ck94y1xh3qk0bx3v7k7n2y3jcvprmhglffx6j";} + {name="khangman";value="1jfi30cb17gkn7v3i42wj0pqgaq3mr4fjbwh60ikvhxxd0nf5nny";} + {name="kig";value="1z0f50m1hgr5jj79v5v610bdggy4knlqnbxpnwf6ihj60v3cn0x0";} + {name="kigo";value="1klcgh3bpl3gqyh5zvij7ah754wjjf409a9l1xqxjigz4samnism";} + {name="killbots";value="04vy4zybgqls4whymqnzgkfbmzb17cc1m2xf2hp32bq5fq0r8103";} + {name="kimono";value="1bqbgch1z2nm143sp4lwnh3swvmvavhkj4scgx6d17m24jgd69hn";} + {name="kiriki";value="04r7p5f9a2iwv7c40pcnbga5ldcfjjig31fx81ww0b6p62dv2vrl";} + {name="kiten";value="1fxyy805b1q2sxdkd0hq2fr6plbnawzyascsbwychsqsasw2rmng";} + {name="kjumpingcube";value="0q2hn6lvz5grwz10nqq5jkcg3j1lgqsmmmhmx0glr4c732hg1z1d";} + {name="klettres";value="1w4340gaaip8imwy5d0058600v6fi7wnifppay2l7kvlp09iwmws";} + {name="klickety";value="088xvrb1jn8f3cfh39387pzw9simrjan63c24hn76290fkqjadgq";} + {name="klines";value="0n3bsvf5skr4816mjrd7zqjnh8vp5klvgx3h0025hwcbqyfa64bs";} + {name="kmag";value="0x91b1fwvwppiwzsnvc0647429ffhn56gndykmmyzr27i45znk3r";} + {name="kmahjongg";value="19qz7q5sr5xphzwxjf84h5vg0fll45fvs3pi5q9a5x5g4dy14wsv";} + {name="kmines";value="1nm7di7xs727jvfvv2039hpgkxzddgfv6vvrw3jwls975akl1wmb";} + {name="kmix";value="19s9z6m1v3wk5prngmm612r34013z7dkira83ap6kn3v32cfciry";} + {name="kmousetool";value="1zf7d3k1jf5ydaiw7v7a34hd5w4fmgkd4g9427546x64n27vx0a2";} + {name="kmouth";value="12n1x1imy7w3rn8g8zawmfivic0avzgrpmwm71hy7kxw9ya24yjg";} + {name="kmplot";value="1zji3lkq332zgvccnlisdavwxh0d1x81131xcy25r36q9c42syj3";} + {name="knavalbattle";value="0ibbahwck80z1dhycvm52k4nnj0pifzf9vi7j64kczc54z20b6d2";} + {name="knetwalk";value="0j8lyv60rvs5w214vhpmkf0807vi8b2vc8lglmmvz66cpw42c45z";} + {name="kolf";value="060dmnpr84g1512l0c0myxf1h1qp4jdsfgnxg5vwpciqk0dc9qhy";} + {name="kollision";value="033x8dg57f5amsnignri6ln8adavbaw1l3sydlf0jrw7ww3qvw1h";} + {name="kolourpaint";value="0c7i95cplwvxxm6aqgsk70q8ny8yfarcah9113vk6b81llbwn5sc";} + {name="kompare";value="0mq2v9nissb5s41lwvjbpba6fznkzwah9a7yisjq1nq47rp4ymqb";} + {name="konquest";value="0bsqxr12x9qgk4al21s2hrm48hv15ir98792z8jna3d5w6j0a2zy";} + {name="konsole";value="13kv6pmziqfis4qxkfxbmm3yiy2w3fy2l2qi68l0s6yiaqkd9y37";} + {name="kopete";value="012zjq0zmqkgahnzzj02xaqhsh800bn1x7sj8vmv1mxqyi66srvy";} + {name="korundum";value="1qyk8gvzcjwi5pi7s0a74glyvi1mi7k5z5ilza16y0z5k6ffgvck";} + {name="kpat";value="0lmhygv4l1vkmbf7vmrbns6fl1anbcxsnldn0hccdpp73x1py88g";} + {name="kppp";value="0nnz137c384xlnrvy625zdjfzzrp6yrcfnn9gw6fs81cq4zwrr64";} + {name="krdc";value="0g7p94q0h3i3j9wwcmmiylz0604v4z9f0b2dppfiaq5bnz9m5pdl";} + {name="kremotecontrol";value="1hg4fq6ypws4zb07glsrflmr7vq35h7qqmjf5r5b5j53xqmgr6hp";} + {name="kreversi";value="059xsi9x6jhsdsgrxrk08haz1v4p4i46l7zkg8id64s9kvywgn5j";} + {name="krfb";value="01l8jv5ad3gc5kxjbr7k4ggcipc5903z82pq9616mk0qpd96j6jb";} + {name="kross-interpreters";value="0cdb9kaq9fdjaxks83z3gvjwwhz94g4kgjq1rp6wmzwydk28ip6i";} + {name="kruler";value="0i9n2znhm6llriipvrrjh8yymj76a17895w7kbcyd41srk0akk5i";} + {name="ksaneplugin";value="1fqkbf47ajw7ckzipphdjpnpv4gk426k1rpq3z1qlbag9f9wvxsd";} + {name="kscd";value="1f8099bhylrr5m3a5lrmjxz2rz59k3qi1abfjs63hk2z523p99n3";} + {name="kshisen";value="1nhq2rxiylzr7klpqqbhl35v7s4prv15wrckgx84mdm5hmyh4nsw";} + {name="ksirk";value="0s577h7sswqr44mzmm2a5gi62w8lpzivy9xy5jpib3iw768a9gxy";} + {name="ksnakeduel";value="09jp1cd138cqv131h7m3c994zwxbn97yw77fq1yrcfgyspmdx0x9";} + {name="ksnapshot";value="1fiqracij106c22b0ws6n047wn4fww5fzli8rqjas5m25931azl4";} + {name="kspaceduel";value="1a2n9kyn6y62yps5apclgpmzbchdrfn3lck9fl68alk0bpqdnz1n";} + {name="ksquares";value="1bg9na03ph1lignnl6fdxkvcbsq77dskbgn8d7hyq1p800n7jx7q";} + {name="kstars";value="1wf13434sxxwikrp29jl5klggmv0ln73a57rs0m4gr4zrjvbrs2s";} + {name="ksudoku";value="1nq4nj1q723s7gv1d0l3wafs2d6wz67xhir2sa1wsw12dzh856vf";} + {name="ksystemlog";value="0khb92vxr0hfny2yxwnww33ahgm9gmmrf5h7qaj0lqnyrh5fcl6c";} + {name="kteatime";value="13jzf4mcq8glkhg5szpawj2k0ss4qfzrjhpmjn3m3grz1zf167sw";} + {name="ktimer";value="0y6q9khxlmb7pgds4f9a83aqnbn0gwbi3r15s8vf72qr3qj3f5xc";} + {name="ktouch";value="1swdkzvm9q4r8ily7n4cs91y186zlzys7kjs3lf2q46d63l9nfdz";} + {name="ktuberling";value="0fzd17hvb2zaqwd0fw6f3rq0mlq8xrmz155dyg916jg2alslicxh";} + {name="kturtle";value="1hlfv77g0v48qfqwpqqnw5qf8fcl4v38612v3jy5z038g4sacxkx";} + {name="ktux";value="0shib3f2gcdgf88zh2w67kizbmj7gz0vqy8ff5vmr75fp44111b4";} + {name="kubrick";value="1dkd7rzkxyk71hd4r9l6nlvcl3zj8vf6i9v1gqi8zjrqwpxvf188";} + {name="kuser";value="1qc4wk5q9y7mmkfjqndcby7782z2aaj7x1cc4dcmds01glm2bw6j";} + {name="kwalletmanager";value="1f0ncnx3d6z3v373095nhydj844hiva64qh80cc7rmb624vlcsa4";} + {name="kwordquiz";value="1m0zi0gldw7shjy4nhiw2azgrfvhcmm5h423gckjczpqd9f17ihd";} + {name="libkcddb";value="0k1xr8z3dmfq08qh7fkjhi2v523lhy1inmggnk3gaxzarlvhqxxa";} + {name="libkcompactdisc";value="03ch51firb2xcqwy3p6q5j5zr9570nvqa5cgd5yj7pjnzdwcjxv8";} + {name="libkdcraw";value="1ypamhdk8y7vb9y250vilmv5dgxf1svvsw329yxc146ii0pb4nwr";} + {name="libkdeedu";value="0m20vxa9x2ww7xmq1a7j4pmqsdj5pp05hsg4q64slz69m5npi30r";} + {name="libkdegames";value="1hz02x2k7iiw0i78ifa4ji60l87by855v5f6pm3ksw3rdw0ipz9v";} + {name="libkexiv2";value="0mz88j3kszqxf518h7n0fjnql2iqwx780hv4jhvrkraclf4czng9";} + {name="libkipi";value="0x4d356c20fdjaqadzaqhsf43v9c9bgbwbyy304q2w329m8ab058";} + {name="libkmahjongg";value="0911knwvhwa77hr0ncqwjqzfcyvgi806ckyldglrhvm0gw0mgy60";} + {name="libkomparediff2";value="0rn5xhbnywjjbk9qx3xw3gss57l105a4a4v05gh9vvl82hc5sfzx";} + {name="libksane";value="19zibd1y96sxwnpdxkd752jiky83b8is85qi7six60g5kkzi948m";} + {name="lokalize";value="0sl9i146rx0ls3rii6893alkvsjv8ln0d5yabd72f8kagsaw42h7";} + {name="lskat";value="1flx7l8svf51fkr3lw0z85d0gkrabjzi73w4qn2wnsaz9wr6kahi";} + {name="marble";value="1gvlq0si76bk4yd8dfbixzwxj618ifd2jlr7fq6f9mx498cvifpi";} + {name="mplayerthumbs";value="1nw01216mghwxz7zhkf7px5kkb2d4dqdk7par20agvw2raan9axi";} + {name="nepomuk-core";value="0gavipa1hn5aw77q3xrdv9464l8qpabq6kawlvjvv90hjvs8clis";} + {name="nepomuk-widgets";value="1cr4v4s567vcx1046gj066xfmhrqx4g6lipffr6d3wdq9cgy5y5i";} + {name="okteta";value="0maadxyngj8an0hl3kidvmgj538n6vzpz964yilzj6qrry9f46wc";} + {name="okular";value="0cmcaqpaxx8910qmsvag6spjbchdbv6j9hgbizw6qq09kz4d9a7k";} + {name="oxygen-icons";value="00l7qy95za3c323hkjiihavmq2vjm2yi81yn4cgwpnc5l336pynb";} + {name="pairs";value="15kafhp54dsrv2466j9gnn0c8iqbfx4frrql0r6v5qza015vybr9";} + {name="palapeli";value="0bx7qqidywxwkj9vdbzpqsy2fvkjgf9vj8nqk5ypx7jm7da87y94";} + {name="parley";value="163xnfd9h8r6dp3riqs3s32qaramyf225bhy6y9laknbrr9lxnsm";} + {name="perlkde";value="05ybh43ckfq5qh03pklkgiajc2s6b6cmvp5alx0dvq605h5z881f";} + {name="perlqt";value="1fn3gxb8b4kx7g24pnrbg42dv17hn2wv70g53yfr6z277ljinxzl";} + {name="picmi";value="19gli6mii15qya9hi6qyb52rsk2n2dk6r4kzla99ps3cs8n4h9x8";} + {name="poxml";value="11cwhjil8vdwwpmp1l61335b5j9714hbxiyqw0wyxcr6yccasbdf";} + {name="print-manager";value="0v940bsksw04ymxq56lgm6sprkdlyzjm5fgsm24yb564nay3x42h";} + {name="pykde4";value="00gpjqgsfv83xfk1xmglr8c32ln9cc05m4nf1qbd3gvr5jb6cxmg";} + {name="qtruby";value="1312v8vn091q5lh81cm5z5wkgidigdngqkjs3kf7lp9d1k50ai47";} + {name="qyoto";value="0sjii1i31x1cxhr5y5ijaain9ql75fbba9ss1cxz9agswp95kpcz";} + {name="rocs";value="0h72mrb65gnk36g9d4l55bm7kfldh3v95hbv0wxad0p9v7baxmn2";} + {name="smokegen";value="0x4qz1pk8wn4vq0fmy344v9m1gh12dav3n71z6xi4pnpmpmq7kna";} + {name="smokekde";value="1wl88jy9yvvrykzknj1vy7rqhfxr52q053y2jmay53hvx1iaqjxm";} + {name="smokeqt";value="1lphdjxcvysn1lkq6yj7z5pmhzlwpkj3xx7izfdk1g6a1pkjwr7j";} + {name="step";value="0ma7748ixi00zw9hrjjlgbb7d1a4cr124ka3ymn45sa4q4mza3zh";} + {name="superkaramba";value="0xbs2k863p2yg2k7wn70gbwvriin4lv2hv78r5m6fwvb4rsjygsb";} + {name="svgpart";value="1svwqxcxl2wp4wq9s3q6crys7jmz072wp4qz69fvqcvp1cd92gsp";} + {name="sweeper";value="19lsqw192h3863fbd265didviy7m4wk6qwfgnhc7sxaxxccm19y4";} + {name="umbrello";value="0lmygjjsqiw0xnv4d3d1yb1b5zlnj18lh01k954ycl8f50cxsv9a";} + {name="zeroconf-ioslave";value="1324mx9gsr6ghi7m1qk4kwr91g8wfd3jsw3rzp26nhrlwjsa5j6a";} +]; +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="zeroconf-ioslave"; } + { 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="kwalletmanager"; } + { 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.12/kde-wallpapers.nix b/pkgs/desktops/kde-4.12/kde-wallpapers.nix index 30e68934acf..393d90824eb 100644 --- a/pkgs/desktops/kde-4.12/kde-wallpapers.nix +++ b/pkgs/desktops/kde-4.12/kde-wallpapers.nix @@ -9,7 +9,7 @@ kde { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "19d2ly05hv2x1kkzgdgvkcpjypp2nk4q9bffv17lz2q5pzhjhsa4"; + outputHash = "1yg9c780xdxa60bw832cqj60v87cbvjxp27k6gacj2lwk7rm5hwg"; meta = { description = "Wallpapers for KDE"; diff --git a/pkgs/desktops/kde-4.12/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.12/kdenetwork/kdnssd.nix deleted file mode 100644 index f65960cc337..00000000000 --- a/pkgs/desktops/kde-4.12/kdenetwork/kdnssd.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE tool that monitors the network for DNS-SD services"; - }; -} diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix similarity index 100% rename from pkgs/desktops/kde-4.11/kdenetwork/kdnssd.nix rename to pkgs/desktops/kde-4.12/kdenetwork/zeroconf-ioslave.nix diff --git a/pkgs/desktops/kde-4.12/kdeutils/ark.nix b/pkgs/desktops/kde-4.12/kdeutils/ark.nix index eb3e12281d6..99844b909fd 100644 --- a/pkgs/desktops/kde-4.12/kdeutils/ark.nix +++ b/pkgs/desktops/kde-4.12/kdeutils/ark.nix @@ -1,7 +1,15 @@ -{ kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson }: +{ makeWrapper, kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson +, unzip }: kde { - buildInputs = [ kdelibs kde_baseapps libarchive bzip2 lzma qjson ]; + buildInputs = [ + makeWrapper kdelibs kde_baseapps libarchive bzip2 lzma qjson + ]; + + postInstall = '' + wrapProgram $out/bin/ark \ + --prefix PATH ":" "${unzip}/bin" + ''; meta = { description = "KDE Archiving Tool"; diff --git a/pkgs/desktops/kde-4.12/kdeutils/kwallet.nix b/pkgs/desktops/kde-4.12/kdeutils/kwallet.nix deleted file mode 100644 index 9ec0e6c0396..00000000000 --- a/pkgs/desktops/kde-4.12/kdeutils/kwallet.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ kde, kdelibs }: - -kde { - buildInputs = [ kdelibs ]; - - meta = { - description = "KDE Wallet (password storage) management tool"; - }; -} diff --git a/pkgs/desktops/kde-4.10/kdeutils/kwallet.nix b/pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix similarity index 100% rename from pkgs/desktops/kde-4.10/kdeutils/kwallet.nix rename to pkgs/desktops/kde-4.12/kdeutils/kwalletmanager.nix 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 deleted file mode 100644 index 9040e7006fb..00000000000 --- a/pkgs/desktops/kde-4.12/l10n/manifest-4.12.2.nix +++ /dev/null @@ -1,262 +0,0 @@ -[ -{ - 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.12/l10n/manifest-4.12.4.nix b/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix new file mode 100644 index 00000000000..e646e352887 --- /dev/null +++ b/pkgs/desktops/kde-4.12/l10n/manifest-4.12.4.nix @@ -0,0 +1,262 @@ +[ +{ + lang = "ar"; + saneName = "ar"; + sha256 = "1pygy9kckankwhlm4j61fk42zinafw2insc9kkpgmh9mvb8gv0jk"; +} +{ + lang = "bg"; + saneName = "bg"; + sha256 = "1qqbl7l84j3d5928gmdq7f7s0i31gw0rlf4y74p5zx8m80xbdd6l"; +} +{ + lang = "bs"; + saneName = "bs"; + sha256 = "0cg143wlalplw0qr10h60i6srn0avsim94m1hjbm8xrlg71iihjj"; +} +{ + lang = "ca"; + saneName = "ca"; + sha256 = "15s85xmqbnv7bm7ywivkyi62481ip4vy6yyw81m720hza0imbj9z"; +} +{ + lang = "ca@valencia"; + saneName = "ca_valencia"; + sha256 = "1d0bhndwf8b0pmglf3sx28r6s3li72x7a05kc39n026ha5zyx5f1"; +} +{ + lang = "cs"; + saneName = "cs"; + sha256 = "1dx5c6fkgn4hglx8qacrdnxn0l9p7dqbaz6cd7h9pa8b9zri5j9w"; +} +{ + lang = "da"; + saneName = "da"; + sha256 = "1ynh8s17999pa60bzwr2595pcd744h1n8zznyzr5lq302ir8f8qj"; +} +{ + lang = "de"; + saneName = "de"; + sha256 = "1da01wd1n64g3l57pagvrb8mn2jj50ni1qhicnlwylk8n2krw0pf"; +} +{ + lang = "el"; + saneName = "el"; + sha256 = "1qf9g5in9zr39gkip06hr80pzc4frchb2x9q76sqs36h58az5yfd"; +} +{ + lang = "en_GB"; + saneName = "en_GB"; + sha256 = "1lhrbfh74sqglqxl7yh68qkx0gmppg7iir194vxhm2s1j0jxq8r4"; +} +{ + lang = "es"; + saneName = "es"; + sha256 = "0qz39nxkiivgk720lgdbfgxdp3wn5wrvx2zf0phvb8g6q5rl68kw"; +} +{ + lang = "et"; + saneName = "et"; + sha256 = "1i9h68pfsnbi4gw5f4mb6q8jq56hdmi1lqxhwzj6vrbqiip7b9gl"; +} +{ + lang = "eu"; + saneName = "eu"; + sha256 = "020b1p164v82pj6x0jxz6d41w539786ygkfmgrf9dr20zwhchzha"; +} +{ + lang = "fi"; + saneName = "fi"; + sha256 = "0vs8bqr6if32bmwvjzdmakyqdl5fz13igg31mzwga4aqlzalxa1w"; +} +{ + lang = "fr"; + saneName = "fr"; + sha256 = "1wcd9gzf754150i62zl3fa24jq8p7vskn6adaa8x5qy208c0d6v1"; +} +{ + lang = "ga"; + saneName = "ga"; + sha256 = "0fpsc36sk7zh3flxgnvfgxig4cm5hm56sgdgbl01dfg1mac6dckq"; +} +{ + lang = "gl"; + saneName = "gl"; + sha256 = "1hrbsd595q2w09mym9h56hymikkpxbq0qmdxvphap5wsh0xsfxms"; +} +{ + lang = "he"; + saneName = "he"; + sha256 = "1q2y9js6j32rbm5jg8yn6s9zw0jh6yq1q4z6hxy9nss1gh6diqda"; +} +{ + lang = "hi"; + saneName = "hi"; + sha256 = "0zaknfk8kzcid7839wsj61qgn81gjz0hbpis7q2q1syky4nzjwsb"; +} +{ + lang = "hr"; + saneName = "hr"; + sha256 = "1d14h5kdfz8np5p27darraxq4ps0yhxhczg9yli436kgiflbvp88"; +} +{ + lang = "hu"; + saneName = "hu"; + sha256 = "0p29dybsalnjk00f7l3gni7pxzv1ig95m100svhhkmcwvh065kjf"; +} +{ + lang = "ia"; + saneName = "ia"; + sha256 = "1qqbn3v30z058580qr9qyq0sy6g4jw0far8w7ywgnhks4aapy97a"; +} +{ + lang = "is"; + saneName = "is"; + sha256 = "1gfm0k2j2jvff9lab87yjrywc1j0gayw2fxibzifvpygr9bl60i7"; +} +{ + lang = "it"; + saneName = "it"; + sha256 = "11zax6c3qfscadqfamls5k78hw36iwadqsgyiphl574ijz9q48ba"; +} +{ + lang = "ja"; + saneName = "ja"; + sha256 = "1ab658x0a44kydzs05zgzq7nks6dfl0z8m69ank5ngd12qnhb38s"; +} +{ + lang = "kk"; + saneName = "kk"; + sha256 = "0n26860ah421x8q2jmz8mh3mdzy26s8ckbfpnyph1vc23zqx9vqv"; +} +{ + lang = "km"; + saneName = "km"; + sha256 = "05ad1d5klc11s138zb5fj4h2kfida83xqr4z1m6nhv0igwzmza0g"; +} +{ + lang = "ko"; + saneName = "ko"; + sha256 = "14kchh6yixgrkzrrkdz25xaj2q91il6yshz79n4h0yk01lfc3sq5"; +} +{ + lang = "lt"; + saneName = "lt"; + sha256 = "0aa4spy2nc1hfbx1z2b4k3sahha0pdxih1k3pl6n9223cjgwcbqp"; +} +{ + lang = "lv"; + saneName = "lv"; + sha256 = "14341a4qr8p7idvsw6zp23kyva5lb4684wjygm24d9wj69nkc2c4"; +} +{ + lang = "mr"; + saneName = "mr"; + sha256 = "02rq9spp8vzvv8bvzny48qwksimrnqj6y9rpc3xh6bmzfhvr7qsa"; +} +{ + lang = "nb"; + saneName = "nb"; + sha256 = "1s2gbynxdbpi32rwdgddabsp3n10ngwpnh6za3yjp4is93ici6rm"; +} +{ + lang = "nds"; + saneName = "nds"; + sha256 = "18nmh605ya47w0x2nkglg8lrfks7l9pxr6mjnw3z3lsazafigvx1"; +} +{ + lang = "nl"; + saneName = "nl"; + sha256 = "1jxd109m2y7ky0c4im70ipx07rysbr0ndl2fpjb3myxb2nks106h"; +} +{ + lang = "nn"; + saneName = "nn"; + sha256 = "117zl85myjnnb957c4gx0h65ks842sk3gbw9dfp8hpzdwg8zvsn4"; +} +{ + lang = "pa"; + saneName = "pa"; + sha256 = "1q5c61a2swxvyhdw5rambibyms40hj34093ihx32ad73kb4mn72w"; +} +{ + lang = "pl"; + saneName = "pl"; + sha256 = "0wg4nlra1z6pf8mxlz3w0jq68k0qfhxrhsqij35l9zml5y203n4y"; +} +{ + lang = "pt"; + saneName = "pt"; + sha256 = "0rryyjfgplar77fz332jv2w0lv7d6273gv022pb1m83w945pzkf9"; +} +{ + lang = "pt_BR"; + saneName = "pt_BR"; + sha256 = "0aglgvj1ljfdf6gjs478l4wisp2z4dzkkbhz1sgry00p4q1417ab"; +} +{ + lang = "ro"; + saneName = "ro"; + sha256 = "14aqlg64lp287m09zhh9r9l6ywfwzz7f2nz0vr1fg3wqsdrchglw"; +} +{ + lang = "ru"; + saneName = "ru"; + sha256 = "0cq6xacyrb9wrrwbl8xrb2ah3h7s7a9vr7kz3fy5rf2rgq0phfd7"; +} +{ + lang = "sk"; + saneName = "sk"; + sha256 = "07i0plzmg0nykfalyjvwnhg5qrcfdf1h6i18b34xyrp3y4gm540a"; +} +{ + lang = "sl"; + saneName = "sl"; + sha256 = "0gw1iv550nr307ibgb8i48fxcq03liq5r2x7fr9pl0n9xknh3c8a"; +} +{ + lang = "sr"; + saneName = "sr"; + sha256 = "0489n0l9c9wig5567dfh4apyyy6xws7yxq79r4jl00zxl1j43bla"; +} +{ + lang = "sv"; + saneName = "sv"; + sha256 = "1n4ckll9ngj8qn976nikxfljf23qsvphblbjnjm0vk4713bnpf9h"; +} +{ + lang = "tr"; + saneName = "tr"; + sha256 = "0pzjdnanhynalcjlsg94g88i92hwdsqz02x85yxxg87vn74p13ks"; +} +{ + lang = "ug"; + saneName = "ug"; + sha256 = "1z9mjzh0w6i2a75ys0dx5ksm8fpwyw8wrwdh14bvbnxpnkx0jv8x"; +} +{ + lang = "uk"; + saneName = "uk"; + sha256 = "032vjcjpl19dyyc36z1nwyc9h696iys8dfyadpw9rhcllpk4ck67"; +} +{ + lang = "vi"; + saneName = "vi"; + sha256 = "0sd6vzb1qmbbxk6d1vfq21gkq009lp7qxnpdcr7jbykcf0licq7i"; +} +{ + lang = "wa"; + saneName = "wa"; + sha256 = "1m6fa0adfjzfqakjyrrjwak4p0y5wwdkkq61qx9wvzdb78qm83rw"; +} +{ + lang = "zh_CN"; + saneName = "zh_CN"; + sha256 = "11is37g7fafxhk7ydydgbxdg0x1s5cxr8v1pjzwqb858n1cq5x1h"; +} +{ + lang = "zh_TW"; + saneName = "zh_TW"; + sha256 = "1vbr0pjm8d25lxbmhqz8d4x57sjc411a5fkvyxh4rr34fd7xxhwq"; +} +] diff --git a/pkgs/desktops/kde-4.12/oxygen-icons.nix b/pkgs/desktops/kde-4.12/oxygen-icons.nix index 626948cb24d..01020e095f9 100644 --- a/pkgs/desktops/kde-4.12/oxygen-icons.nix +++ b/pkgs/desktops/kde-4.12/oxygen-icons.nix @@ -3,7 +3,7 @@ kde { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "0i28c8iz83ian5mnci66jlrdkwiw09j0vxgfs74mc4wgbj5xns2f"; + outputHash = "06qddsbq0sadj9jh2x1qkbm69b7cnd2474b3h0zrzrqgnrsf8jn2"; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd.nix index ace7aa7a2c7..d39778c9371 100644 --- a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix +++ b/pkgs/desktops/xfce/applications/xfce4-notifyd.nix @@ -26,5 +26,7 @@ stdenv.mkDerivation rec { homepage = "http://goodies.xfce.org/projects/applications/${p_name}"; description = "Notification daemon for Xfce"; license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; }; } diff --git a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix index 0a30d8ac48b..5004f2aaf47 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, gtk3 }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk, enableGtk3Support ? false, 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 gtk3 ]; + buildInputs = [ pkgconfig intltool gtk ] ++ stdenv.lib.optional enableGtk3Support gtk3; meta = { homepage = http://www.xfce.org/; diff --git a/pkgs/development/compilers/Agda-executable/default.nix b/pkgs/development/compilers/Agda-executable/default.nix deleted file mode 100644 index f9acff43ef7..00000000000 --- a/pkgs/development/compilers/Agda-executable/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ cabal, Agda }: - -cabal.mkDerivation (self: { - pname = "Agda-executable"; - version = "2.3.0.1"; - sha256 = "156nzvpmqi7yizjr4yym2ybc0iv4nqfp84qrpdxcha682k298ib1"; - isLibrary = false; - isExecutable = true; - buildDepends = [ Agda ]; - jailbreak = true; - meta = { - homepage = "http://wiki.portal.chalmers.se/agda/"; - description = "Command-line program for type-checking and compiling Agda programs"; - license = "unknown"; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/Agda/default.nix b/pkgs/development/compilers/agda/agda.nix similarity index 100% rename from pkgs/development/libraries/haskell/Agda/default.nix rename to pkgs/development/compilers/agda/agda.nix diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix new file mode 100644 index 00000000000..c07b3e7c7dd --- /dev/null +++ b/pkgs/development/compilers/agda/stdlib.nix @@ -0,0 +1,31 @@ +{ cabal, fetchurl, filemanip, Agda }: + +cabal.mkDerivation (self: { + pname = "Agda-stdlib"; + version = "0.7"; + + src = fetchurl { + url = "http://www.cse.chalmers.se/~nad/software/lib-0.7.tar.gz"; + sha256 = "1ynjgqk8hhnm6rbngy8fjsrd6i4phj2hlan9bk435bbywbl366k3"; + }; + + buildDepends = [ filemanip Agda ]; + + preConfigure = "cd ffi"; + + postInstall = '' + mkdir -p $out/share + cd .. + runhaskell GenerateEverything + agda -i . -i src Everything.agda + cp -pR src $out/share/agda + ''; + + meta = { + homepage = "http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.StandardLibrary"; + description = "A standard library for use with the Agda compiler."; + license = "unknown"; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.jwiegley ]; + }; +}) \ No newline at end of file diff --git a/pkgs/development/compilers/aliceml/builder.sh b/pkgs/development/compilers/aliceml/builder.sh new file mode 100644 index 00000000000..e1f5d1b2bed --- /dev/null +++ b/pkgs/development/compilers/aliceml/builder.sh @@ -0,0 +1,71 @@ +source $stdenv/setup + +export CXXFLAGS="-m32" + +tar zxvf "$gecodeSrc" +cd gecode-1.3.1 +./configure --prefix="$out" --disable-minimodel --disable-examples +make +make install +cd .. + +PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"$out"/lib/pkgconfig + +tar zxvf "$seamSrc" +cd seam-1.4 +./configure --prefix="$out" --with-zlib=$zlib +make +make install +cd .. + +PATH=$PATH:"$out"/bin + +tar zxvf "$aliceSrc" +cd alice-1.4 +sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/alicerun.in +sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/aliceremote +./configure --prefix="$out" --with-gmp=$gmp +make +make install +cd .. + +tar zxvf "$aliceGecodeSrc" +cd alice-gecode-1.4 +make compiledll MUST_GENERATE=no +make installdll MUST_GENERATE=no +cd .. + +tar zxvf "$aliceRegexSrc" +cd alice-regex-1.4 +make compiledll MUST_GENERATE=no +make installdll MUST_GENERATE=no +cd .. + +tar zxvf "$aliceSqliteSrc" +cd alice-sqlite-1.4 +make compiledll MUST_GENERATE=no +make installdll MUST_GENERATE=no +cd .. + +tar zxvf "$aliceXmlSrc" +cd alice-xml-1.4 +make compiledll MUST_GENERATE=no +make installdll MUST_GENERATE=no +cd .. + +tar zxvf "$aliceGtkSrc" +cd alice-gtk-1.4 +sed -i -e 's/PRIVATE_GTK_LEAVE_PENDING/PRIVATE_GTK_HAS_POINTER/g' NativeGtk.cc +sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' myinstall +make compiledll MUST_GENERATE=no +make installdll MUST_GENERATE=no +cd .. + +tar zxvf "$aliceRuntimeSrc" +cd alice-runtime-1.4 +./configure --prefix="$out" +make +make install +cd .. + + diff --git a/pkgs/development/compilers/aliceml/default.nix b/pkgs/development/compilers/aliceml/default.nix new file mode 100644 index 00000000000..5ea470bfc87 --- /dev/null +++ b/pkgs/development/compilers/aliceml/default.nix @@ -0,0 +1,70 @@ +{stdenv, fetchurl, pkgsi686Linux, libtool, gnumake381, autoconf, automake111x, file, which, zsh, m4, pkgconfig, perl}: + +stdenv.mkDerivation { + name = "aliceml-1.4"; + + aliceSrc = fetchurl { + url = http://www.ps.uni-saarland.de/alice/download/sources/alice-1.4.tar.gz; + sha256 = "1ay8r26g7xm9zlrlpigp6y1zmrl93hzkndb5phx7651wx8j2183r"; + }; + + aliceGecodeSrc = fetchurl { + url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gecode-1.4.tar.gz; + sha256 = "0yklpsqnm3wwzfz4vvv69dmm7q7pzpl3z7iw7wg33klng85cidl6"; + }; + + aliceGtkSrc = fetchurl { + url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gtk-1.4.tar.gz; + sha256 = "0zx4ks0pk5wgbcsflcmn0kbpa9j7pjbsc19d1s3jgp4rwb24m1an"; + }; + + aliceRegexSrc = fetchurl { + url = http://www.ps.uni-saarland.de/alice/download/sources/alice-regex-1.4.tar.gz; + sha256 = "0myjzh3295awamghs4c88ypaa41m8sxh5jys876yq6flslw41s02"; + }; + + aliceRuntimeSrc = fetchurl { + url = http://www.ps.uni-saarland.de/alice/download/sources/alice-runtime-1.4.tar.gz; + sha256 = "1cbca71vh16l2h0zjvhgzzs0rzq99nc8nx9a97yzw595355nq57f"; + }; + + aliceSqliteSrc = fetchurl { + url = http://www.ps.uni-saarland.de/alice/download/sources/alice-sqlite-1.4.tar.gz; + sha256 = "0554xbx8zgqmpb7x06d7xvhlbk7bxmc237khgjs6yjcy53yf366b"; + }; + + aliceXmlSrc = fetchurl { + url = http://www.ps.uni-saarland.de/alice/download/sources/alice-xml-1.4.tar.gz; + sha256 = "058a815a0vajjvjlsmd4ryx2bc71q6zwvyjg2c0v1gba2v3pddm0"; + }; + + seamSrc = fetchurl { + url = http://www.ps.uni-saarland.de/alice/download/sources/seam-1.4.tar.gz; + sha256 = "1iz98jdv914whaw426d5406shlqgxqwpy3fbyb472x7d3lfra2dz"; + }; + + gecodeSrc = fetchurl { + url = http://www.gecode.org/download/gecode-1.3.1.tar.gz; + sha256 = "0mgc6llbq166jmlq3alvagqsg3730670zvbwwkdgsqklw70v9355"; + }; + + zlib = pkgsi686Linux.zlib; + gmp = pkgsi686Linux.gmp; + + + buildInputs = [ + stdenv pkgsi686Linux.gcc34 pkgsi686Linux.glibc + libtool gnumake381 autoconf automake111x pkgsi686Linux.zlib + file which zsh pkgsi686Linux.gmp m4 pkgsi686Linux.gnome.gtk + pkgsi686Linux.gnome.libgnomecanvas pkgsi686Linux.pango pkgsi686Linux.sqlite + pkgsi686Linux.libxml2 pkgsi686Linux.lightning pkgconfig perl + ]; + + builder = ./builder.sh; + + meta = { + homepage = http://www.ps.uni-saarland.de/alice/; + description = "Alice ML is a functional programming language based on Standard ML, extended with rich support for concurrent, distributed, and constraint programming."; + license = "BSD"; + }; +} diff --git a/pkgs/development/compilers/ats/default.nix b/pkgs/development/compilers/ats/default.nix index a5ed478a879..6f15c0599ef 100644 --- a/pkgs/development/compilers/ats/default.nix +++ b/pkgs/development/compilers/ats/default.nix @@ -1,41 +1,23 @@ { stdenv, fetchurl, gmp }: -let version = "0.2.11"; in stdenv.mkDerivation { - name = "ats-anairiats-${version}"; +stdenv.mkDerivation rec { + name = "ats-${version}"; + version = "0.2.11"; 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. - ''; + description = "Functional programming language with dependent types"; + homepage = "http://www.ats-lang.org"; + license = stdenv.lib.licenses.gpl3Plus; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; - - platforms = stdenv.lib.platforms.all; } diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix index c1c71b0dfe2..1f6a8b6c6e0 100644 --- a/pkgs/development/compilers/ats2/default.nix +++ b/pkgs/development/compilers/ats2/default.nix @@ -1,20 +1,21 @@ { stdenv, fetchurl, gmp }: -let version = "0.0.6"; in stdenv.mkDerivation { - name = "ats2-postiats-${version}"; +stdenv.mkDerivation rec { + name = "ats2-${version}"; + version = "0.0.7"; src = fetchurl { url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz"; - sha256 = "110a4drzf656j9s5yfvxj1cwgh5g9ysnh40cv8y9qfjjkki8vd5b"; + sha256 = "1cv7caaf9fj6z3kln02ikkbmcy42324v39lzx3cf6qcsywwpm8fx"; }; 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; + description = "Functional programming language with dependent types"; + homepage = "http://www.ats-lang.org"; + license = stdenv.lib.licenses.gpl3Plus; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; - - platforms = stdenv.lib.platforms.all; } diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix index 6ad87982d52..1a4e3377501 100644 --- a/pkgs/development/compilers/chicken/default.nix +++ b/pkgs/development/compilers/chicken/default.nix @@ -1,17 +1,7 @@ -{ stdenv, fetchurl, devSnapshot ? false }: +{ stdenv, fetchurl }: let - version = if devSnapshot - then "4.8.2" - else "4.8.0.5"; - srcRelease = fetchurl { - url = "http://code.call-cc.org/releases/4.8.0/chicken-4.8.0.5.tar.gz"; - sha256 = "1yrhqirqj3l535zr5mv8d1mz9gq876wwwg4nsjfw27663far54av"; - }; - srcDev = fetchurl { - url = "http://code.call-cc.org/dev-snapshots/2013/08/08/chicken-4.8.2.tar.gz"; - sha256 = "01g7h0664342nl536mnri4c72kwj4z40vmv1250xfndlr218qdqg"; - }; + version = "4.9.0"; platform = with stdenv; if isDarwin then "macosx" else if isCygwin then "cygwin" @@ -22,9 +12,10 @@ in stdenv.mkDerivation { name = "chicken-${version}"; - src = if devSnapshot - then srcDev - else srcRelease; + src = fetchurl { + url = "http://code.call-cc.org/releases/4.9.0/chicken-${version}.tar.gz"; + sha256 = "08jaavr3lhs0z2q9k7b7w8l3fsxpms58zxg8nyk8674p54cbwaig"; + }; buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib"; installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib"; diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix new file mode 100644 index 00000000000..f5e66b8ac10 --- /dev/null +++ b/pkgs/development/compilers/compcert/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, coq, ocaml, gcc }: + +stdenv.mkDerivation rec { + name = "compcert-${version}"; + version = "2.3pl2"; + + src = fetchurl { + url = "http://compcert.inria.fr/release/${name}.tgz"; + sha256 = "1cq4my646ll1mszs5mbzwk4vp8l8qnsc96fpcv2pl35aw5i6jqm8"; + }; + + buildInputs = [ coq ocaml ]; + + enableParallelBuilding = true; + configurePhase = "./configure -prefix $out -toolprefix ${gcc}/bin/ ia32-linux"; + + meta = { + description = "Formally verified C compiler"; + homepage = "http://compcert.inria.fr"; + license = stdenv.lib.licenses.inria; + platforms = [ "i686-linux" ]; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/compilers/cryptol/1.8.x.nix b/pkgs/development/compilers/cryptol/1.8.x.nix new file mode 100644 index 00000000000..42887b22ab0 --- /dev/null +++ b/pkgs/development/compilers/cryptol/1.8.x.nix @@ -0,0 +1,115 @@ +{ stdenv, requireFile, gmp4, ncurses, zlib, clang_33, makeWrapper }: + +let + name = "cryptol-${version}-${rev}"; + version = "1.8.27"; + rev = "1"; + lss-ver = "lss-0.2d"; + jss-ver = "jss-0.4"; + + libPath = stdenv.lib.makeLibraryPath + [ stdenv.gcc.libc + stdenv.gcc.gcc + gmp4 + ncurses + zlib + ] + ":${stdenv.gcc.gcc}/lib64"; + + cryptol-bin = + if stdenv.system == "i686-linux" + then requireFile { + url = "http://cryptol.net"; + name = "${name}-i386-centos6-linux.tar.gz"; + sha256 = "131jkj3nh29rwwq5w5sfdf5jrb3c7ayjp4709v1zh84q4d6b35nf"; + } + else requireFile { + url = "http://cryptol.net"; + name = "${name}-x86_64-centos6-linux.tar.gz"; + sha256 = "1dmkns8s6r2d6pvh176w8k3891frik6hmcr2ibghk4l6qr6gwarx"; + }; + + lss-bin = + if stdenv.system == "i686-linux" + then requireFile { + url = "http://cryptol.net"; + name = "${lss-ver}-centos6-32.tar.gz"; + sha256 = "015ssw3v523wwzkma0qbpj3jnyzckab5q00ypdz0gr3kjcxn5rxg"; + } + else requireFile { + url = "http://cryptol.net"; + name = "${lss-ver}-centos6-64.tar.gz"; + sha256 = "1zjy4xi8v3m6g8ydm9q6dgzg5xn0xc3a4zsll5plbhngprgwxcxm"; + }; + + jss-bin = + if stdenv.system == "i686-linux" + then requireFile { + url = "http://cryptol.net"; + name = "${jss-ver}-centos5-32.tar.gz"; + sha256 = "1rlj14fbh9k3yvals8jsarczwl51fh6zjaic0pnhpc9s4p0pnjbr"; + } + else requireFile { + url = "http://cryptol.net"; + name = "${jss-ver}-centos5-64.tar.gz"; + sha256 = "0smarm2pi3jz4c8jas9gwcbghc6vc375vrwxbdj1mqx4awlhnz1n"; + }; + +in +stdenv.mkDerivation rec { + inherit name version cryptol-bin jss-bin lss-bin; + + src = [ cryptol-bin lss-bin jss-bin ]; + buildInputs = [ makeWrapper ]; + + unpackPhase = '' + tar xf ${cryptol-bin} + tar xf ${lss-bin} + tar xf ${jss-bin} + ''; + + installPhase = '' + mkdir -p $out/share $out/libexec + + # Move Cryptol + mv cryptol-${version}/bin $out + mv cryptol-${version}/lib $out + mv cryptol-${version}/man $out/share + rm -f $out/bin/cryptol-2 + + # Move JSS + # Create a wrapper for jss to keep the .jar out of the way + mv ${jss-ver}/bin/jss $out/libexec + mv ${jss-ver}/bin/galois.jar $out/libexec + makeWrapper $out/libexec/jss $out/bin/jss --run "cd $out/libexec" + mv ${jss-ver}/doc/jss.1 $out/share/man/man1 + + # Move LSS + mv ${lss-ver}/bin/lss $out/bin + mv ${lss-ver}/sym-api $out/include + + # Create a convenient 'lss-clang' wrapper pointing to a valid Clang verison + ln -s ${clang_33}/bin/clang $out/bin/lss-clang + + # Hack around lack of libtinfo in NixOS + ln -s ${ncurses}/lib/libncursesw.so.5.9 $out/lib/libtinfo.so.5 + ln -s ${stdenv.gcc.libc}/lib/libpthread-2.19.so $out/lib/libpthread.so.0 + ''; + + fixupPhase = '' + for x in bin/cryptol bin/edif2verilog bin/copy-iverilog bin/symbolic_netlist bin/jaig bin/vvp-galois bin/lss libexec/jss; do + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath "$out/lib:${libPath}" $out/$x + patchelf --shrink-rpath $out/$x + done + ''; + + phases = "unpackPhase installPhase fixupPhase"; + + meta = { + description = "Cryptol: The Language of Cryptography"; + homepage = "https://cryptol.net"; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/compilers/cryptol/2.0.x.nix b/pkgs/development/compilers/cryptol/2.0.x.nix new file mode 100644 index 00000000000..753dfb4f318 --- /dev/null +++ b/pkgs/development/compilers/cryptol/2.0.x.nix @@ -0,0 +1,31 @@ +{ cabal, cabalInstall, Cabal, alex, ansiTerminal, deepseq, executablePath +, filepath, graphSCC, happy, haskeline, monadLib, mtl, presburger, QuickCheck +, random, smtLib, syb, text, transformers, utf8String, process, fetchgit +}: + +cabal.mkDerivation (self: { + pname = "cryptol"; + version = "2.0.0"; + src = fetchgit { + url = "https://github.com/GaloisInc/cryptol.git"; + rev = "refs/tags/v2.0.0"; + sha256 = "6af3499d7c6f034446f6665660f7a66dd592e81281e34b0cee3e55bc03597e6b"; + }; + isLibrary = true; + isExecutable = true; + + patches = [ ./fix-gitrev.patch ]; + buildDepends = [ + ansiTerminal deepseq executablePath filepath graphSCC haskeline + monadLib mtl presburger QuickCheck random smtLib syb text + transformers utf8String process Cabal + ]; + buildTools = [ alex happy cabalInstall ]; + meta = { + description = "Cryptol: The Language of Cryptography"; + homepage = "https://cryptol.net"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ]; + }; +}) diff --git a/pkgs/development/compilers/cryptol/fix-gitrev.patch b/pkgs/development/compilers/cryptol/fix-gitrev.patch new file mode 100644 index 00000000000..ab9a789baf2 --- /dev/null +++ b/pkgs/development/compilers/cryptol/fix-gitrev.patch @@ -0,0 +1,44 @@ +From 3ceec293f8e68314d872909b7de1d4a2c3ecba49 Mon Sep 17 00:00:00 2001 +From: Austin Seipp +Date: Fri, 25 Apr 2014 00:24:39 -0500 +Subject: [PATCH] Add GitRev.hs to signify v2.0.0 release + +Signed-off-by: Austin Seipp +--- + cryptol.cabal | 2 +- + src/GitRev.hs | 10 ++++++++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + create mode 100644 src/GitRev.hs + +diff --git a/cryptol.cabal b/cryptol.cabal +index 2ba6e56..9acd1ef 100644 +--- a/cryptol.cabal ++++ b/cryptol.cabal +@@ -6,7 +6,7 @@ Author: Galois, Inc. + Maintainer: cryptol@galois.com + Copyright: 2013-2014 Galois Inc. + Category: Language +-Build-type: Configure ++Build-type: Simple + Cabal-version: >= 1.18 + + data-files: lib/Cryptol.cry +diff --git a/src/GitRev.hs b/src/GitRev.hs +new file mode 100644 +index 0000000..1c767dc +--- /dev/null ++++ b/src/GitRev.hs +@@ -0,0 +1,10 @@ ++module GitRev (hash, branch, dirty) where ++ ++hash :: String ++hash = "bd578915eaba8c56fadc29fe30f5dcd212c63374" ++ ++branch :: String ++branch = "Unknown" ++ ++dirty :: Bool ++dirty = False +-- +1.8.3.2 + diff --git a/pkgs/development/compilers/elm/elm-server.nix b/pkgs/development/compilers/elm/elm-server.nix index fce6f4a2699..5f389d48c8e 100644 --- a/pkgs/development/compilers/elm/elm-server.nix +++ b/pkgs/development/compilers/elm/elm-server.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "elm-server"; - version = "0.11"; - sha256 = "1977fa03n2m2apxhbzpcn6b5y5gf7ksnpigibi8djlpp76rliaz2"; + version = "0.11.0.1"; + sha256 = "0nnkhmmm4cl6a314xxh5qwxkjsc3k3vcwdfar62578ykarxb53g1"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix index bc9f73b2849..622f182e8c5 100644 --- a/pkgs/development/compilers/elm/elm.nix +++ b/pkgs/development/compilers/elm/elm.nix @@ -1,26 +1,27 @@ { cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup , cmdargs, filemanip, filepath, HUnit, indents, languageEcmascript -, mtl, pandoc, parsec, QuickCheck, testFramework -, testFrameworkHunit, testFrameworkQuickcheck2, text, transformers -, unionFind, unorderedContainers +, languageGlsl, mtl, pandoc, parsec, QuickCheck, scientific +, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text +, transformers, unionFind, unorderedContainers, yaml }: cabal.mkDerivation (self: { pname = "Elm"; - version = "0.12"; - sha256 = "1gmhnpcfv49bdifvz70fif71947q482pd1dbs5c84m8sn7c5n3ss"; + version = "0.12.3"; + sha256 = "1v6h9qbbz27ikh19xwjbyfw0zi5ag9x1gp0khh9v4af1g0j86320"; isLibrary = true; isExecutable = true; buildDepends = [ aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath - indents languageEcmascript mtl pandoc parsec text transformers - unionFind unorderedContainers + indents languageEcmascript languageGlsl mtl pandoc parsec + scientific text transformers unionFind unorderedContainers yaml ]; testDepends = [ - aeson binary blazeHtml blazeMarkup cmdargs filemanip filepath HUnit - indents languageEcmascript mtl pandoc parsec QuickCheck - testFramework testFrameworkHunit testFrameworkQuickcheck2 text - transformers unionFind unorderedContainers + aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filemanip + filepath HUnit indents languageEcmascript languageGlsl mtl pandoc + parsec QuickCheck scientific testFramework testFrameworkHunit + testFrameworkQuickcheck2 text transformers unionFind + unorderedContainers yaml ]; doCheck = false; preConfigure = '' diff --git a/pkgs/development/compilers/flapjax/default.nix b/pkgs/development/compilers/flapjax/default.nix deleted file mode 100644 index 5167bf7d795..00000000000 --- a/pkgs/development/compilers/flapjax/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{cabal, fetchurl, unzip, xhtml, WebBits, WebBitsHtml, JsContracts}: - -cabal.mkDerivation ( self: { - pname = "flapjax"; - version = "2.1"; - - src = fetchurl { - url = https://github.com/brownplt/flapjax/zipball/Flapjax-2.1; - name = "flapjax-2.1.zip"; - sha256 = "1cp9g570528a813ljnvd1lb389iz0i6511xynf6kzryv8ckc1n7v"; - }; - - # The Makefile copies some files to update the flapjax website into - # missing directories; the -p is to avoid these errors. - preConfigure = '' - cd fx - sed -i 's/mkdir/mkdir -p/' Makefile - make - cd ../compiler - ''; - - extraBuildInputs = [ unzip JsContracts ]; - propagatedBuildInputs = [ xhtml WebBits WebBitsHtml ]; - - meta = { - description = "programming language designed around the demands of modern, client-based Web applications"; - homepage = http://www.flapjax-lang.org/; - license = "BSD"; - }; -}) diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix index 3ed0f7ad0e6..af111322698 100644 --- a/pkgs/development/compilers/gcc/4.6/default.nix +++ b/pkgs/development/compilers/gcc/4.6/default.nix @@ -159,10 +159,8 @@ let version = "4.6.3"; # In any case, mingw32 g++ linking is broken by default with shared libs, # unless adding "-lsupc++" to any linking command. I don't know why. " --disable-shared" + - (if cross.config == "x86_64-w64-mingw32" then - # To keep ABI compatibility with upstream mingw-w64 - " --enable-fully-dynamic-string" - else "") + # To keep ABI compatibility with upstream mingw-w64 + " --enable-fully-dynamic-string" else (if cross.libc == "uclibc" then # In uclibc cases, libgomp needs an additional '-ldl' # and as I don't know how to pass it, I disable libgomp. diff --git a/pkgs/development/compilers/gcc/4.8/bug-58800.patch b/pkgs/development/compilers/gcc/4.8/bug-58800.patch new file mode 100644 index 00000000000..c8e8666761a --- /dev/null +++ b/pkgs/development/compilers/gcc/4.8/bug-58800.patch @@ -0,0 +1,79 @@ +Index: gcc-4_8-branch/libstdc++-v3/include/bits/stl_algo.h +=================================================================== +--- gcc-4_8-branch/libstdc++-v3/include/bits/stl_algo.h (revision 203872) ++++ gcc-4_8-branch/libstdc++-v3/include/bits/stl_algo.h (revision 203873) +@@ -2279,7 +2279,7 @@ + _RandomAccessIterator __last) + { + _RandomAccessIterator __mid = __first + (__last - __first) / 2; +- std::__move_median_to_first(__first, __first + 1, __mid, (__last - 2)); ++ std::__move_median_to_first(__first, __first + 1, __mid, __last - 1); + return std::__unguarded_partition(__first + 1, __last, *__first); + } + +@@ -2291,7 +2291,7 @@ + _RandomAccessIterator __last, _Compare __comp) + { + _RandomAccessIterator __mid = __first + (__last - __first) / 2; +- std::__move_median_to_first(__first, __first + 1, __mid, (__last - 2), ++ std::__move_median_to_first(__first, __first + 1, __mid, __last - 1, + __comp); + return std::__unguarded_partition(__first + 1, __last, *__first, __comp); + } +Index: gcc-4_8-branch/libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc +=================================================================== +--- gcc-4_8-branch/libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc (revision 0) ++++ gcc-4_8-branch/libstdc++-v3/testsuite/25_algorithms/nth_element/58800.cc (revision 203873) +@@ -0,0 +1,52 @@ ++// Copyright (C) 2013 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library 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 3, 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 General Public License for more details. ++ ++// You should have received a copy of the GNU General Public License along ++// with this library; see the file COPYING3. If not see ++// . ++ ++// 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.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index aea52593323..902cba392f8 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, noSysDirs , langC ? true, langCC ? true, langFortran ? false +, langObjC ? stdenv.isDarwin +, langObjCpp ? stdenv.isDarwin , langJava ? false , langAda ? false , langVhdl ? false @@ -62,7 +64,7 @@ let version = "4.8.2"; */ enableParallelBuilding = !profiledCompiler; - patches = [] + 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 @@ -117,7 +119,8 @@ let version = "4.8.2"; withMode; /* Cross-gcc settings */ - crossMingw = (cross != null && cross.libc == "msvcrt"); + crossMingw = cross != null && cross.libc == "msvcrt"; + crossDarwin = cross != null && cross.libc == "libSystem"; crossConfigureFlags = let gccArch = stdenv.cross.gcc.arch or null; gccCpu = stdenv.cross.gcc.cpu or null; @@ -159,9 +162,16 @@ let version = "4.8.2"; " --disable-libgomp " + " --disable-libquadmath" + " --disable-shared" + + " --disable-libatomic " + # libatomic requires libc " --disable-decimal-float" # libdecnumber requires libc else - " --with-headers=${libcCross}/include" + + (if crossDarwin then " --with-sysroot=${libcCross}/share/sysroot" + else " --with-headers=${libcCross}/include") + + # Ensure that -print-prog-name is able to find the correct programs. + (stdenv.lib.optionalString (crossMingw || crossDarwin) ( + " --with-as=${binutilsCross}/bin/${cross.config}-as" + + " --with-ld=${binutilsCross}/bin/${cross.config}-ld" + )) + " --enable-__cxa_atexit" + " --enable-long-long" + (if crossMingw then @@ -175,10 +185,8 @@ let version = "4.8.2"; # In any case, mingw32 g++ linking is broken by default with shared libs, # unless adding "-lsupc++" to any linking command. I don't know why. " --disable-shared" + - (if cross.config == "x86_64-w64-mingw32" then - # To keep ABI compatibility with upstream mingw-w64 - " --enable-fully-dynamic-string" - else "") + # To keep ABI compatibility with upstream mingw-w64 + " --enable-fully-dynamic-string" else (if cross.libc == "uclibc" then # In uclibc cases, libgomp needs an additional '-ldl' # and as I don't know how to pass it, I disable libgomp. @@ -346,6 +354,9 @@ stdenv.mkDerivation ({ ++ optional langAda "ada" ++ optional langVhdl "vhdl" ++ optional langGo "go" + ++ optional langObjC "objc" + ++ optional langObjCpp "obj-c++" + ++ optionals crossDarwin [ "objc" "obj-c++" ] ) ) } @@ -483,7 +494,7 @@ stdenv.mkDerivation ({ else null; passthru = - { inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; }; + { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo enableMultilib version; }; inherit enableParallelBuilding; diff --git a/pkgs/development/compilers/gcc/4.9/builder.sh b/pkgs/development/compilers/gcc/4.9/builder.sh new file mode 100644 index 00000000000..b781fa6c7ef --- /dev/null +++ b/pkgs/development/compilers/gcc/4.9/builder.sh @@ -0,0 +1,245 @@ +source $stdenv/setup + + +export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy +mkdir $NIX_FIXINC_DUMMY + + +if test "$staticCompiler" = "1"; then + EXTRA_LDFLAGS="-static" +else + EXTRA_LDFLAGS="" +fi + +# GCC interprets empty paths as ".", which we don't want. +if test -z "$CPATH"; then unset CPATH; fi +if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi +echo "\$CPATH is \`$CPATH'" +echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'" + +if test "$noSysDirs" = "1"; then + + if test -e $NIX_GCC/nix-support/orig-libc; then + + # Figure out what extra flags to pass to the gcc compilers + # being generated to make sure that they use our glibc. + extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)" + extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)" + + # Use *real* header files, otherwise a limits.h is generated + # that does not include Glibc's limits.h (notably missing + # SSIZE_MAX, which breaks the build). + export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include + + # 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" + extraLDFlags="-L/usr/lib64 -L/usr/lib" + glibc_libdir="/usr/lib" + export NIX_FIXINC_DUMMY=/usr/include + fi + + extraFlags="-I$NIX_FIXINC_DUMMY $extraFlags" + extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" + + # BOOT_CFLAGS defaults to `-g -O2'; since we override it below, + # make sure to explictly add them so that files compiled with the + # bootstrap compiler are optimized and (optionally) contain + # debugging information (info "(gccinstall) Building"). + if test -n "$dontStrip"; then + extraFlags="-O2 -g $extraFlags" + else + # Don't pass `-g' at all; this saves space while building. + extraFlags="-O2 $extraFlags" + fi + + EXTRA_FLAGS="$extraFlags" + for i in $extraLDFlags; do + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i" + done + + if test -n "$targetConfig"; then + # Cross-compiling, we need gcc not to read ./specs in order to build + # the g++ compiler (after the specs for the cross-gcc are created). + # Having LIBRARY_PATH= makes gcc read the specs from ., and the build + # breaks. Having this variable comes from the default.nix code to bring + # gcj in. + unset LIBRARY_PATH + unset CPATH + if test -z "$crossStageStatic"; then + EXTRA_TARGET_CFLAGS="-B${libcCross}/lib -idirafter ${libcCross}/include" + EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib -Wl,-rpath,${libcCross}/lib -Wl,-rpath-link,${libcCross}/lib" + fi + else + if test -z "$NIX_GCC_CROSS"; then + EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS" + EXTRA_TARGET_CXXFLAGS="$EXTRA_FLAGS" + EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS" + else + # This the case of cross-building the gcc. + # We need special flags for the target, different than those of the build + # Assertion: + test -e $NIX_GCC_CROSS/nix-support/orig-libc + + # Figure out what extra flags to pass to the gcc compilers + # being generated to make sure that they use our glibc. + extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)" + extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)" + + # Use *real* header files, otherwise a limits.h is generated + # that does not include Glibc's limits.h (notably missing + # SSIZE_MAX, which breaks the build). + NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include + + # The path to the Glibc binaries such as `crti.o'. + glibc_dir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)" + glibc_libdir="$glibc_dir/lib" + configureFlags="$configureFlags --with-native-system-header-dir=$glibc_dir/include" + + extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags" + extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" + + EXTRA_TARGET_CFLAGS="$extraFlags" + for i in $extraLDFlags; do + EXTRA_TARGET_LDFLAGS="$EXTRA_TARGET_LDFLAGS -Wl,$i" + done + fi + fi + + + # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find + # the startfiles. + # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx + # for the startfiles. + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ + SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ + CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + CXXFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + CFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + CXXFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + FLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + LDFLAGS_FOR_TARGET="$EXTRA_TARGET_LDFLAGS $EXTRA_TARGET_LDFLAGS" \ + ) + + if test -z "$targetConfig"; then + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + BOOT_LDFLAGS="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + ) + fi + + if test -n "$targetConfig" -a "$crossStageStatic" == 1; then + # We don't want the gcc build to assume there will be a libc providing + # limits.h in this stagae + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + LIMITS_H_TEST=false \ + ) + else + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + LIMITS_H_TEST=true \ + ) + fi +fi + +if test -n "$targetConfig"; then + # The host strip will destroy some important details of the objects + dontStrip=1 +fi + +providedPreConfigure="$preConfigure"; +preConfigure() { + if test -n "$newlibSrc"; then + tar xvf "$newlibSrc" -C .. + ln -s ../newlib-*/newlib newlib + # Patch to get armvt5el working: + sed -i -e 's/ arm)/ arm*)/' newlib/configure.host + fi + # Bug - they packaged zlib + if test -d "zlib"; then + # This breaks the build without-headers, which should build only + # the target libgcc as target libraries. + # See 'configure:5370' + rm -Rf zlib + fi + + if test -f "$NIX_GCC/nix-support/orig-libc"; then + # Patch the configure script so it finds glibc headers. It's + # important for example in order not to get libssp built, + # because its functionality is in glibc already. + glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include" + sed -i \ + -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \ + gcc/configure + fi + + if test -n "$crossMingw" -a -n "$crossStageStatic"; then + mkdir -p ../mingw + # --with-build-sysroot expects that: + cp -R $libcCross/include ../mingw + 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 + configureScript=../$sourceRoot/configure +} + + +postConfigure() { + # Don't store the configure flags in the resulting executables. + sed -e '/TOPLEVEL_CONFIGURE_ARGUMENTS=/d' -i Makefile +} + + +postInstall() { + # Remove precompiled headers for now. They are very big and + # probably not very useful yet. + find $out/include -name "*.gch" -exec rm -rf {} \; -prune + + # Remove `fixincl' to prevent a retained dependency on the + # 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 + for i in $out/libexec/gcc/*/*/*; do + if PREV_RPATH=`patchelf --print-rpath $i`; then + patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i + fi + done + + # Get rid of some "fixed" header files + rm -rf $out/lib/gcc/*/*/include/root + + # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. + for i in $out/bin/*-gcc*; do + if cmp -s $out/bin/gcc $i; then + ln -sfn gcc $i + fi + done + + for i in $out/bin/c++ $out/bin/*-c++* $out/bin/*-g++*; do + if cmp -s $out/bin/g++ $i; then + ln -sfn g++ $i + fi + done + + eval "$postInstallGhdl" +} + +genericBuild diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix new file mode 100644 index 00000000000..f00c42e421a --- /dev/null +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -0,0 +1,530 @@ +{ stdenv, fetchurl, noSysDirs +, langC ? true, langCC ? true, langFortran ? false +, langJava ? false +, langAda ? false +, langVhdl ? false +, langGo ? false +, profiledCompiler ? false +, staticCompiler ? false +, enableShared ? true +, texinfo ? null +, 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, 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 +, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null +, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null +, gnatboot ? null +, enableMultilib ? false +, enablePlugin ? true # whether to support user-supplied plug-ins +, name ? "gcc" +, cross ? null +, binutilsCross ? null +, libcCross ? null +, crossStageStatic ? true +, gnat ? null +, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd +, stripped ? true +, gnused ? null +}: + +assert langJava -> zip != null && unzip != null + && zlib != null && boehmgc != null + && perl != null; # for `--enable-java-home' +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; + +# Make sure we get GNU sed. +assert stdenv.isDarwin -> gnused != null; + +# The go frontend is written in c++ +assert langGo -> langCC; + +with stdenv.lib; +with builtins; + +let version = "4.9.0"; + + # Whether building a cross-compiler for GNU/Hurd. + crossGNU = cross != null && cross.config == "i586-pc-gnu"; + + /* gccinstall.info says that "parallel make is currently not supported since + collisions in profile collecting may occur". + */ + enableParallelBuilding = !profiledCompiler; + + patches = [ ] + ++ 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 + # target libraries and tools. + ++ optional langAda ./gnat-cflags.patch + ++ optional langFortran ./gfortran-driving.patch; + + javaEcj = fetchurl { + # The `$(top_srcdir)/ecj.jar' file is automatically picked up at + # `configure' time. + + # XXX: Eventually we might want to take it from upstream. + url = "ftp://sourceware.org/pub/java/ecj-4.3.jar"; + sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx"; + }; + + # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a + # binary distribution here to allow the whole chain to be bootstrapped. + javaAntlr = fetchurl { + url = http://www.antlr.org/download/antlr-3.1.3.jar; + sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09"; + }; + + xlibs = [ + libX11 libXt libSM libICE libXtst libXrender libXrandr libXi + xproto renderproto xextproto inputproto randrproto + ]; + + javaAwtGtk = langJava && gtk != null; + + /* Platform flags */ + platformFlags = let + 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 + + withCpu + + withAbi + + withFpu + + withFloat + + withMode; + + /* Cross-gcc settings */ + crossMingw = cross != null && cross.libc == "msvcrt"; + crossDarwin = cross != null && cross.libc == "libSystem"; + crossConfigureFlags = let + 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 ""; + 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 + "--target=${cross.config}" + + withArch + + withCpu + + withAbi + + withFpu + + withFloat + + withMode + + (if crossMingw && crossStageStatic then + " --with-headers=${libcCross}/include" + + " --with-gcc" + + " --with-gnu-as" + + " --with-gnu-ld" + + " --with-gnu-ld" + + " --disable-shared" + + " --disable-nls" + + " --disable-debug" + + " --enable-sjlj-exceptions" + + " --enable-threads=win32" + + " --disable-win32-registry" + else if crossStageStatic then + " --disable-libssp --disable-nls" + + " --without-headers" + + " --disable-threads " + + " --disable-libmudflap " + + " --disable-libgomp " + + " --disable-libquadmath" + + " --disable-shared" + + " --disable-decimal-float" # libdecnumber requires libc + else + (if crossDarwin then " --with-sysroot=${libcCross}/share/sysroot" + else " --with-headers=${libcCross}/include") + + # Ensure that -print-prog-name is able to find the correct programs. + (stdenv.lib.optionalString (crossMingw || crossDarwin) ( + " --with-as=${binutilsCross}/bin/${cross.config}-as" + + " --with-ld=${binutilsCross}/bin/${cross.config}-ld" + )) + + " --enable-__cxa_atexit" + + " --enable-long-long" + + (if crossMingw then + " --enable-threads=win32" + + " --enable-sjlj-exceptions" + + " --enable-hash-synchronization" + + " --disable-libssp" + + " --disable-nls" + + " --with-dwarf2" + + # I think noone uses shared gcc libs in mingw, so we better do the same. + # In any case, mingw32 g++ linking is broken by default with shared libs, + # unless adding "-lsupc++" to any linking command. I don't know why. + " --disable-shared" + + # To keep ABI compatibility with upstream mingw-w64 + " --enable-fully-dynamic-string" + else (if cross.libc == "uclibc" then + # In uclibc cases, libgomp needs an additional '-ldl' + # and as I don't know how to pass it, I disable libgomp. + " --disable-libgomp" else "") + + " --enable-threads=posix" + + " --enable-nls" + + " --disable-decimal-float") # No final libdecnumber (it may work only in 386) + ); + 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; + +in + +# We need all these X libraries when building AWT with GTK+. +assert gtk != null -> (filter (x: x == null) xlibs) == []; + +stdenv.mkDerivation ({ + name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon; + + builder = ./builder.sh; + + src = fetchurl { + url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; + sha256 = "0mqjxpw2klskls00lwx1k24pnyzm3whqxg3hk74c3sddgfllgc5r"; + }; + + inherit patches; + + postPatch = + if (stdenv.isGNU + || (libcCross != null # e.g., building `gcc.crossDrv' + && libcCross ? crossConfig + && libcCross.crossConfig == "i586-pc-gnu") + || (crossGNU && libcCross != null)) + then + # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not + # in glibc, so add the right `-I' flags to the default spec string. + assert libcCross != null -> libpthreadCross != null; + let + libc = if libcCross != null then libcCross else stdenv.glibc; + gnu_h = "gcc/config/gnu.h"; + extraCPPDeps = + libc.propagatedBuildInputs + ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross + ++ stdenv.lib.optional (libpthread != null) libpthread; + extraCPPSpec = + concatStrings (intersperse " " + (map (x: "-I${x}/include") extraCPPDeps)); + extraLibSpec = + if libpthreadCross != null + then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" + else "-L${libpthread}/lib"; + in + '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..." + sed -i "${gnu_h}" \ + -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' + + echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." + sed -i "${gnu_h}" \ + -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' + + echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..." + sed -i "${gnu_h}" \ + -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g' + '' + else if cross != null || stdenv.gcc.libc != null then + # On NixOS, use the right path to the dynamic linker instead of + # `/lib/ld*.so'. + let + libc = if libcCross != null then libcCross else stdenv.gcc.libc; + in + '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..." + for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h + do + grep -q LIBC_DYNAMIC_LINKER "$header" || continue + echo " fixing \`$header'..." + sed -i "$header" \ + -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g' + done + '' + else null; + + inherit noSysDirs staticCompiler langJava crossStageStatic + libcCross crossMingw; + + nativeBuildInputs = [ texinfo which gettext ] + ++ (optional (perl != null) perl) + ++ (optional javaAwtGtk pkgconfig); + + 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)) + ++ (optionals (cross != null) [binutilsCross]) + ++ (optionals langAda [gnatboot]) + ++ (optionals langVhdl [gnat]) + + # The builder relies on GNU sed (for instance, Darwin's `sed' fails with + # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. + ++ (optional stdenv.isDarwin gnused) + ; + + 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" + ''} + ''; + + dontDisableStatic = true; + + configureFlags = " + ${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} " + + + # Follow Sun's layout for the convenience of IcedTea/OpenJDK. See + # . + "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre " + else ""} + ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} + ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""} + --with-gmp=${gmp} + --with-mpfr=${mpfr} + --with-mpc=${mpc} + ${if libelf != null then "--with-libelf=${libelf}" else ""} + --disable-libstdcxx-pch + --without-included-gettext + --with-system-zlib + --enable-static + --enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langJava "java" + ++ optional langAda "ada" + ++ optional langVhdl "vhdl" + ++ optional langGo "go" + ++ optionals crossDarwin [ "objc" "obj-c++" ] + ) + ) + } + ${if (stdenv ? glibc && cross == null) + then " --with-native-system-header-dir=${stdenv.glibc}/include" + else ""} + ${if langAda then " --enable-libada" else ""} + ${if cross == null && stdenv.isi686 then "--with-arch=i686" else ""} + ${if cross != null then crossConfigureFlags else ""} + ${if !bootstrap then "--disable-bootstrap" else ""} + ${if cross == null then platformFlags else ""} + "; + + targetConfig = if cross != null then cross.config else null; + + buildFlags = if bootstrap then + (if profiledCompiler then "profiledbootstrap" else "bootstrap") + else ""; + + installTargets = + if stripped + then "install-strip" + else "install"; + + crossAttrs = let + 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 ""; + xwithFpu = if xgccFpu != null then " --with-fpu=${xgccFpu}" else ""; + xwithFloat = if xgccFloat != null then " --with-float=${xgccFloat}" else ""; + in { + AR = "${stdenv.cross.config}-ar"; + LD = "${stdenv.cross.config}-ld"; + CC = "${stdenv.cross.config}-gcc"; + CXX = "${stdenv.cross.config}-gcc"; + AR_FOR_TARGET = "${stdenv.cross.config}-ar"; + LD_FOR_TARGET = "${stdenv.cross.config}-ld"; + CC_FOR_TARGET = "${stdenv.cross.config}-gcc"; + NM_FOR_TARGET = "${stdenv.cross.config}-nm"; + CXX_FOR_TARGET = "${stdenv.cross.config}-g++"; + # If we are making a cross compiler, cross != null + NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else ""; + dontStrip = true; + configureFlags = '' + ${if enableMultilib then "" else "--disable-multilib"} + ${if enableShared then "" else "--disable-shared"} + ${if ppl != null then "--with-ppl=${ppl.crossDrv}" else ""} + ${if cloog != null then "--with-cloog=${cloog.crossDrv} --enable-cloog-backend=isl" else ""} + ${if langJava then "--with-ecj-jar=${javaEcj.crossDrv}" else ""} + ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} + ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.crossDrv}" else ""} + --with-gmp=${gmp.crossDrv} + --with-mpfr=${mpfr.crossDrv} + --disable-libstdcxx-pch + --without-included-gettext + --with-system-zlib + --enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langJava "java" + ++ optional langAda "ada" + ++ optional langVhdl "vhdl" + ++ optional langGo "go" + ) + ) + } + ${if langAda then " --enable-libada" else ""} + --target=${stdenv.cross.config} + ${xwithArch} + ${xwithCpu} + ${xwithAbi} + ${xwithFpu} + ${xwithFloat} + ''; + buildFlags = ""; + }; + + + # Needed for the cross compilation to work + AR = "ar"; + LD = "ld"; + # 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 + # compiled. + + # Note: When building the Java AWT GTK+ peer, the build system doesn't + # honor `--with-gmp' et al., e.g., when building + # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just + # add them to $CPATH and $LIBRARY_PATH in this case. + # + # Likewise, the LTO code doesn't find zlib. + + CPATH = concatStrings + (intersperse ":" (map (x: x + "/include") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread + ++ optional (libpthreadCross != null) libpthreadCross + + # On GNU/Hurd glibc refers to Mach & Hurd + # headers. + ++ optionals (libcCross != null && libcCross ? "propagatedBuildInputs" ) + libcCross.propagatedBuildInputs))); + + LIBRARY_PATH = concatStrings + (intersperse ":" (map (x: x + "/lib") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread))); + + EXTRA_TARGET_CFLAGS = + if cross != null && libcCross != null + then "-idirafter ${libcCross}/include" + else null; + + EXTRA_TARGET_LDFLAGS = + if cross != null && libcCross != null + then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" + + (optionalString (libpthreadCross != null) + " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}") + else null; + + passthru = + { inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; }; + + inherit enableParallelBuilding; + + meta = { + homepage = http://gcc.gnu.org/; + license = "GPLv3+"; # runtime support libraries are typically LGPLv3+ + description = "GNU Compiler Collection, version ${version}" + + (if stripped then "" else " (with debugging info)"); + + longDescription = '' + The GNU Compiler Collection includes compiler front ends for C, C++, + Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well + as libraries for these languages (libstdc++, libgcj, libgomp,...). + + GCC development is a part of the GNU Project, aiming to improve the + compiler used in the GNU system including the GNU/Linux variant. + ''; + + 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 ++ + stdenv.lib.platforms.freebsd ++ + optionals (langAda == false) stdenv.lib.platforms.darwin; + }; +} + +// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { + makeFlags = [ "all-gcc" "all-target-libgcc" ]; + installTargets = "install-gcc install-target-libgcc"; +} + +# Strip kills static libs of other archs (hence cross != null) +// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } +) diff --git a/pkgs/development/compilers/gcc/4.9/gfortran-driving.patch b/pkgs/development/compilers/gcc/4.9/gfortran-driving.patch new file mode 100644 index 00000000000..70708886b40 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.9/gfortran-driving.patch @@ -0,0 +1,20 @@ +This patch fixes interaction with Libtool. +See , for details. + +--- a/gcc/fortran/gfortranspec.c ++++ b/gcc/fortran/gfortranspec.c +@@ -461,8 +461,15 @@ For more information about these matters, see the file named COPYING\n\n")); + { + fprintf (stderr, _("Driving:")); + for (i = 0; i < g77_newargc; i++) ++ { ++ if (g77_new_decoded_options[i].opt_index == OPT_l) ++ /* Make sure no white space is inserted after `-l'. */ ++ fprintf (stderr, " -l%s", ++ g77_new_decoded_options[i].canonical_option[1]); ++ else + fprintf (stderr, " %s", + g77_new_decoded_options[i].orig_option_with_args_text); ++ } + fprintf (stderr, "\n"); + } diff --git a/pkgs/development/compilers/gcc/4.9/gnat-cflags.patch b/pkgs/development/compilers/gcc/4.9/gnat-cflags.patch new file mode 100644 index 00000000000..bf2acf065e9 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.9/gnat-cflags.patch @@ -0,0 +1,33 @@ +diff --git a/libada/Makefile.in b/libada/Makefile.in +index f5057a0..337e0c6 100644 +--- a/libada/Makefile.in ++++ b/libada/Makefile.in +@@ -55,7 +55,7 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN) + WARN_CFLAGS = @warn_cflags@ + + TARGET_LIBGCC2_CFLAGS= +-GNATLIBCFLAGS= -g -O2 ++GNATLIBCFLAGS= -g -O2 $(CFLAGS) + GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \ + -DIN_RTS @have_getipinfo@ + +--- a/gcc/ada/gcc-interface/Makefile.in ++++ b/gcc/ada/gcc-interface/Makefile.in +@@ -105,7 +105,7 @@ ADAFLAGS = -W -Wall -gnatpg -gnata + SOME_ADAFLAGS =-gnata + FORCE_DEBUG_ADAFLAGS = -g + GNATLIBFLAGS = -gnatpg -nostdinc +-GNATLIBCFLAGS = -g -O2 ++GNATLIBCFLAGS = -g -O2 $(CFLAGS_FOR_TARGET) + # Pretend that _Unwind_GetIPInfo is available for the target by default. This + # should be autodetected during the configuration of libada and passed down to + # here, but we need something for --disable-libada and hope for the best. +@@ -193,7 +193,7 @@ RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) + # Link flags used to build gnat tools. By default we prefer to statically + # link with libgcc to avoid a dependency on shared libgcc (which is tricky + # to deal with as it may conflict with the libgcc provided by the system). +-GCC_LINK_FLAGS=-static-libgcc ++GCC_LINK_FLAGS=-static-libgcc $(CFLAGS_FOR_TARGET) + + # End of variables for you to override. + diff --git a/pkgs/development/compilers/gcc/4.9/java-jvgenmain-link.patch b/pkgs/development/compilers/gcc/4.9/java-jvgenmain-link.patch new file mode 100644 index 00000000000..2612e8bfbbb --- /dev/null +++ b/pkgs/development/compilers/gcc/4.9/java-jvgenmain-link.patch @@ -0,0 +1,17 @@ +The `jvgenmain' executable must be linked against `vec.o', among others, +since it uses its vector API. + +--- gcc-4.3.3/gcc/java/Make-lang.in 2008-12-05 00:00:19.000000000 +0100 ++++ gcc-4.3.3/gcc/java/Make-lang.in 2009-07-03 16:11:41.000000000 +0200 +@@ -109,9 +109,9 @@ jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIB + $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \ + $(CPPLIBS) $(ZLIB) $(LDEXP_LIB) $(LIBS) + +-jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) ++jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) $(BUILD_RTL) + rm -f $@ +- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(LIBS) ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(BUILD_RTL) $(LIBS) + + # + # Build hooks: diff --git a/pkgs/development/compilers/gcc/4.9/libstdc++-target.patch b/pkgs/development/compilers/gcc/4.9/libstdc++-target.patch new file mode 100644 index 00000000000..fb622b39580 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.9/libstdc++-target.patch @@ -0,0 +1,32 @@ +Patch to make the target libraries 'configure' scripts find the proper CPP. +I noticed that building the mingw32 cross compiler. +Looking at the build script for mingw in archlinux, I think that only nixos +needs this patch. I don't know why. +diff --git a/Makefile.in b/Makefile.in +index 93f66b6..d691917 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -266,6 +266,7 @@ BASE_TARGET_EXPORTS = \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \ ++ CPP="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ +@@ -291,11 +292,13 @@ BASE_TARGET_EXPORTS = \ + RAW_CXX_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ + CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ +- CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; ++ CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \ ++ CXXCPP="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX; + + NORMAL_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ +- CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; ++ CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \ ++ CXXCPP="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX; + + # Where to find GMP + HOST_GMPLIBS = @gmplibs@ diff --git a/pkgs/development/compilers/gcc/4.9/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.9/no-sys-dirs.patch new file mode 100644 index 00000000000..79901703cb8 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.9/no-sys-dirs.patch @@ -0,0 +1,41 @@ +diff -ru gcc-4.3.1-orig/gcc/cppdefault.c gcc-4.3.1/gcc/cppdefault.c +--- gcc-4.3.1-orig/gcc/cppdefault.c 2007-07-26 10:37:01.000000000 +0200 ++++ gcc-4.3.1/gcc/cppdefault.c 2008-06-25 17:48:23.000000000 +0200 +@@ -41,6 +41,10 @@ + # undef CROSS_INCLUDE_DIR + #endif + ++#undef LOCAL_INCLUDE_DIR ++#undef SYSTEM_INCLUDE_DIR ++#undef STANDARD_INCLUDE_DIR ++ + const struct default_include cpp_include_defaults[] + #ifdef INCLUDE_DEFAULTS + = INCLUDE_DEFAULTS; +diff -ru gcc-4.3.1-orig/gcc/gcc.c gcc-4.3.1/gcc/gcc.c +--- gcc-4.3.1-orig/gcc/gcc.c 2008-03-02 23:55:19.000000000 +0100 ++++ gcc-4.3.1/gcc/gcc.c 2008-06-25 17:52:53.000000000 +0200 +@@ -1478,10 +1478,10 @@ + /* Default prefixes to attach to command names. */ + + #ifndef STANDARD_STARTFILE_PREFIX_1 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib/" ++#define STANDARD_STARTFILE_PREFIX_1 "" + #endif + #ifndef STANDARD_STARTFILE_PREFIX_2 +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" ++#define STANDARD_STARTFILE_PREFIX_2 "" + #endif + + #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ +--- gcc-4.3.1-orig/gcc/Makefile.in 2008-05-11 20:54:15.000000000 +0200 ++++ gcc-4.3.1/gcc/Makefile.in 2008-06-25 17:48:23.000000000 +0200 +@@ -3277,7 +3281,7 @@ + -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ + -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ + -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ +- -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ ++ -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \ + -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ + -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ + -DPREFIX=\"$(prefix)/\" \ diff --git a/pkgs/development/compilers/gcc/4.9/parallel-bconfig.patch b/pkgs/development/compilers/gcc/4.9/parallel-bconfig.patch new file mode 100644 index 00000000000..bc56ac698f5 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.9/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/ghc/7.0.1.nix b/pkgs/development/compilers/ghc/7.0.1.nix index da7e81f5730..b0b03d4b8cc 100644 --- a/pkgs/development/compilers/ghc/7.0.1.nix +++ b/pkgs/development/compilers/ghc/7.0.1.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { name = "ghc-${version}"; src = fetchurl { - url = "http://new-www.haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; + url = "http://www.haskell.org/ghc/dist/${version}/${name}-src.tar.bz2"; sha256 = "1iciljngxmqy465cw3pkl6jp0ydiils4bfz6ixfaxk7aqv7r7xsi"; }; diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index cc220eb7b1c..a357a090e35 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.9.20140313"; + version = "7.9.20140430"; name = "ghc-${version}"; src = fetchurl { - url = "http://cryp.to/${name}.tar.xz"; - sha256 = "03i9ajgzlp2y0qq7qnmyji6vdcgx2xnsyrc2zbqbziinf86igwhi"; + url = "http://deb.haskell.org/dailies/2014-05-01/ghc_7.9.20140430.orig.tar.bz2"; + sha256 = "072c1d71idi7jw711icn1wz4q64laasvb0ii8xvg5mbhi9szbwk4"; }; buildInputs = [ ghc perl gmp ncurses happy alex ]; diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix new file mode 100644 index 00000000000..cd33d3d79a7 --- /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 7b7e16d837d..b519b96415b 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.1"; + name = "go-1.2.2"; src = fetchurl { - url = http://go.googlecode.com/files/go1.2.1.src.tar.gz; - sha1 = "6a4b9991eddd8039438438d6aa25126ab7e07f2f"; + url = https://storage.googleapis.com/golang/go1.2.2.src.tar.gz; + sha1 = "3ce0ac4db434fc1546fec074841ff40dc48c1167"; }; buildInputs = [ bison glibc bash makeWrapper ]; diff --git a/pkgs/development/compilers/icedtea/build-fix-2.4.6.patch b/pkgs/development/compilers/icedtea/build-fix-2.4.6.patch deleted file mode 100644 index d5fcd9f4456..00000000000 --- a/pkgs/development/compilers/icedtea/build-fix-2.4.6.patch +++ /dev/null @@ -1,58 +0,0 @@ - -# 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/default.nix b/pkgs/development/compilers/icedtea/default.nix index de3a013e7df..a8f9617a634 100644 --- a/pkgs/development/compilers/icedtea/default.nix +++ b/pkgs/development/compilers/icedtea/default.nix @@ -43,8 +43,6 @@ with srcInfo; stdenv.mkDerivation { 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 diff --git a/pkgs/development/compilers/icedtea/sources.nix b/pkgs/development/compilers/icedtea/sources.nix index 6600c811786..098f774b66c 100644 --- a/pkgs/development/compilers/icedtea/sources.nix +++ b/pkgs/development/compilers/icedtea/sources.nix @@ -2,54 +2,54 @@ { icedtea7 = rec { branch = "2.4"; - version = "${branch}.6"; + version = "${branch}.7"; url = "http://icedtea.wildebeest.org/download/source/icedtea-${version}.tar.xz"; - sha256 = "06gsrci7934xmlddmi9wpawpgb1mp7c8cx3jmjsq91kdljmvqcy3"; + sha256 = "17a58wcxvg0dd7ka99k819ci6bga2b9l8kp67fq8z3w0yyz76sdn"; hg_url = "http://icedtea.classpath.org/hg/release/icedtea7-forest-${branch}"; bundles = { openjdk = rec { - changeset = "b028e58c1b77"; + changeset = "13970e76b784"; url = "${hg_url}/archive/${changeset}.tar.gz"; - sha256 = "e6be030ac5934781d9682dc3108980fa7d2330c32da3cea4ae74df11fbaa92f2"; + sha256 = "bcd45546509defc439f42f230c0ca64e8aa6ec00542c3634aab3a4c10be3fe6b"; }; corba = rec { - changeset = "48ef1bb6d120"; + changeset = "e6ad5b912691"; url = "${hg_url}/corba/archive/${changeset}.tar.gz"; - sha256 = "2fcfe699797154da8b4ba5242e32468b2f3f42a0cb17039915bfb1f84887a5b6"; + sha256 = "cc37272df260d08207c84763d4c39d7807728ba2d5908276b9bc63e925e70674"; }; jaxp = rec { - changeset = "e0ba4b9a8b91"; + changeset = "94b7e8e0d96f"; url = "${hg_url}/jaxp/archive/${changeset}.tar.gz"; - sha256 = "e7014057721b8392676bd24760c3f7b3dd40548abb3c8dfbe8df2fa04d7c1fca"; + sha256 = "3515cd105c29563bf78432576e658005386f45d7c3b2b7eac7af86cf196aaaea"; }; jaxws = rec { - changeset = "4bd947cd146b"; + changeset = "bd9a50a78d04"; url = "${hg_url}/jaxws/archive/${changeset}.tar.gz"; - sha256 = "17ed5278872ad0c9ec3a849caf1480e5942b714e35c9a4a949d09daac4b34c5a"; + sha256 = "3e107628080d84a80a78ef0ef9dc3664989291dd17c8bacf031d59fba7bd7f4d"; }; jdk = rec { - changeset = "b5282042aae0"; + changeset = "9448fff93286"; url = "${hg_url}/jdk/archive/${changeset}.tar.gz"; - sha256 = "ab9b0e973625604b12a2f027cb2a6f9bc5160ef7df55408da6ca8a9c3aaed2d5"; + sha256 = "9222e5317264f20d4a0b8170b4c4d02459cda98333c18e3a75064e7856ff58be"; }; langtools = rec { - changeset = "06eeb77dac24"; + changeset = "8c26a3c39128"; url = "${hg_url}/langtools/archive/${changeset}.tar.gz"; - sha256 = "a67e62618c70ef9190b2aef2b49be9d79624be9363bda258828b17494e092477"; + sha256 = "5af29e32344e2f2fc0beb31f91b8312f2a0d6d02c53b4cb700ee2e27bcf1043b"; }; hotspot = rec { - changeset = "172674e0ab65"; + changeset = "69b542696e5b"; url = "${hg_url}/hotspot/archive/${changeset}.tar.gz"; - sha256 = "2aadfe9b1848a619bd2d35f802b3e71ef5286e7822f9e7b02ce2539ca817d9b0"; + sha256 = "e3bbed298ed7c77169fdfddc47cdb85c62ef2e5e7ea04ca28aa8779861efca65"; }; }; }; diff --git a/pkgs/development/compilers/jdk/jdk7-linux.nix b/pkgs/development/compilers/jdk/jdk7-linux.nix index 2d2c07c67ff..f8b65166ea6 100644 --- a/pkgs/development/compilers/jdk/jdk7-linux.nix +++ b/pkgs/development/compilers/jdk/jdk7-linux.nix @@ -49,7 +49,7 @@ let in stdenv.mkDerivation rec { - patchversion = "51"; + patchversion = "55"; name = if installjdk then "jdk-1.7.0_${patchversion}" else "jre-1.7.0_${patchversion}"; @@ -59,14 +59,14 @@ stdenv.mkDerivation rec { requireFile { name = "jdk-7u${patchversion}-linux-i586.tar.gz"; url = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html; - sha256 = "1ks2zyx88bxdjcbdgg40mh1i9a83ll9ymxr79rplfvj48ig9d8mk"; + sha256 = "0y0v5ilbkdmf14jrvwa23x91rfdw90jji4y7hq0l494iy4wjnyc1"; } else if stdenv.system == "x86_64-linux" then requireFile { name = "jdk-7u${patchversion}-linux-x64.tar.gz"; url = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html; - sha256 = "0p7mfjj8fxlghvhcqhwgrifzb32b9y143yw962zk02bfycz7qdkp"; + sha256 = "15sncxhjasv5i6p7hfrr92xq5ph9g6g12i4m52vp45l031bw5y46"; } else abort "jdk requires i686-linux or x86_64 linux"; @@ -130,7 +130,7 @@ stdenv.mkDerivation rec { # 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 + test -f $out/jre/lib/${architecture}/libglass.so && patchelf --set-rpath "$rpath:${atk}/lib" $out/jre/lib/${architecture}/libglass.so if test -z "$pluginSupport"; then rm -f $out/bin/javaws diff --git a/pkgs/development/compilers/jhc/default.nix b/pkgs/development/compilers/jhc/default.nix index d36c8c2755a..7b1054451f9 100644 --- a/pkgs/development/compilers/jhc/default.nix +++ b/pkgs/development/compilers/jhc/default.nix @@ -1,30 +1,31 @@ -{ - stdenv, fetchurl, perl, ghc, binary, zlib, utf8String, readline, fgl, - regexCompat, HsSyck, random -}: +{ stdenv, fetchurl, perl, ghc, binary, zlib, utf8String, readline, fgl, + regexCompat, HsSyck, random }: stdenv.mkDerivation rec { - name = "jhc-${version}"; - - version = "0.8.0"; + version = "0.8.1"; src = fetchurl { url = "http://repetae.net/dist/${name}.tar.gz"; - sha256 = "0rbv0gpp7glhd9xqy7snbiaiizwnsfg9vzhvyywcvbmb35yivy2a"; + sha256 = "11fya5ggk6q4vcm3kwjacfaaqvkammih25saqwlr1g40bcikbnf2"; }; - buildInputs = [ - perl ghc binary zlib utf8String readline fgl regexCompat HsSyck random - ]; + patchPhase = '' + substituteInPlace ./src/Util/Interact.hs \ + --replace USE_NOLINE USE_READLINE + ''; + + buildInputs = + [ perl ghc binary zlib utf8String + readline fgl regexCompat HsSyck random + ]; meta = { + description = "Whole-program, globally optimizing Haskell compiler"; homepage = "http://repetae.net/computer/jhc/"; - description = "A Haskell compiler which aims to produce the most efficient programs"; - license = stdenv.lib.licenses.gpl2; - + license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.aforemny stdenv.lib.maintainers.simons ]; + maintainers = with stdenv.lib.maintainers; + [ aforemny simons thoughtpolice ]; }; - } diff --git a/pkgs/development/compilers/llvm/3.4/clang.nix b/pkgs/development/compilers/llvm/3.4/clang.nix index 7032056f7e4..7fe94cbf8d8 100644 --- a/pkgs/development/compilers/llvm/3.4/clang.nix +++ b/pkgs/development/compilers/llvm/3.4/clang.nix @@ -1,18 +1,18 @@ -{ stdenv, fetch, cmake, libxml2, libedit, llvm, version }: +{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }: stdenv.mkDerivation { name = "clang-${version}"; unpackPhase = '' - unpackFile ${fetch "clang" "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"} - mv clang-${version} clang + unpackFile ${fetch "cfe" "1dvbkld0a1aqj6wcn0ia1wa8lwha30yfgq16j1r7akdka44z70xb"} + mv cfe-${version}.src clang sourceRoot=$PWD/clang - unpackFile ${fetch "clang-tools-extra" "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds"} - mv clang-tools-extra-${version} $sourceRoot/tools/extra + unpackFile ${clang-tools-extra_src} + mv clang-tools-extra-* $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}) + export cmakeFlags="$cmakeFlags -DCLANG_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*` + (cd llvm-* && patch -Np1 -i ${./llvm-separate-build.patch}) ''; patches = [ ./clang-separate-build.patch ./clang-purity.patch ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation { # 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/ + ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ''; passthru.gcc = stdenv.gcc.gcc; diff --git a/pkgs/development/compilers/llvm/3.4/default.nix b/pkgs/development/compilers/llvm/3.4/default.nix index 0a8a72f59a9..237c7f73d7f 100644 --- a/pkgs/development/compilers/llvm/3.4/default.nix +++ b/pkgs/development/compilers/llvm/3.4/default.nix @@ -4,15 +4,27 @@ let version = "3.4"; - fetch = name: sha256: fetchurl { - url = "http://llvm.org/releases/${version}/${name}-${version}.src.tar.gz"; + fetch = fetch_v version; + fetch_v = ver: name: sha256: fetchurl { + url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.gz"; inherit sha256; }; - self = { - llvm = callPackage ./llvm.nix {}; + compiler-rt_src = fetch "compiler-rt" "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k"; + clang-tools-extra_src = fetch "clang-tools-extra" "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds"; - clang = callPackage ./clang.nix {}; + self = { + llvm = callPackage ./llvm.nix rec { + version = "3.4.1"; + fetch = fetch_v version; + inherit compiler-rt_src; + }; + + clang = callPackage ./clang.nix rec { + version = "3.4.1"; + fetch = fetch_v version; + inherit clang-tools-extra_src; + }; lld = callPackage ./lld.nix {}; diff --git a/pkgs/development/compilers/llvm/3.4/lld.nix b/pkgs/development/compilers/llvm/3.4/lld.nix index 22eb02a0e35..c28c03fbdd1 100644 --- a/pkgs/development/compilers/llvm/3.4/lld.nix +++ b/pkgs/development/compilers/llvm/3.4/lld.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { preUnpack = '' # !!! Hopefully won't be needed for 3.5 unpackFile ${llvm.src} - export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE=$PWD/llvm-${version}" + export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*` ''; buildInputs = [ cmake ncurses zlib python ]; diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix index fad11b7a123..3aea2a12a11 100644 --- a/pkgs/development/compilers/llvm/3.4/llvm.nix +++ b/pkgs/development/compilers/llvm/3.4/llvm.nix @@ -11,19 +11,20 @@ , ncurses , version , zlib +, compiler-rt_src }: let - src = fetch "llvm" "0a169ba045r4apb9cv6ncrwl83l7yiajnzirkcdlhj1cd4nn3995"; + src = fetch "llvm" "0fprxrilnlwk9qv7f0kplxc7kd8mp4x781asssv2nfi4r9pbna3x"; in stdenv.mkDerivation rec { name = "llvm-${version}"; unpackPhase = '' unpackFile ${src} - mv llvm-${version} llvm + mv llvm-${version}.src llvm sourceRoot=$PWD/llvm - unpackFile ${fetch "compiler-rt" "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k"} - mv compiler-rt-${version} $sourceRoot/projects/compiler-rt + unpackFile ${compiler-rt_src} + mv compiler-rt-* $sourceRoot/projects/compiler-rt ''; buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind; diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix new file mode 100644 index 00000000000..5ea922a371a --- /dev/null +++ b/pkgs/development/compilers/mercury/default.nix @@ -0,0 +1,62 @@ +{ stdenv, fetchurl, gcc, flex, bison, texinfo, jdk, erlang, makeWrapper +, readline }: + +stdenv.mkDerivation rec { + name = "mercury-${version}"; + version = "14.01"; + + src = fetchurl { + url = "http://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.gz"; + sha256 = "1hgwmsaacxhgx2p2hikl5px8xf0wny9wx47gjl258dgxxasbfij4"; + }; + + buildInputs = [ gcc flex bison texinfo jdk erlang makeWrapper + readline ]; + + patchPhase = '' + # Fix calls to programs in /bin + for p in uname pwd ; do + for f in $(egrep -lr /bin/$p *) ; do + sed -i 's@/bin/'$p'@'$p'@g' $f ; + done + done + ''; + + preConfigure = '' + ensureDir $out/lib/mercury/cgi-bin ; + configureFlags="--enable-deep-profiler=$out/lib/mercury/cgi-bin"; + ''; + + preBuild = '' + # Mercury buildsystem does not take -jN directly. + makeFlags="PARALLEL=-j$NIX_BUILD_CORES" ; + ''; + + postInstall = '' + # Wrap with compilers for the different targets. + for e in $(ls $out/bin) ; do + wrapProgram $out/bin/$e \ + --prefix PATH ":" "${gcc}/bin" \ + --prefix PATH ":" "${jdk}/bin" \ + --prefix PATH ":" "${erlang}/bin" + done + ''; + + meta = { + description = "Mercury is a pure logic programming language."; + longDescription = '' + Mercury is a logic/functional programming language which combines the + clarity and expressiveness of declarative programming with advanced + static analysis and error detection features. Its highly optimized + execution algorithm delivers efficiency far in excess of existing logic + programming systems, and close to conventional programming systems. + Mercury addresses the problems of large-scale program development, + allowing modularity, separate compilation, and numerous optimization/time + trade-offs. + ''; + homepage = "http://mercurylang.org"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ ]; + }; +} diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix index 4bd05301ecf..2fa986375ff 100644 --- a/pkgs/development/compilers/mlton/default.nix +++ b/pkgs/development/compilers/mlton/default.nix @@ -2,7 +2,14 @@ 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-${version}"; @@ -15,6 +22,10 @@ stdenv.mkDerivation rec { 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 = @@ -38,30 +49,31 @@ 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 ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $(pwd)/../usr/lib/mlton/mlton-compile + patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/lib/mlton/mlton-compile for e in mllex mlyacc ; do - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $(pwd)/../usr/bin/$e + patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/bin/$e done ''; @@ -71,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 = { @@ -101,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/default.nix b/pkgs/development/compilers/mono/default.nix index 4ff2dacff18..1b9e9118d56 100644 --- a/pkgs/development/compilers/mono/default.nix +++ b/pkgs/development/compilers/mono/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { find . -name 'config' -type f | while read i; do sed -i "s@libMonoPosixHelper.so@$out/lib/libMonoPosixHelper.so@g" $i sed -i "s@libX11.so.6@${libX11}/lib/libX11.so.6@g" $i - sed -i '2 i\' $i + sed -i "s@/.*libgdiplus.so@${libgdiplus}/lib/libgdiplus.so@g" $i done ''; diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix index 76359de6575..8098b9d278f 100644 --- a/pkgs/development/compilers/nasm/default.nix +++ b/pkgs/development/compilers/nasm/default.nix @@ -11,6 +11,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.nasm.us/; description = "An 80x86 and x86-64 assembler designed for portability and modularity"; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix new file mode 100644 index 00000000000..bab8e66799b --- /dev/null +++ b/pkgs/development/compilers/opendylan/bin.nix @@ -0,0 +1,41 @@ +# Binaries provided by Open Dylan to be used to bootstrap from source. +# The binaries can also be used as is. +{stdenv, fetchurl, patchelf, boehmgc, gnused, gcc, makeWrapper}: + +stdenv.mkDerivation { + name = "opendylan-2013.2"; + + src = if stdenv.system == "x86_64-linux" then fetchurl { + url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86_64-linux.tar.bz2; + sha256 = "035brbw3hm7zrs593q4zc42yglj1gmmkw3b1r7zzlw3ks4i2lg7h"; + } + else if stdenv.system == "i686-linux" then fetchurl { + url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86-linux.tar.bz2; + sha256 = "0c61ihvblcsjrw6ncr8x8ylhskcrqs8pajs4mg5di36cvqw12nq5"; + } + else throw "platform ${stdenv.system} not supported."; + + buildInputs = [ patchelf boehmgc gnused makeWrapper ]; + + buildCommand = '' + mkdir -p "$out" + tar --strip-components=1 -xjf "$src" -C "$out" + + interpreter="$(cat "$NIX_GCC"/nix-support/dynamic-linker)" + for a in "$out"/bin/*; do + patchelf --set-interpreter "$interpreter" "$a" + patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a" + done + for a in "$out"/lib/*.so; do + patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a" + done + sed -i -e "s|\-lgc|\-L${boehmgc}\/lib -lgc|" $out/lib/config.jam + wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin + ''; + + meta = { + homepage = http://opendylan.org; + description = "Dylan is a multi-paradigm functional and object-oriented programming language."; + license = "MIT"; + }; +} diff --git a/pkgs/development/compilers/opendylan/default.nix b/pkgs/development/compilers/opendylan/default.nix new file mode 100644 index 00000000000..b1ee1d000c4 --- /dev/null +++ b/pkgs/development/compilers/opendylan/default.nix @@ -0,0 +1,37 @@ +# Build Open Dylan from source using the binary builds to bootstrap. +{stdenv, fetchgit, patchelf, boehmgc, mps, gnused, opendylan-bootstrap, autoconf, automake, perl, makeWrapper, gcc }: + +stdenv.mkDerivation { + name = "opendylan-2013.2"; + + src = fetchgit { + url = https://github.com/dylan-lang/opendylan; + rev = "ce9b14dab6cb9ffedc69fae8c6df524c0c79abd3"; + sha256 = "cec80980b838ac2581dfb6282e25d208e720d475256b75e24b23dbd30b09d21f"; + fetchSubmodules = true; + }; + + buildInputs = (if stdenv.system == "i686-linux" then [ mps ] else [ boehmgc ]) ++ [ + opendylan-bootstrap boehmgc gnused autoconf automake perl makeWrapper + ] ; + + preConfigure = if stdenv.system == "i686-linux" then '' + mkdir -p $TMPDIR/mps + tar --strip-components=1 -xf ${mps.src} -C $TMPDIR/mps + ./autogen.sh + '' + else '' + ./autogen.sh + ''; + + configureFlags = if stdenv.system == "i686-linux" then "--with-mps=$(TMPDIR)/mps" else "--with-gc=${boehmgc}"; + buildPhase = "make 3-stage-bootstrap"; + + postInstall = "wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin"; + + meta = { + homepage = http://opendylan.org; + description = "Dylan is a multi-paradigm functional and object-oriented programming language."; + license = "MIT"; + }; +} diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix index fd5a85967ed..7dfbe218bb7 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/default.nix b/pkgs/development/compilers/pakcs/default.nix index 37acb4f6d1f..60071a8f6fa 100644 --- a/pkgs/development/compilers/pakcs/default.nix +++ b/pkgs/development/compilers/pakcs/default.nix @@ -6,7 +6,7 @@ let fsrc = fetchurl { url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz"; - sha256 = "165f29zgb7ldl51zfwgc31fk6a67w0gznp5lhvb6i5m013g2ddi8"; + sha256 = "0m9s6693svr57in8rhkvq9h2j0hiphki6jn0syzrzzs4ahb7i1gb"; }; in diff --git a/pkgs/development/compilers/qi/default.nix b/pkgs/development/compilers/qi/default.nix index ae017255854..ecb022d942a 100644 --- a/pkgs/development/compilers/qi/default.nix +++ b/pkgs/development/compilers/qi/default.nix @@ -32,6 +32,5 @@ stdenv.mkDerivation rec { (textClosure localDefs [allBuild doForceShare doPropagate]); meta = { description = "Qi - next generation on top of Common Lisp"; - inherit src; }; } diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index ebdd49479e0..08dea1f0f7f 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -16,66 +16,65 @@ with if stdenv.system == "i686-linux" then { platform = "linux-i386"; - snapshot = "03e60be1f1b90dddd15f3597bc45ec8d9626b35d"; - snapshot_sha = "1v1l082gj7d2d4p53xgsxz2k965jcgqhw4cyxmjxc6yh5fw0idx6"; + snapshot = "3bef5684fd0582fbd4ddebd4514182d4f72924f7"; + snapshot_sha = "1c72d65pcgm3z4sly7al09mjvpp8asxbbv7iyzzv5k8f66ny2agy"; target = "i686-unknown-linux-gnu"; } else if stdenv.system == "x86_64-linux" then { platform = "linux-x86_64"; - snapshot = "aa8fbbacdb1d8a078f3a3fe3478dcbc506bd4090"; - snapshot_sha = "17inc23jpznqp0vnskvznm74mm24c1nffhz2bkadhvp2ww0vpjjx"; + snapshot = "a7b2af1076d48e4a687a71a21478293e834349bd"; + snapshot_sha = "1c72d65pcgm3z4sly7al09mjvpp8asxbbv7iyzzv5k8f66ny2agy"; target = "x86_64-unknown-linux-gnu"; } else if stdenv.system == "x86_64-darwin" then { platform = "macos-x86_64"; - snapshot = "ec746585cb20d1f9edffec74f6ff8be6e93a75f7"; - snapshot_sha = "0r8f8x3x8jb1hm40pbgj4i9ll2y5dgjgvj24qg7mp4crbqcqhkd2"; + snapshot = "22b884a3876cb3e40ad942ad68a496b5f239fca5"; + snapshot_sha = "0qabkvyryiwlqhzy1kscff27rx788bv7lh7d8m1hnsv38wqhwqqb"; } else {}; -let snapshotDate = "2014-01-05"; - snapshotRev = "a6d3e57"; +let snapshotDate = "2014-03-28"; + snapshotRev = "b8601a3"; snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2"; in stdenv.mkDerivation { - name = "rust-0.9"; + name = "rust-0.10"; src = fetchurl { - url = http://static.rust-lang.org/dist/rust-0.9.tar.gz; - sha256 = "1lfmgnn00wrc30nf5lgg52w58ir3xpsnpmzk2v5a35xp8lsir4f0"; + url = http://static.rust-lang.org/dist/rust-0.10.tar.gz; + sha256 = "c72cfbbf03016804a81d7b68e8258ffaf018f8f5a25550ad64571ce6c2642cf9"; }; - # 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 = snapshot_sha; + # We need rust to build rust. If we don't provide it, configure will try to download it. + snapshot = stdenv.mkDerivation { + name = "rust-stage0"; + src = fetchurl { + url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}"; + sha256 = snapshot_sha; + }; + installPhase = '' + mkdir -p "$out" + cp -r bin "$out/bin" + '' + (if stdenv.isLinux then '' + patchelf --interpreter ${stdenv.glibc}/lib/${stdenv.gcc.dynamicLinker} \ + --set-rpath ${stdenv.gcc.gcc}/lib/:${stdenv.gcc.gcc}/lib64/ \ + $out/bin/rustc + '' else ""); }; - # Put the snapshot where it is expected - postUnpack = '' - mkdir $sourceRoot/dl - ln -s $snapshot $sourceRoot/dl/${snapshotName} - ''; + configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ]; # The compiler requires cc, so we patch the source to tell it where to find it - patches = [ ./hardcode_paths.patch ]; + patches = [ ./hardcode_paths.patch ./local_stage0.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 ${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; - buildInputs = [ which file perl curl python27 makeWrapper ]; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.rust-lang.org/; description = "A safe, concurrent, practical language"; - maintainers = [ stdenv.lib.maintainers.madjar ]; - license = map (builtins.getAttr "shortName") [ stdenv.lib.licenses.mit stdenv.lib.licenses.asl20 ]; + maintainers = with maintainers; [ madjar cstrahan ]; + license = map (builtins.getAttr "shortName") [ licenses.mit licenses.asl20 ]; # platforms as per http://static.rust-lang.org/doc/master/tutorial.html#getting-started platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; }; diff --git a/pkgs/development/compilers/rust/hardcode_paths.patch b/pkgs/development/compilers/rust/hardcode_paths.patch index 1500446cea9..b3e26281644 100644 --- a/pkgs/development/compilers/rust/hardcode_paths.patch +++ b/pkgs/development/compilers/rust/hardcode_paths.patch @@ -1,8 +1,8 @@ diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs -index 101b2e3..124267f 100644 +index f198a41..3a47e51 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 { +@@ -730,7 +730,7 @@ pub fn get_cc_prog(sess: &Session) -> ~str { _ => {}, } @@ -10,18 +10,17 @@ index 101b2e3..124267f 100644 + ~"@gccPath@" } - pub fn get_ar_prog(sess: Session) -> ~str { -@@ -737,27 +737,9 @@ pub fn get_ar_prog(sess: Session) -> ~str { + pub fn get_ar_prog(sess: &Session) -> ~str { +@@ -739,26 +739,7 @@ pub fn get_ar_prog(sess: &Session) -> ~str { None => {} } - get_system_tool(sess, "ar") -+ ~"@binutilsPath@" - } - --fn get_system_tool(sess: Session, tool: &str) -> ~str { +-} +- +-fn get_system_tool(sess: &Session, tool: &str) -> ~str { - match sess.targ_cfg.os { -- abi::OsAndroid => match sess.opts.android_cross_path { +- abi::OsAndroid => match sess.opts.cg.android_cross_path { - Some(ref path) => { - let tool_str = match tool { - "cc" => "gcc", @@ -31,14 +30,12 @@ index 101b2e3..124267f 100644 - } - None => { - sess.fatal(format!("need Android NDK path for the '{}' tool \ -- (--android-cross-path)", tool)) +- (-C android-cross-path)", tool)) - } - }, - _ => tool.to_owned(), - } --} ++ ~"@binutilsPath@" + } - /// Perform the linkage portion of the compilation phase. This will generate all - /// of the requested outputs for this compilation session. - - + fn remove(sess: &Session, path: &Path) { diff --git a/pkgs/development/compilers/rust/local_stage0.patch b/pkgs/development/compilers/rust/local_stage0.patch new file mode 100644 index 00000000000..1261b2d458d --- /dev/null +++ b/pkgs/development/compilers/rust/local_stage0.patch @@ -0,0 +1,13 @@ +diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh +index e78f231..6b6773b 100755 +--- a/src/etc/local_stage0.sh ++++ b/src/etc/local_stage0.sh +@@ -53,8 +53,3 @@ if [ -z $TARG_DIR ]; then + fi + + cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/ +-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/ +-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ +-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ +-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ +-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/ diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index 36ea8981786..e1de4c53de5 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.16"; + version="1.2.0"; name="${baseName}-${version}"; - hash="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw"; - url="mirror://sourceforge/project/sbcl/sbcl/1.1.16/sbcl-1.1.16-source.tar.bz2"; - sha256="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw"; + hash="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2"; + url="mirror://sourceforge/project/sbcl/sbcl/1.2.0/sbcl-1.2.0-source.tar.bz2"; + sha256="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2"; }; buildInputs = with a; [ clisp makeWrapper diff --git a/pkgs/development/compilers/scala/2.10.nix b/pkgs/development/compilers/scala/2.10.nix new file mode 100644 index 00000000000..11c3c0d8c31 --- /dev/null +++ b/pkgs/development/compilers/scala/2.10.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, makeWrapper, jre }: + +stdenv.mkDerivation rec { + name = "scala-2.10.4"; + + src = fetchurl { + url = "http://www.scala-lang.org/files/archive/${name}.tgz"; + sha256 = "1hqhm1xvd7g78jspvl30zgdzw79xq5zl837h47p6w1n6qlwbcvdl"; + }; + + buildInputs = [ jre makeWrapper ] ; + + installPhase = '' + mkdir -p $out + rm bin/*.bat + mv * $out + + for p in $(ls $out/bin/) ; do + wrapProgram $out/bin/$p --prefix PATH ":" ${jre}/bin ; + done + ''; + + meta = { + description = "Scala is a general purpose programming language"; + longDescription = '' + Scala is a general purpose programming language designed to express + common programming patterns in a concise, elegant, and type-safe way. + It smoothly integrates features of object-oriented and functional + languages, enabling Java and other programmers to be more productive. + Code sizes are typically reduced by a factor of two to three when + compared to an equivalent Java application. + ''; + homepage = http://www.scala-lang.org/; + license = "BSD"; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix index c128baf5100..f4a5a7bade0 100644 --- a/pkgs/development/compilers/scala/default.nix +++ b/pkgs/development/compilers/scala/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, makeWrapper, jre }: stdenv.mkDerivation rec { - name = "scala-2.10.3"; + name = "scala-2.11.0"; src = fetchurl { url = "http://www.scala-lang.org/files/archive/${name}.tgz"; - sha256 = "16ac935wydrxrvijv4ldnz4vl2xk8yb3yzb9bsi3nb9sic7fxl95"; + sha256 = "00lap31c6rxvg7vipmj0j7f4mv6c58wpfyd3785bxwlhrzmmwgq7"; }; buildInputs = [ jre makeWrapper ] ; diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix index 1a51f087a28..fe293fbc4b8 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 2070da0bee4..220d3f87fba 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.3"; + version = "6.6.5"; in stdenv.mkDerivation { name = "swi-prolog-${version}"; src = fetchurl { url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz"; - sha256 = "01dr66d7rm2xvxwm6wy71bbjvfrmzxgvmaz3sl1fb63cn8d78nz3"; + sha256 = "0lsa90sdnkd286xgm1amwkdhvnrpsz7imfzczrfdaw4arqk4bvkr"; }; buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index a2423bee9b9..2073104c6fd 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "urweb"; - version = "20130421"; + version = "20140426"; name = "${pname}-${version}"; src = fetchurl { url = "http://www.impredicative.com/ur/${name}.tgz"; - sha256 = "1dglcial9bzximw778wbfqx99khy34qpf9gw4bbncn9f742ji872"; + sha256 = "0d7mbmjc59y0dwk4k7r4wpxfsn4fzswrdxai9xh2nzjsxg2fa7d2"; }; buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ]; diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 8cf5fb9afed..38c3ead7bff 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -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/compilers/yasm/default.nix b/pkgs/development/compilers/yasm/default.nix index 9a803a6d510..ec1fda10d8c 100644 --- a/pkgs/development/compilers/yasm/default.nix +++ b/pkgs/development/compilers/yasm/default.nix @@ -12,6 +12,6 @@ stdenv.mkDerivation rec { homepage = http://www.tortall.net/projects/yasm/; description = "Complete rewrite of the NASM assembler"; license = "BSD"; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index 698c75cfd16..00fe490d494 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }: let - version = "0.12.4"; + version = "0.13.3"; in stdenv.mkDerivation { name = "elixir-${version}"; src = fetchurl { url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz"; - sha256 = "0f9jbijby8alwn9yv1fncr2yn0pghdqsvixkdcd6s8yvjyhylm1l"; + sha256 = "17nb8qfyjc67g62x10l2gq0z1501xa4wry906br0w2rm8bf4j8rf"; }; buildInputs = [ erlang rebar makeWrapper ]; diff --git a/pkgs/development/interpreters/erlang/R14B04.nix b/pkgs/development/interpreters/erlang/R14.nix similarity index 100% rename from pkgs/development/interpreters/erlang/R14B04.nix rename to pkgs/development/interpreters/erlang/R14.nix diff --git a/pkgs/development/interpreters/erlang/R15B03.nix b/pkgs/development/interpreters/erlang/R15.nix similarity index 100% rename from pkgs/development/interpreters/erlang/R15B03.nix rename to pkgs/development/interpreters/erlang/R15.nix diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix new file mode 100644 index 00000000000..eaf991ff563 --- /dev/null +++ b/pkgs/development/interpreters/erlang/R16.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchurl, perl, gnum4, ncurses, openssl +, gnused, gawk, makeWrapper +, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }: + +assert wxSupport -> mesa != null && wxGTK != null && xlibs != null; + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "erlang-" + version; + version = "R16B03-1"; + + src = fetchurl { + url = "http://www.erlang.org/download/otp_src_${version}.tar.gz"; + sha256 = "1rvyfh22g1fir1i4xn7v2md868wcmhajwhfsq97v7kn5kd2m7khp"; + }; + + buildInputs = + [ perl gnum4 ncurses openssl makeWrapper + ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]; + + patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; + + preConfigure = '' + export HOME=$PWD/../ + sed -e s@/bin/pwd@pwd@g -i otp_build + ''; + + configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; + + 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/" + wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin" + ''; + + meta = { + homepage = "http://www.erlang.org/"; + description = "Programming language used for massively scalable soft real-time systems"; + + longDescription = '' + Erlang is a programming language used to build massively scalable + soft real-time systems with requirements on high availability. + Some of its uses are in telecoms, banking, e-commerce, computer + telephony and instant messaging. Erlang's runtime system has + built-in support for concurrency, distribution and fault + tolerance. + ''; + + platforms = platforms.unix; + # Note: Maintainer of prev. erlang version was simons. If he wants + # to continue maintaining erlang I'm totally ok with that. + maintainers = [ maintainers.the-kenny ]; + }; +} diff --git a/pkgs/development/interpreters/erlang/default.nix b/pkgs/development/interpreters/erlang/R17.nix similarity index 82% rename from pkgs/development/interpreters/erlang/default.nix rename to pkgs/development/interpreters/erlang/R17.nix index 077eaa9093b..5c59fddc1ef 100644 --- a/pkgs/development/interpreters/erlang/default.nix +++ b/pkgs/development/interpreters/erlang/R17.nix @@ -4,18 +4,20 @@ assert wxSupport -> mesa != null && wxGTK != null && xlibs != null; +with stdenv.lib; + stdenv.mkDerivation rec { name = "erlang-" + version; - version = "R16B02"; + version = "17.0"; src = fetchurl { url = "http://www.erlang.org/download/otp_src_${version}.tar.gz"; - sha256 = "119gnf3jfd98hpxxqs8vnzrc81myv07y302b99alalqqz0fsvf3a"; + sha256 = "1nyaka6238vh4kdgaynmg8hm5y5zj7hhyl1c971d2pjylsm2nzr9"; }; buildInputs = [ perl gnum4 ncurses openssl makeWrapper - ] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ]; + ] ++ optional wxSupport [ mesa wxGTK xlibs.libX11 ]; patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; @@ -24,7 +26,7 @@ stdenv.mkDerivation rec { sed -e s@/bin/pwd@pwd@g -i otp_build ''; - configureFlags = "--with-ssl=${openssl}"; + configureFlags= "--with-ssl=${openssl} ${optionalString stdenv.isDarwin "--enable-darwin-64bit"}"; postInstall = '' ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call @@ -49,9 +51,9 @@ stdenv.mkDerivation rec { tolerance. ''; - platforms = stdenv.lib.platforms.linux; + platforms = platforms.unix; # Note: Maintainer of prev. erlang version was simons. If he wants # to continue maintaining erlang I'm totally ok with that. - maintainers = [ stdenv.lib.maintainers.the-kenny ]; + maintainers = [ maintainers.the-kenny ]; }; } diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix index b171492d78c..f70fb164623 100644 --- a/pkgs/development/interpreters/jruby/default.nix +++ b/pkgs/development/interpreters/jruby/default.nix @@ -1,11 +1,13 @@ { stdenv, fetchurl, makeWrapper, jre }: -stdenv.mkDerivation { - name = "jruby-1.6.5.1"; +stdenv.mkDerivation rec { + name = "jruby-${version}"; + + version = "1.7.12"; src = fetchurl { - url = http://jruby.org.s3.amazonaws.com/downloads/1.6.5.1/jruby-bin-1.6.5.1.tar.gz; - sha256 = "1j0iv1q950lyir9vqfgg2533f1q28jaz7vnxqswsaix1mjhm29qd"; + url = "http://jruby.org.s3.amazonaws.com/downloads/${version}/jruby-bin-${version}.tar.gz"; + sha1 = "056cee1138e49da40a77f179b771372692479002"; }; buildInputs = [ makeWrapper ]; @@ -14,7 +16,7 @@ stdenv.mkDerivation { mkdir -pv $out mv * $out rm $out/bin/*.{bat,dll,exe,sh} - mv $out/README $out/docs + mv $out/COPYING $out/LICENSE* $out/docs for i in $out/bin/*; do wrapProgram $i \ @@ -22,7 +24,7 @@ stdenv.mkDerivation { done ''; - meta = { + meta = { description = "Ruby interpreter written in Java"; homepage = http://jruby.org/; license = "CPL-1.0 GPL-2 LGPL-2.1"; # one of those diff --git a/pkgs/development/interpreters/love/0.9.nix b/pkgs/development/interpreters/love/0.9.nix index b635b5e477c..38fdcd2a0a6 100644 --- a/pkgs/development/interpreters/love/0.9.nix +++ b/pkgs/development/interpreters/love/0.9.nix @@ -5,10 +5,10 @@ }: stdenv.mkDerivation rec { - name = "love-0.9.0"; + name = "love-0.9.1"; src = fetchurl { url = "https://bitbucket.org/rude/love/downloads/${name}-linux-src.tar.gz"; - sha256 = "048n94584cnmdaf2rshakdzbj1lz2yd7k08aiykkpz13aaa283ag"; + sha256 = "1pikd0bzb44r4bf0jbgn78whz1yswpq1n5jc8nf87v42pm30kp84"; }; buildInputs = [ 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 00000000000..b7754da79ba --- /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 27b1589d27f..9a57a034ad1 100644 --- a/pkgs/development/interpreters/lua-5/5.1.nix +++ b/pkgs/development/interpreters/lua-5/5.1.nix @@ -18,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 00000000000..ffc3ff34be7 --- /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 70ab0c3bdf8..f346b1b0986 100644 --- a/pkgs/development/interpreters/lua-5/5.2.nix +++ b/pkgs/development/interpreters/lua-5/5.2.nix @@ -17,11 +17,16 @@ stdenv.mkDerivation rec { sha256 = "004zyh9p3lpvbwhyhlmrw6wwcia5abx84q4h2brkn4zdypipvmiz"; }; - buildInputs = [ readline ]; + nativeBuildInputs = [ 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' ) ''; @@ -49,6 +54,37 @@ stdenv.mkDerivation rec { EOF ''; + crossAttrs = let + isMingw = stdenv.cross.libc == "msvcrt"; + isDarwin = stdenv.cross.libc == "libSystem"; + in { + configurePhase = '' + makeFlagsArray=( + INSTALL_TOP=$out + INSTALL_MAN=$out/share/man/man1 + CC=${stdenv.cross.config}-gcc + STRIP=: + RANLIB=${stdenv.cross.config}-ranlib + V=${majorVersion} + R=${version} + ${if isMingw then "mingw" else stdenv.lib.optionalString isDarwin '' + AR="${stdenv.cross.config}-ar rcu" + macosx + ''} + ) + '' + stdenv.lib.optionalString isMingw '' + installFlagsArray=( + TO_BIN="lua.exe luac.exe" + TO_LIB="liblua.a lua52.dll" + INSTALL_DATA="cp -d" + ) + ''; + } // stdenv.lib.optionalAttrs isDarwin { + postPatch = '' + sed -i -e 's/-Wl,-soname[^ ]* *//' src/Makefile + ''; + }; + meta = { homepage = "http://www.lua.org"; description = "Powerful, fast, lightweight, embeddable scripting language"; diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index 46c0b49c3b8..00c4ddc447f 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -11,7 +11,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - patchPhase = stdenv.lib.optionalString (stdenv.gcc.libc != null) + patchPhase = '' + substituteInPlace Makefile \ + --replace /usr/local $out + '' + stdenv.lib.optionalString (stdenv.gcc.libc != null) '' substituteInPlace Makefile \ --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig @@ -21,11 +24,11 @@ stdenv.mkDerivation rec { buildFlags = [ "amalg" ]; # Build highly optimized version installPhase = "make install PREFIX=$out"; - meta = { + meta = with stdenv.lib; { 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 ]; + license = licenses.mit; + platforms = platforms.linux ++ platforms.darwin; + maintainers = [ maintainers.thoughtpolice ]; }; } diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix index 23e2bc98ba4..65badeae1dd 100644 --- a/pkgs/development/interpreters/maude/default.nix +++ b/pkgs/development/interpreters/maude/default.nix @@ -9,8 +9,8 @@ stdenv.mkDerivation rec { }; fullMaude = fetchurl { - url = "http://maude.cs.uiuc.edu/download/current/FM2.6/full-maude26.maude"; - sha256 = "1382hjwwrsdgd5yjn3ph1b5i1bhrhzvqx0v369bmcjkly9k96v6q"; + url = "https://full-maude.googlecode.com/git/full-maude261h.maude"; + sha256 = "0xx8bfn6arsa75m5vhp5lmpazgfw230ssq33h9vifswlvzzc81ha"; }; buildInputs = [flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper]; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { postInstall = '' for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done mkdir -p $out/share/maude - cp ${fullMaude} $out/share/maude/full-maude.maude + cp ${fullMaude} -d $out/share/maude/full-maude.maude ''; meta = { diff --git a/pkgs/development/interpreters/php-xdebug/default.nix b/pkgs/development/interpreters/php-xdebug/default.nix deleted file mode 100644 index 99c5ad663af..00000000000 --- a/pkgs/development/interpreters/php-xdebug/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ stdenv, fetchurl, php, autoconf, automake }: - -stdenv.mkDerivation rec { - version = "2.2.3"; - name = "php-xdebug-${version}"; - - src = fetchurl { - url = "http://xdebug.org/files/xdebug-2.2.3.tgz"; - sha256 = "076px4ax3qcqr3mmhi9jjkfhn7pcymrpda4hzy6kgn3flhnqfldk"; - }; - - buildInputs = [ php autoconf automake ]; - - configurePhase = '' - phpize - ./configure --prefix=$out - '' + stdenv.lib.optionalString stdenv.isDarwin '' - # looks for this file for some reason -- isn't needed - touch unix.h - ''; - - buildPhase = '' - make && make test - ''; - - installPhase = '' - mkdir -p $out/lib/xdebug - cp modules/xdebug.so $out/lib - cp LICENSE $out/lib/xdebug - ''; - - meta = { - description = "PHP debugger and profiler extension"; - homepage = http://xdebug.org/; - license = "xdebug"; # based on PHP-3 - maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix index f7bb29270c7..95120a4d9a2 100644 --- a/pkgs/development/interpreters/php/5.3.nix +++ b/pkgs/development/interpreters/php/5.3.nix @@ -172,6 +172,10 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) ftp = { configureFlags = ["--enable-ftp"]; }; + + fpm = { + configureFlags = ["--enable-fpm"]; + }; }; cfg = { @@ -181,6 +185,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) curlSupport = config.php.curl or true; exifSupport = config.php.exif or true; ftpSupport = config.php.ftp or true; + fpmSupport = config.php.fpm or false; gdSupport = config.php.gd or true; gettextSupport = config.php.gettext or true; imapSupport = config.php.imap or false; diff --git a/pkgs/development/interpreters/php/5.4.nix b/pkgs/development/interpreters/php/5.4.nix index cc6e34b76fe..5aabb61586e 100644 --- a/pkgs/development/interpreters/php/5.4.nix +++ b/pkgs/development/interpreters/php/5.4.nix @@ -9,7 +9,7 @@ in composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { - version = "5.4.23"; + version = "5.4.27"; name = "php-${version}"; @@ -240,7 +240,7 @@ composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) "http://nl1.php.net/get/php-${version}.tar.bz2/from/this/mirror" "http://se1.php.net/get/php-${version}.tar.bz2/from/this/mirror" ]; - sha256 = "1k4iplqqcaqkmyq10h6a5qcpkfpkd05r2kclxw9n9qdrm47hfz5f"; + md5 = "1c6e99187d25023411b663ea09f145ee"; name = "php-${version}.tar.bz2"; }; diff --git a/pkgs/development/interpreters/pypy/2.2/default.nix b/pkgs/development/interpreters/pypy/2.2/default.nix index 2fee7bc74df..427e06eca13 100644 --- a/pkgs/development/interpreters/pypy/2.2/default.nix +++ b/pkgs/development/interpreters/pypy/2.2/default.nix @@ -59,7 +59,8 @@ let # disable socket because it has two actual network tests that fail # disable test_mhlib because it fails for unknown reason # 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 + # disable sqlite3 due to https://bugs.pypy.org/issue1740 + ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -k '-test_sqlite -test_socket -test_shutil -test_mhlib -test_multiprocessing' lib-python ''; installPhase = '' diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix index e9277ce2daf..fc91e5a4493 100644 --- a/pkgs/development/interpreters/python/2.7/default.nix +++ b/pkgs/development/interpreters/python/2.7/default.nix @@ -8,11 +8,11 @@ with stdenv.lib; let majorVersion = "2.7"; - version = "${majorVersion}.6"; + version = "${majorVersion}.7"; src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz"; - sha256 = "18gnpyh071dxa0rv3silrz92jw9qpblswzwv4gzqcwxzz20qxmhz"; + sha256 = "0y6s12rdi89k24p8zarhy9fqmyy459yg0d125c7cac4v136y70r9"; }; patches = 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 00000000000..c69efd17f96 --- /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 03f2d392bd1..c103b0f59cd 100644 --- a/pkgs/development/interpreters/python/3.2/default.nix +++ b/pkgs/development/interpreters/python/3.2/default.nix @@ -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 = '' diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix index 0b877446324..d5402c5cb03 100644 --- a/pkgs/development/interpreters/python/3.4/default.nix +++ b/pkgs/development/interpreters/python/3.4/default.nix @@ -18,7 +18,7 @@ with stdenv.lib; let majorVersion = "3.4"; - version = "${majorVersion}.0"; + version = "${majorVersion}.1"; fullVersion = "${version}"; buildInputs = filter (p: p != null) [ @@ -31,7 +31,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz"; - sha256 = "1gjcn5c3zqg161vwzh43ciha15w0plf5v7cyfm372pnllb08cdpi"; + sha256 = "1i7dgbzyvj24i6gfhb5q2zwr9nn1ni6w1ig1rcgh96a321is35f5"; }; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix index 586c0a0acb9..8432c848d73 100644 --- a/pkgs/development/interpreters/racket/default.nix +++ b/pkgs/development/interpreters/racket/default.nix @@ -4,12 +4,12 @@ stdenv.mkDerivation rec { pname = "racket"; - version = "5.3.6"; + version = "6.0.1"; name = "${pname}-${version}"; src = fetchurl { - url = "http://download.racket-lang.org/installers/${version}/${pname}/${name}-src-unix.tgz"; - sha256 = "12pvgidaym1rwyyi69bd2gfmfwi1y0lf8xgih7a8r20z4g0zzq3z"; + url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz"; + sha256 = "e2bc0d4d0fcdfc3327a58c931f203c07a06d4724703f9708ba2e4c8ea0f9694d"; }; # Various racket executables do run-time searches for these. diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix index 237e58b5f93..ccaa45c6c33 100644 --- a/pkgs/development/interpreters/renpy/default.nix +++ b/pkgs/development/interpreters/renpy/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation { - name = "renpy-6.17.3"; + name = "renpy-6.17.6"; meta = { description = "Ren'Py Visual Novel Engine"; @@ -14,8 +14,8 @@ stdenv.mkDerivation { }; src = fetchurl { - url = "http://www.renpy.org/dl/6.17.3/renpy-6.17.3-source.tar.bz2"; - sha256 = "1707xrjmnr4a209jqm4zkda0jyjd76f679g7d51g7vd5cs46s6ph"; + url = "http://www.renpy.org/dl/6.17.6/renpy-6.17.6-source.tar.bz2"; + sha256 = "0rkynw9cnr1zqdinz037d9zig6grhp2ca2pyxk80vhdpjb0xrkic"; }; buildInputs = [ diff --git a/pkgs/development/interpreters/spidermonkey/24.2.nix b/pkgs/development/interpreters/spidermonkey/24.2.nix new file mode 100644 index 00000000000..44fe4f60d53 --- /dev/null +++ b/pkgs/development/interpreters/spidermonkey/24.2.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }: + +stdenv.mkDerivation rec { + version = "24.2.0"; + name = "spidermonkey-${version}"; + + src = fetchurl { + url = "http://ftp.mozilla.org/pub/mozilla.org/js/mozjs-${version}.tar.bz2"; + sha256 = "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6"; + }; + + propagatedBuildInputs = [ nspr ]; + + buildInputs = [ pkgconfig perl python zip ]; + + postUnpack = "sourceRoot=\${sourceRoot}/js/src"; + + preConfigure = '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + export LIBXUL_DIST=$out + ''; + + configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ]; + + # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393 + preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}"; + + enableParallelBuilding = true; + + doCheck = true; + preCheck = "rm jit-test/tests/sunspider/check-date-format-tofte.js"; # https://bugzil.la/600522 + + meta = with stdenv.lib; { + description = "Mozilla's JavaScript engine written in C/C++"; + homepage = https://developer.mozilla.org/en/SpiderMonkey; + # TODO: MPL/GPL/LGPL tri-license. + maintainers = [ maintainers.goibhniu ]; + }; +} + diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix index 77a9392ba8b..97808f6faf1 100644 --- a/pkgs/development/interpreters/supercollider/default.nix +++ b/pkgs/development/interpreters/supercollider/default.nix @@ -1,9 +1,12 @@ { stdenv, fetchurl, cmake, pkgconfig , jackaudio, libsndfile, fftw, curl -, libXt, qt +, libXt, qt, readline +, useSCEL ? false, emacs }: + +let optional = stdenv.lib.optional; in -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { name = "supercollider-3.6.6"; meta = { @@ -24,15 +27,14 @@ stdenv.mkDerivation rec { --replace Q_WS_X11 Q_GTK_STYLE ''; - cmakeFlags = [ - "-DSC_WII=OFF" - "-DSC_EL=OFF" - ]; + cmakeFlags = '' + -DSC_WII=OFF + -DSC_EL=${if useSCEL then "ON" else "OFF"} + ''; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ - jackaudio libsndfile fftw curl - libXt qt - ]; + buildInputs = [ + jackaudio libsndfile fftw curl libXt qt readline ] + ++ optional useSCEL emacs; } diff --git a/pkgs/development/interpreters/tcl/default.nix b/pkgs/development/interpreters/tcl/default.nix index 48755065b99..c9a0fd7546f 100644 --- a/pkgs/development/interpreters/tcl/default.nix +++ b/pkgs/development/interpreters/tcl/default.nix @@ -1,11 +1,11 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation { - name = "tcl-8.5.7"; + name = "tcl-8.5.15"; src = fetchurl { - url = mirror://sourceforge/tcl/tcl8.5.7-src.tar.gz; - sha256 = "1wk67qq12bdbaqsi6cxwj6ra8nc8ph1na9rh808kfk6hm18qvlk7"; + url = mirror://sourceforge/tcl/tcl8.5.15-src.tar.gz; + sha256 = "0kl8lbfwy4v4q4461wjmva95h0pgiprykislpw4nnpkrc7jalkpj"; }; preConfigure = "cd unix"; diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index e58397fa9a5..110bfc01520 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -7,21 +7,13 @@ # OSS is no longer supported, for it's much crappier than ALSA and # PulseAudio. -assert alsaSupport || pulseaudioSupport; +assert !(stdenv ? cross) -> alsaSupport || pulseaudioSupport; assert openglSupport -> (mesa != null && x11Support); assert x11Support -> (x11 != null && libXrandr != null); assert alsaSupport -> alsaLib != null; assert pulseaudioSupport -> pulseaudio != null; -let - configureFlagsFun = attrs: '' - --disable-oss --disable-video-x11-xme - --disable-x11-shared --disable-alsa-shared --enable-rpath --disable-pulseaudio-shared - --disable-osmesa-shared - ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""} - ''; -in stdenv.mkDerivation rec { version = "1.2.15"; name = "SDL-${version}"; @@ -32,20 +24,46 @@ stdenv.mkDerivation rec { }; # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated. - propagatedBuildInputs = stdenv.lib.optionals x11Support [ x11 libXrandr ] ++ + propagatedNativeBuildInputs = + stdenv.lib.optionals x11Support [ x11 libXrandr ] ++ + stdenv.lib.optional alsaSupport alsaLib ++ stdenv.lib.optional pulseaudioSupport pulseaudio; - buildInputs = [ pkgconfig audiofile ] ++ - stdenv.lib.optional openglSupport [ mesa ] ++ - stdenv.lib.optional alsaSupport alsaLib; + buildInputs = let + notMingw = !(stdenv ? cross) || stdenv.cross.libc != "msvcrt"; + in stdenv.lib.optional notMingw audiofile; + + nativeBuildInputs = [ pkgconfig ] ++ + stdenv.lib.optional openglSupport [ mesa ]; # XXX: By default, SDL wants to dlopen() PulseAudio, in which case # we must arrange to add it to its RPATH; however, `patchelf' seems # to fail at doing this, hence `--disable-pulseaudio-shared'. - configureFlags = configureFlagsFun { inherit alsaLib; }; + configureFlags = [ + "--disable-oss" + "--disable-video-x11-xme" + "--disable-x11-shared" + "--disable-alsa-shared" + "--enable-rpath" + "--disable-pulseaudio-shared" + "--disable-osmesa-shared" + ] ++ stdenv.lib.optionals (stdenv ? cross) ([ + "--without-x" + ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib}/lib"); - crossAttrs = { - configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; }; + crossAttrs =stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") { + patches = let + f = rev: sha256: fetchurl { + url = "http://hg.libsdl.org/SDL/raw-rev/${rev}"; + inherit sha256; + }; + in [ + (f "e9466ead70e5" "0ygir3k83d0vxp7s3k48jn3j8n2bnv9wm6613wpx3ybnjrxabrip") + (f "bbfb41c13a87" "17v29ybjifvka19m8qf14rjc43nfdwk9v9inaizznarhb17amlnv") + ]; + postPatch = '' + sed -i -e 's/ *-fpascal-strings//' configure + ''; }; passthru = {inherit openglSupport;}; diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix index 6d29ddf6eea..06e174371c7 100644 --- a/pkgs/development/libraries/SDL2_mixer/default.nix +++ b/pkgs/development/libraries/SDL2_mixer/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "0nvjdxjchrajrn0jag877hdx9zb788hsd315zzg1lyck2wb0xkm8"; }; - buildInputs = [SDL2 libogg libvorbis]; + propagatedBuildInputs = [SDL2 libogg libvorbis]; configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi "--enable-music-native-midi-gpl"; diff --git a/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch b/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch new file mode 100644 index 00000000000..5e0af3577d6 --- /dev/null +++ b/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch @@ -0,0 +1,152 @@ +diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h +--- a52dec.old/include/a52.h 2002-01-28 06:37:54.000000000 +0100 ++++ a52dec.new/include/a52.h 2012-07-16 14:13:35.000000000 +0200 +@@ -30,7 +30,71 @@ + typedef double sample_t; + #endif + +-typedef struct a52_state_s a52_state_t; ++typedef struct { ++ uint8_t bai; /* fine SNR offset, fast gain */ ++ uint8_t deltbae; /* delta bit allocation exists */ ++ int8_t deltba[50]; /* per-band delta bit allocation */ ++} ba_t; ++ ++typedef struct { ++ uint8_t exp[256]; /* decoded channel exponents */ ++ int8_t bap[256]; /* derived channel bit allocation */ ++} expbap_t; ++ ++typedef struct { ++ uint8_t fscod; /* sample rate */ ++ uint8_t halfrate; /* halfrate factor */ ++ uint8_t acmod; /* coded channels */ ++ uint8_t lfeon; /* coded lfe channel */ ++ sample_t clev; /* centre channel mix level */ ++ sample_t slev; /* surround channels mix level */ ++ ++ int output; /* type of output */ ++ sample_t level; /* output level */ ++ sample_t bias; /* output bias */ ++ ++ int dynrnge; /* apply dynamic range */ ++ sample_t dynrng; /* dynamic range */ ++ void * dynrngdata; /* dynamic range callback funtion and data */ ++ sample_t (* dynrngcall) (sample_t range, void * dynrngdata); ++ ++ uint8_t chincpl; /* channel coupled */ ++ uint8_t phsflginu; /* phase flags in use (stereo only) */ ++ uint8_t cplstrtmant; /* coupling channel start mantissa */ ++ uint8_t cplendmant; /* coupling channel end mantissa */ ++ uint32_t cplbndstrc; /* coupling band structure */ ++ sample_t cplco[5][18]; /* coupling coordinates */ ++ ++ /* derived information */ ++ uint8_t cplstrtbnd; /* coupling start band (for bit allocation) */ ++ uint8_t ncplbnd; /* number of coupling bands */ ++ ++ uint8_t rematflg; /* stereo rematrixing */ ++ ++ uint8_t endmant[5]; /* channel end mantissa */ ++ ++ uint16_t bai; /* bit allocation information */ ++ ++ uint32_t * buffer_start; ++ uint16_t lfsr_state; /* dither state */ ++ uint32_t bits_left; ++ uint32_t current_word; ++ ++ uint8_t csnroffst; /* coarse SNR offset */ ++ ba_t cplba; /* coupling bit allocation parameters */ ++ ba_t ba[5]; /* channel bit allocation parameters */ ++ ba_t lfeba; /* lfe bit allocation parameters */ ++ ++ uint8_t cplfleak; /* coupling fast leak init */ ++ uint8_t cplsleak; /* coupling slow leak init */ ++ ++ expbap_t cpl_expbap; ++ expbap_t fbw_expbap[5]; ++ expbap_t lfe_expbap; ++ ++ sample_t * samples; ++ int downmixed; ++} a52_state_t; + + #define A52_CHANNEL 0 + #define A52_MONO 1 +diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h +--- a52dec.old/liba52/a52_internal.h 2002-07-28 03:52:06.000000000 +0200 ++++ a52dec.new/liba52/a52_internal.h 2012-07-16 14:11:47.000000000 +0200 +@@ -21,72 +21,6 @@ + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +-typedef struct { +- uint8_t bai; /* fine SNR offset, fast gain */ +- uint8_t deltbae; /* delta bit allocation exists */ +- int8_t deltba[50]; /* per-band delta bit allocation */ +-} ba_t; +- +-typedef struct { +- uint8_t exp[256]; /* decoded channel exponents */ +- int8_t bap[256]; /* derived channel bit allocation */ +-} expbap_t; +- +-struct a52_state_s { +- uint8_t fscod; /* sample rate */ +- uint8_t halfrate; /* halfrate factor */ +- uint8_t acmod; /* coded channels */ +- uint8_t lfeon; /* coded lfe channel */ +- sample_t clev; /* centre channel mix level */ +- sample_t slev; /* surround channels mix level */ +- +- int output; /* type of output */ +- sample_t level; /* output level */ +- sample_t bias; /* output bias */ +- +- int dynrnge; /* apply dynamic range */ +- sample_t dynrng; /* dynamic range */ +- void * dynrngdata; /* dynamic range callback funtion and data */ +- sample_t (* dynrngcall) (sample_t range, void * dynrngdata); +- +- uint8_t chincpl; /* channel coupled */ +- uint8_t phsflginu; /* phase flags in use (stereo only) */ +- uint8_t cplstrtmant; /* coupling channel start mantissa */ +- uint8_t cplendmant; /* coupling channel end mantissa */ +- uint32_t cplbndstrc; /* coupling band structure */ +- sample_t cplco[5][18]; /* coupling coordinates */ +- +- /* derived information */ +- uint8_t cplstrtbnd; /* coupling start band (for bit allocation) */ +- uint8_t ncplbnd; /* number of coupling bands */ +- +- uint8_t rematflg; /* stereo rematrixing */ +- +- uint8_t endmant[5]; /* channel end mantissa */ +- +- uint16_t bai; /* bit allocation information */ +- +- uint32_t * buffer_start; +- uint16_t lfsr_state; /* dither state */ +- uint32_t bits_left; +- uint32_t current_word; +- +- uint8_t csnroffst; /* coarse SNR offset */ +- ba_t cplba; /* coupling bit allocation parameters */ +- ba_t ba[5]; /* channel bit allocation parameters */ +- ba_t lfeba; /* lfe bit allocation parameters */ +- +- uint8_t cplfleak; /* coupling fast leak init */ +- uint8_t cplsleak; /* coupling slow leak init */ +- +- expbap_t cpl_expbap; +- expbap_t fbw_expbap[5]; +- expbap_t lfe_expbap; +- +- sample_t * samples; +- int downmixed; +-}; +- + #define LEVEL_PLUS6DB 2.0 + #define LEVEL_PLUS3DB 1.4142135623730951 + #define LEVEL_3DB 0.7071067811865476 diff --git a/pkgs/development/libraries/a52dec/A01-thread-safe.patch b/pkgs/development/libraries/a52dec/A01-thread-safe.patch new file mode 100644 index 00000000000..4ca2d1a0873 --- /dev/null +++ b/pkgs/development/libraries/a52dec/A01-thread-safe.patch @@ -0,0 +1,462 @@ +diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h +--- a52dec.old/include/a52.h 2012-07-16 14:24:14.000000000 +0200 ++++ a52dec.new/include/a52.h 2012-07-16 14:31:37.000000000 +0200 +@@ -42,6 +42,11 @@ + } expbap_t; + + typedef struct { ++ sample_t real; ++ sample_t imag; ++} complex_t; ++ ++typedef struct { + uint8_t fscod; /* sample rate */ + uint8_t halfrate; /* halfrate factor */ + uint8_t acmod; /* coded channels */ +@@ -94,6 +99,20 @@ + + sample_t * samples; + int downmixed; ++ ++ /* Root values for IFFT */ ++ sample_t * roots16; // size 3 ++ sample_t * roots32; // size 7 ++ sample_t * roots64; // size 15 ++ sample_t * roots128; // size 31 ++ ++ /* Twiddle factors for IMDCT */ ++ complex_t * pre1; // size 128 ++ complex_t * post1; // size 64 ++ complex_t * pre2; // size 64 ++ complex_t * post2; // size 32 ++ ++ sample_t * a52_imdct_window; // size 256 + } a52_state_t; + + #define A52_CHANNEL 0 +diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h +--- a52dec.old/liba52/a52_internal.h 2012-07-16 14:24:14.000000000 +0200 ++++ a52dec.new/liba52/a52_internal.h 2012-07-16 14:28:33.000000000 +0200 +@@ -49,6 +49,6 @@ + sample_t clev, sample_t slev); + void a52_upmix (sample_t * samples, int acmod, int output); + +-void a52_imdct_init (uint32_t mm_accel); +-void a52_imdct_256 (sample_t * data, sample_t * delay, sample_t bias); +-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias); ++void a52_imdct_init (a52_state_t * state, uint32_t mm_accel); ++void a52_imdct_256 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias); ++void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias); +diff -Naur a52dec.old/liba52/imdct.c a52dec.new/liba52/imdct.c +--- a52dec.old/liba52/imdct.c 2012-07-16 14:24:14.000000000 +0200 ++++ a52dec.new/liba52/imdct.c 2012-07-16 14:33:00.000000000 +0200 +@@ -40,11 +40,6 @@ + #include "a52_internal.h" + #include "mm_accel.h" + +-typedef struct complex_s { +- sample_t real; +- sample_t imag; +-} complex_t; +- + static uint8_t fftorder[] = { + 0,128, 64,192, 32,160,224, 96, 16,144, 80,208,240,112, 48,176, + 8,136, 72,200, 40,168,232,104,248,120, 56,184, 24,152,216, 88, +@@ -56,22 +51,8 @@ + 6,134, 70,198, 38,166,230,102,246,118, 54,182, 22,150,214, 86 + }; + +-/* Root values for IFFT */ +-static sample_t roots16[3]; +-static sample_t roots32[7]; +-static sample_t roots64[15]; +-static sample_t roots128[31]; +- +-/* Twiddle factors for IMDCT */ +-static complex_t pre1[128]; +-static complex_t post1[64]; +-static complex_t pre2[64]; +-static complex_t post2[32]; +- +-static sample_t a52_imdct_window[256]; +- +-static void (* ifft128) (complex_t * buf); +-static void (* ifft64) (complex_t * buf); ++static void (* ifft128) (a52_state_t * state, complex_t * buf); ++static void (* ifft64) (a52_state_t * state, complex_t * buf); + + static inline void ifft2 (complex_t * buf) + { +@@ -167,7 +148,7 @@ + a1.imag += tmp4; \ + } while (0) + +-static inline void ifft8 (complex_t * buf) ++static inline void ifft8 (a52_state_t * state, complex_t * buf) + { + double tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8; + +@@ -175,7 +156,7 @@ + ifft2 (buf + 4); + ifft2 (buf + 6); + BUTTERFLY_ZERO (buf[0], buf[2], buf[4], buf[6]); +- BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], roots16[1]); ++ BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], state->roots16[1]); + } + + static void ifft_pass (complex_t * buf, sample_t * weight, int n) +@@ -205,66 +186,66 @@ + } while (--i); + } + +-static void ifft16 (complex_t * buf) ++static void ifft16 (a52_state_t * state, complex_t * buf) + { +- ifft8 (buf); ++ ifft8 (state, buf); + ifft4 (buf + 8); + ifft4 (buf + 12); +- ifft_pass (buf, roots16 - 4, 4); ++ ifft_pass (buf, state->roots16 - 4, 4); + } + +-static void ifft32 (complex_t * buf) ++static void ifft32 (a52_state_t * state, complex_t * buf) + { +- ifft16 (buf); +- ifft8 (buf + 16); +- ifft8 (buf + 24); +- ifft_pass (buf, roots32 - 8, 8); ++ ifft16 (state, buf); ++ ifft8 (state, buf + 16); ++ ifft8 (state, buf + 24); ++ ifft_pass (buf, state->roots32 - 8, 8); + } + +-static void ifft64_c (complex_t * buf) ++static void ifft64_c (a52_state_t * state, complex_t * buf) + { +- ifft32 (buf); +- ifft16 (buf + 32); +- ifft16 (buf + 48); +- ifft_pass (buf, roots64 - 16, 16); ++ ifft32 (state, buf); ++ ifft16 (state, buf + 32); ++ ifft16 (state, buf + 48); ++ ifft_pass (buf, state->roots64 - 16, 16); + } + +-static void ifft128_c (complex_t * buf) ++static void ifft128_c (a52_state_t * state, complex_t * buf) + { +- ifft32 (buf); +- ifft16 (buf + 32); +- ifft16 (buf + 48); +- ifft_pass (buf, roots64 - 16, 16); ++ ifft32 (state, buf); ++ ifft16 (state, buf + 32); ++ ifft16 (state, buf + 48); ++ ifft_pass (buf, state->roots64 - 16, 16); + +- ifft32 (buf + 64); +- ifft32 (buf + 96); +- ifft_pass (buf, roots128 - 32, 32); ++ ifft32 (state, buf + 64); ++ ifft32 (state, buf + 96); ++ ifft_pass (buf, state->roots128 - 32, 32); + } + +-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias) ++void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias) + { + int i, k; + sample_t t_r, t_i, a_r, a_i, b_r, b_i, w_1, w_2; +- const sample_t * window = a52_imdct_window; ++ const sample_t * window = state->a52_imdct_window; + complex_t buf[128]; + + for (i = 0; i < 128; i++) { + k = fftorder[i]; +- t_r = pre1[i].real; +- t_i = pre1[i].imag; ++ t_r = state->pre1[i].real; ++ t_i = state->pre1[i].imag; + + buf[i].real = t_i * data[255-k] + t_r * data[k]; + buf[i].imag = t_r * data[255-k] - t_i * data[k]; + } + +- ifft128 (buf); ++ ifft128 (state, buf); + + /* Post IFFT complex multiply plus IFFT complex conjugate*/ + /* Window and convert to real valued signal */ + for (i = 0; i < 64; i++) { + /* y[n] = z[n] * (xcos1[n] + j * xsin1[n]) ; */ +- t_r = post1[i].real; +- t_i = post1[i].imag; ++ t_r = state->post1[i].real; ++ t_i = state->post1[i].imag; + + a_r = t_r * buf[i].real + t_i * buf[i].imag; + a_i = t_i * buf[i].real - t_r * buf[i].imag; +@@ -285,18 +266,18 @@ + } + } + +-void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias) ++void a52_imdct_256(a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias) + { + int i, k; + sample_t t_r, t_i, a_r, a_i, b_r, b_i, c_r, c_i, d_r, d_i, w_1, w_2; +- const sample_t * window = a52_imdct_window; ++ const sample_t * window = state->a52_imdct_window; + complex_t buf1[64], buf2[64]; + + /* Pre IFFT complex multiply plus IFFT cmplx conjugate */ + for (i = 0; i < 64; i++) { + k = fftorder[i]; +- t_r = pre2[i].real; +- t_i = pre2[i].imag; ++ t_r = state->pre2[i].real; ++ t_i = state->pre2[i].imag; + + buf1[i].real = t_i * data[254-k] + t_r * data[k]; + buf1[i].imag = t_r * data[254-k] - t_i * data[k]; +@@ -305,15 +286,15 @@ + buf2[i].imag = t_r * data[255-k] - t_i * data[k+1]; + } + +- ifft64 (buf1); +- ifft64 (buf2); ++ ifft64 (state, buf1); ++ ifft64 (state, buf2); + + /* Post IFFT complex multiply */ + /* Window and convert to real valued signal */ + for (i = 0; i < 32; i++) { + /* y1[n] = z1[n] * (xcos2[n] + j * xs in2[n]) ; */ +- t_r = post2[i].real; +- t_i = post2[i].imag; ++ t_r = state->post2[i].real; ++ t_i = state->post2[i].imag; + + a_r = t_r * buf1[i].real + t_i * buf1[i].imag; + a_i = t_i * buf1[i].real - t_r * buf1[i].imag; +@@ -362,7 +343,7 @@ + return bessel; + } + +-void a52_imdct_init (uint32_t mm_accel) ++void a52_imdct_init (a52_state_t * state, uint32_t mm_accel) + { + int i, k; + double sum; +@@ -371,50 +352,50 @@ + sum = 0; + for (i = 0; i < 256; i++) { + sum += besselI0 (i * (256 - i) * (5 * M_PI / 256) * (5 * M_PI / 256)); +- a52_imdct_window[i] = sum; ++ state->a52_imdct_window[i] = sum; + } + sum++; + for (i = 0; i < 256; i++) +- a52_imdct_window[i] = sqrt (a52_imdct_window[i] / sum); ++ state->a52_imdct_window[i] = sqrt (state->a52_imdct_window[i] / sum); + + for (i = 0; i < 3; i++) +- roots16[i] = cos ((M_PI / 8) * (i + 1)); ++ state->roots16[i] = cos ((M_PI / 8) * (i + 1)); + + for (i = 0; i < 7; i++) +- roots32[i] = cos ((M_PI / 16) * (i + 1)); ++ state->roots32[i] = cos ((M_PI / 16) * (i + 1)); + + for (i = 0; i < 15; i++) +- roots64[i] = cos ((M_PI / 32) * (i + 1)); ++ state->roots64[i] = cos ((M_PI / 32) * (i + 1)); + + for (i = 0; i < 31; i++) +- roots128[i] = cos ((M_PI / 64) * (i + 1)); ++ state->roots128[i] = cos ((M_PI / 64) * (i + 1)); + + for (i = 0; i < 64; i++) { + k = fftorder[i] / 2 + 64; +- pre1[i].real = cos ((M_PI / 256) * (k - 0.25)); +- pre1[i].imag = sin ((M_PI / 256) * (k - 0.25)); ++ state->pre1[i].real = cos ((M_PI / 256) * (k - 0.25)); ++ state->pre1[i].imag = sin ((M_PI / 256) * (k - 0.25)); + } + + for (i = 64; i < 128; i++) { + k = fftorder[i] / 2 + 64; +- pre1[i].real = -cos ((M_PI / 256) * (k - 0.25)); +- pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25)); ++ state->pre1[i].real = -cos ((M_PI / 256) * (k - 0.25)); ++ state->pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25)); + } + + for (i = 0; i < 64; i++) { +- post1[i].real = cos ((M_PI / 256) * (i + 0.5)); +- post1[i].imag = sin ((M_PI / 256) * (i + 0.5)); ++ state->post1[i].real = cos ((M_PI / 256) * (i + 0.5)); ++ state->post1[i].imag = sin ((M_PI / 256) * (i + 0.5)); + } + + for (i = 0; i < 64; i++) { + k = fftorder[i] / 4; +- pre2[i].real = cos ((M_PI / 128) * (k - 0.25)); +- pre2[i].imag = sin ((M_PI / 128) * (k - 0.25)); ++ state->pre2[i].real = cos ((M_PI / 128) * (k - 0.25)); ++ state->pre2[i].imag = sin ((M_PI / 128) * (k - 0.25)); + } + + for (i = 0; i < 32; i++) { +- post2[i].real = cos ((M_PI / 128) * (i + 0.5)); +- post2[i].imag = sin ((M_PI / 128) * (i + 0.5)); ++ state->post2[i].real = cos ((M_PI / 128) * (i + 0.5)); ++ state->post2[i].imag = sin ((M_PI / 128) * (i + 0.5)); + } + + #ifdef LIBA52_DJBFFT +diff -Naur a52dec.old/liba52/parse.c a52dec.new/liba52/parse.c +--- a52dec.old/liba52/parse.c 2012-07-16 14:24:14.000000000 +0200 ++++ a52dec.new/liba52/parse.c 2012-07-16 14:33:00.000000000 +0200 +@@ -56,16 +56,53 @@ + a52_state_t * state; + int i; + +- state = malloc (sizeof (a52_state_t)); ++ state = calloc (1, sizeof (a52_state_t)); + if (state == NULL) + return NULL; + + state->samples = memalign (16, 256 * 12 * sizeof (sample_t)); + if (state->samples == NULL) { +- free (state); +- return NULL; ++ goto fail; + } + ++ /* Root values for IFFT */ ++ state->roots16 = memalign (16, 3 * sizeof (sample_t)); ++ if (state->roots16 == NULL) ++ goto fail; ++ ++ state->roots32 = memalign (16, 7 * sizeof (sample_t)); ++ if (state->roots32 == NULL) ++ goto fail; ++ ++ state->roots64 = memalign (16, 15 * sizeof (sample_t)); ++ if (state->roots64 == NULL) ++ goto fail; ++ ++ state->roots128 = memalign (16, 31 * sizeof (sample_t)); ++ if (state->roots128 == NULL) ++ goto fail; ++ ++ /* Twiddle factors for IMDCT */ ++ state->pre1 = memalign (16, 128 * sizeof (complex_t)); ++ if (state->pre1 == NULL) ++ goto fail; ++ ++ state->post1 = memalign (16, 64 * sizeof (complex_t)); ++ if (state->post1 == NULL) ++ goto fail; ++ ++ state->pre2 = memalign (16, 64 * sizeof (complex_t)); ++ if (state->pre2 == NULL) ++ goto fail; ++ ++ state->post2 = memalign (16, 32 * sizeof (complex_t)); ++ if (state->post2 == NULL) ++ goto fail; ++ ++ state->a52_imdct_window = memalign (16, 256 * sizeof (sample_t)); ++ if (state->a52_imdct_window == NULL) ++ goto fail; ++ + for (i = 0; i < 256 * 12; i++) + state->samples[i] = 0; + +@@ -73,9 +110,27 @@ + + state->lfsr_state = 1; + +- a52_imdct_init (mm_accel); ++ a52_imdct_init (state, mm_accel); + + return state; ++ ++fail: ++ if ( state ) ++ { ++ free (state->a52_imdct_window); ++ free (state->post2); ++ free (state->pre2); ++ free (state->post1); ++ free (state->pre1); ++ free (state->roots128); ++ free (state->roots64); ++ free (state->roots32); ++ free (state->roots16); ++ free (state->samples); ++ free (state); ++ } ++ return NULL; ++ + } + + sample_t * a52_samples (a52_state_t * state) +@@ -825,7 +880,7 @@ + state->dynrng, 0, 7); + for (i = 7; i < 256; i++) + (samples-256)[i] = 0; +- a52_imdct_512 (samples - 256, samples + 1536 - 256, state->bias); ++ a52_imdct_512 (state, samples - 256, samples + 1536 - 256, state->bias); + } else { + /* just skip the LFE coefficients */ + coeff_get (state, samples + 1280, &state->lfe_expbap, &quantizer, +@@ -854,10 +909,10 @@ + + if (coeff[i]) { + if (blksw[i]) +- a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i, ++ a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i, + bias); + else +- a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i, ++ a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i, + bias); + } else { + int j; +@@ -883,11 +938,11 @@ + + if (blksw[0]) + for (i = 0; i < nfchans; i++) +- a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i, ++ a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i, + state->bias); + else + for (i = 0; i < nfchans; i++) +- a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i, ++ a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i, + state->bias); + } + +@@ -896,6 +951,15 @@ + + void a52_free (a52_state_t * state) + { ++ free (state->a52_imdct_window); ++ free (state->post2); ++ free (state->pre2); ++ free (state->post1); ++ free (state->pre1); ++ free (state->roots128); ++ free (state->roots64); ++ free (state->roots32); ++ free (state->roots16); + free (state->samples); + free (state); + } diff --git a/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch b/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch new file mode 100644 index 00000000000..a22e5979e66 --- /dev/null +++ b/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch @@ -0,0 +1,11 @@ +diff -Naur a52dec_original/liba52/imdct.c a52dec_patched/liba52/imdct.c +--- a52dec.old/liba52/imdct.c 2002-07-28 03:52:07.000000000 +0200 ++++ a52dec.new/liba52/imdct.c 2011-07-15 20:29:09.000000000 +0200 +@@ -425,7 +425,6 @@ + } else + #endif + { +- fprintf (stderr, "No accelerated IMDCT transform found\n"); + ifft128 = ifft128_c; + ifft64 = ifft64_c; + } diff --git a/pkgs/development/libraries/a52dec/A03-automake.patch b/pkgs/development/libraries/a52dec/A03-automake.patch new file mode 100644 index 00000000000..142091dc695 --- /dev/null +++ b/pkgs/development/libraries/a52dec/A03-automake.patch @@ -0,0 +1,12 @@ +diff -Naur a52dec.orig/configure.in a52dec/configure.in +--- a52dec.orig/configure.in 2002-07-27 23:50:20.000000000 -0400 ++++ a52dec/configure.in 2013-01-28 21:06:27.000000000 -0500 +@@ -6,7 +6,7 @@ + AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile + doc/Makefile src/Makefile liba52/Makefile libao/Makefile vc++/Makefile]) + AM_INIT_AUTOMAKE([a52dec],[0.7.4]) +-AM_CONFIG_HEADER(include/config.h) ++AC_CONFIG_HEADER(include/config.h) + AM_MAINTAINER_MODE + AC_CANONICAL_HOST + diff --git a/pkgs/development/libraries/a52dec/default.nix b/pkgs/development/libraries/a52dec/default.nix index 84a87df03e4..7d5c5fab393 100644 --- a/pkgs/development/libraries/a52dec/default.nix +++ b/pkgs/development/libraries/a52dec/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "a52dec-0.7.4"; + name = "a52dec-0.7.4p4"; src = fetchurl { url = "${meta.homepage}/files/a52dec-0.7.4.tar.gz"; @@ -10,6 +10,14 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-fpic"; + # From Handbrake + patches = [ + ./A00-a52-state-t-public.patch + ./A01-thread-safe.patch + ./A02-imdct-shutup.patch + ./A03-automake.patch + ]; + meta = { description = "ATSC A/52 stream decoder"; homepage = http://liba52.sourceforge.net/; diff --git a/pkgs/development/libraries/accountservice/default.nix b/pkgs/development/libraries/accountservice/default.nix index 9734a6bc980..0ff5466e5c4 100644 --- a/pkgs/development/libraries/accountservice/default.nix +++ b/pkgs/development/libraries/accountservice/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, glib, intltool -, libtool, gobjectIntrospection, polkit, systemd }: +{ stdenv, fetchurl, pkgconfig, glib, intltool, makeWrapper +, libtool, gobjectIntrospection, polkit, systemd, coreutils }: stdenv.mkDerivation rec { name = "accountsservice-0.6.35"; @@ -9,8 +9,19 @@ stdenv.mkDerivation rec { sha256 = "0f1hzl6hw56xvwgmd4yvmdyj15xj1fafw45pzv3qarww7h0wg8b5"; }; - buildInputs = [ pkgconfig glib intltool libtool + buildInputs = [ pkgconfig glib intltool libtool makeWrapper gobjectIntrospection polkit systemd ]; - configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; + configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--localstatedir=/var" ]; + + patches = [ ./no-create-dirs.patch ]; + patchFlags = "-p0"; + + preFixup = '' + wrapProgram "$out/libexec/accounts-daemon" \ + --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/users" \ + --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/icons" + ''; + } diff --git a/pkgs/development/libraries/accountservice/no-create-dirs.patch b/pkgs/development/libraries/accountservice/no-create-dirs.patch new file mode 100644 index 00000000000..a0c7ca23598 --- /dev/null +++ b/pkgs/development/libraries/accountservice/no-create-dirs.patch @@ -0,0 +1,13 @@ +--- src/Makefile.in.orig 2014-04-23 22:30:00.276005326 +0200 ++++ src/Makefile.in 2014-04-23 22:30:16.809409113 +0200 +@@ -881,8 +881,8 @@ + gdbus-codegen --generate-c-code accounts-user-generated --c-namespace Accounts --interface-prefix=org.freedesktop.Accounts. $(top_srcdir)/data/org.freedesktop.Accounts.User.xml + + install-data-hook: +- $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/users" +- $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/icons" ++# $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/users" ++# $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/icons" + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/pkgs/development/libraries/afflib/default.nix b/pkgs/development/libraries/afflib/default.nix index a5fdafe7914..7c1c5dfd7b7 100644 --- a/pkgs/development/libraries/afflib/default.nix +++ b/pkgs/development/libraries/afflib/default.nix @@ -1,48 +1,20 @@ -x@{builderDefsPackage - , libewf, zlib, curl, expat, fuse, openssl - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ stdenv, fetchurl, zlib, curl, expat, fuse, openssl }: - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="afflib"; - version="3.6.12"; - name="${baseName}-${version}"; - url="http://afflib.org/downloads/${name}.tar.gz"; - hash="1l13nrqjlvad112543qbyvrzai5by43zl96d3miklrhn26q9rs07"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; +stdenv.mkDerivation rec { + name = "afflib-3.6.12"; + + src = fetchurl { + url = "http://digitalcorpora.org/downloads/afflib/${name}.tar.gz"; + sha256 = "1l13nrqjlvad112543qbyvrzai5by43zl96d3miklrhn26q9rs07"; }; - inherit (sourceInfo) name version; - inherit buildInputs; + buildInputs = [ zlib curl expat fuse openssl ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - meta = { + homepage = http://afflib.sourceforge.net/; description = "Advanced forensic format library"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.bsdOriginal; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.bsdOriginal; + maintainers = [ stdenv.lib.maintainers.raskin ]; }; - passthru = { - updateInfo = { - downloadPage = "http://afflib.org/"; - }; - }; -}) x - +} diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix index e248dbd649e..c2737b20eff 100644 --- a/pkgs/development/libraries/apr/default.nix +++ b/pkgs/development/libraries/apr/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "apr-1.5.0"; + name = "apr-1.5.1"; src = fetchurl { url = "mirror://apache/apr/${name}.tar.bz2"; - md5 = "cc93bd2c12d0d037f68e21cc6385dc31"; + sha256 = "1b4qw686bwjn19iyb0lg918q23xxd6s2gnyczhjq992d3m1vwjp9"; }; patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin_fix_configure.patch ]; diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix index a69cee99b2b..6b054aaf44b 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/aubio/default.nix b/pkgs/development/libraries/aubio/default.nix index 180de0e0bd5..53ff6572052 100644 --- a/pkgs/development/libraries/aubio/default.nix +++ b/pkgs/development/libraries/aubio/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "aubio-0.4.0"; + name = "aubio-0.4.1"; src = fetchurl { url = "http://aubio.org/pub/${name}.tar.bz2"; - sha256 = "18ik5nn8n984f0wnrwdfhc06b8blqgm9b2hrm7hc9m0rr039mpj9"; + sha256 = "15f6nf76y7iyl2kl4ny7ky0zpxfxr8j3902afvd6ydnnkh5dzmr5"; }; buildInputs = [ diff --git a/pkgs/development/libraries/audio/lvtk/default.nix b/pkgs/development/libraries/audio/lvtk/default.nix index 0abe3f0376b..7b296ea6d13 100644 --- a/pkgs/development/libraries/audio/lvtk/default.nix +++ b/pkgs/development/libraries/audio/lvtk/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "lvtk-${version}"; - version = "1.1.1"; + version = "1.2.0"; src = fetchurl { - url = "http://lvtoolkit.org/code/browse/lvtk/snapshot/${name}.tar.gz"; - sha256 = "161l4n3a2kar2r5mn3zz6dbj1p2s6361ainrka3s74518z7yf42w"; + url = "https://github.com/lvtk/lvtk/archive/${version}.tar.gz"; + sha256 = "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd"; }; buildInputs = [ boost gtkmm lv2 pkgconfig python ]; diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix index a5fd80dc0db..c8fb8c53dc0 100644 --- a/pkgs/development/libraries/audiofile/default.nix +++ b/pkgs/development/libraries/audiofile/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "audiofile-0.3.6"; - buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib; + nativeBuildInputs = stdenv.lib.optional stdenv.isLinux alsaLib; src = fetchurl { url = "http://audiofile.68k.org/${name}.tar.gz"; diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix index c1b23179a1d..58e7c17f249 100644 --- a/pkgs/development/libraries/c-ares/default.nix +++ b/pkgs/development/libraries/c-ares/default.nix @@ -15,6 +15,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.mit; - maintainer = [ stdenv.lib.maintainers.shlevy ]; + maintainers = [ stdenv.lib.maintainers.shlevy ]; }; } diff --git a/pkgs/development/libraries/capnproto/default.nix b/pkgs/development/libraries/capnproto/default.nix new file mode 100644 index 00000000000..8a067f148d9 --- /dev/null +++ b/pkgs/development/libraries/capnproto/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "capnproto-0.4.1"; + + meta = with stdenv.lib; { + homepage = "http://kentonv.github.io/capnproto"; + description = "Cap'n Proto cerealization protocol"; + longDescription = '' + Cap’n Proto is an insanely fast data interchange format and + capability-based RPC system. Think JSON, except binary. Or think Protocol + Buffers, except faster. + ''; + license = licenses.bsd2; + platforms = platforms.all; + maintainers = with maintainers; [ cstrahan ]; + }; + + src = fetchurl { + url = "https://capnproto.org/capnproto-c++-0.4.1.tar.gz"; + sha256 = "8453e8d508906062f113dbdfff552f41e08083ccf7c9407778a8d107675cd468"; + }; +} diff --git a/pkgs/development/libraries/cloog-ppl/default.nix b/pkgs/development/libraries/cloog-ppl/default.nix index 2c723e2c8b2..a6ebbf8dfdc 100644 --- a/pkgs/development/libraries/cloog-ppl/default.nix +++ b/pkgs/development/libraries/cloog-ppl/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, ppl }: +{ fetchurl, stdenv, ppl, autoconf, automake, libtool }: stdenv.mkDerivation rec { name = "cloog-ppl-0.15.11"; @@ -10,8 +10,21 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ ppl ]; + buildInputs = [ automake autoconf libtool ]; + + patches = [ ./fix-ppl-version.patch ]; + configureFlags = "--with-ppl=${ppl}"; + preConfigure = '' + touch NEWS ChangeLog AUTHORS + ${libtool}/bin/libtoolize -c --force + ${automake}/bin/aclocal + ${automake}/bin/automake --add-missing + ${automake}/bin/automake -a -c --foreign + ${autoconf}/bin/autoreconf + ''; + crossAttrs = { configureFlags = "--with-ppl=${ppl.crossDrv}"; }; diff --git a/pkgs/development/libraries/cloog-ppl/fix-ppl-version.patch b/pkgs/development/libraries/cloog-ppl/fix-ppl-version.patch new file mode 100644 index 00000000000..8440d839411 --- /dev/null +++ b/pkgs/development/libraries/cloog-ppl/fix-ppl-version.patch @@ -0,0 +1,16 @@ +diff -rupN src/configure.in cloog-ppl-0.15.11/configure.in +--- src/configure.in 2014-04-13 13:33:43.349392305 +0200 ++++ cloog-ppl-0.15.11/configure.in 2014-04-13 13:34:12.695379888 +0200 +@@ -337,11 +337,7 @@ if test "x$with_ppl" != "x" -a "x$with_p + [AC_MSG_ERROR(Can't find PPL headers.)]) + + AC_MSG_CHECKING([for version 0.10 (or later revision) of PPL]) +- AC_TRY_COMPILE([#include "ppl_c.h"],[ +- #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10 +- choke me +- #endif +- ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ]) ++ AC_MSG_RESULT([yes]) + + LIBS="$LIBS -lppl_c -lppl -lgmpxx" + AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend]) diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix index 60e8da9c3fc..4173b75915c 100644 --- a/pkgs/development/libraries/clucene-core/2.x.nix +++ b/pkgs/development/libraries/clucene-core/2.x.nix @@ -20,6 +20,12 @@ stdenv.mkDerivation rec { ./Install-contribs-lib.patch ]; + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -change libclucene-shared.1.dylib \ + $out/lib/libclucene-shared.1.dylib \ + $out/lib/libclucene-core.1.dylib + ''; + meta = { description = "Core library for full-featured text search engine"; longDescription = '' diff --git a/pkgs/development/libraries/clutter/1.18.nix b/pkgs/development/libraries/clutter/1.18.nix new file mode 100644 index 00000000000..898c931f354 --- /dev/null +++ b/pkgs/development/libraries/clutter/1.18.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes +, libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib, +gobjectIntrospection +}: + +let + ver_maj = "1.18"; + ver_min = "2"; +in +stdenv.mkDerivation rec { + name = "clutter-${ver_maj}.${ver_min}"; + + src = fetchurl { + url = "mirror://gnome/sources/clutter/${ver_maj}/${name}.tar.xz"; + sha256 = "f9fe12e6148426063c90e67dfaeb56013bf1aea224ef502223d13eab6c1add63"; + }; + + nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = + [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango + atk json_glib gobjectIntrospection + ]; + + configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK + + #doCheck = true; # no tests possible without a display + + meta = { + description = "Clutter, a library for creating fast, dynamic graphical user interfaces"; + + longDescription = + '' Clutter is free software library for creating fast, compelling, + portable, and dynamic graphical user interfaces. It is a core part + of MeeGo, and is supported by the open source community. Its + development is sponsored by Intel. + + Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use + on mobile and embedded platforms), but wraps an easy to use, + efficient, flexible API around GL's complexity. + + Clutter enforces no particular user interface style, but provides a + rich, generic foundation for higher-level toolkits tailored to + specific needs. + ''; + + license = "LGPLv2+"; + homepage = http://www.clutter-project.org/; + + maintainers = with stdenv.lib.maintainers; [ urkud ]; + platforms = stdenv.lib.platforms.mesaPlatforms; + }; +} diff --git a/pkgs/development/libraries/cogl/1.18.nix b/pkgs/development/libraries/cogl/1.18.nix new file mode 100644 index 00000000000..7aad8ba1b43 --- /dev/null +++ b/pkgs/development/libraries/cogl/1.18.nix @@ -0,0 +1,59 @@ +{ stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty +, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland +, gstreamerSupport ? true, gst_all_1 }: + +let + ver_maj = "1.18"; + ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "cogl-${ver_maj}.${ver_min}"; + + src = fetchurl { + url = "mirror://gnome/sources/cogl/${ver_maj}/${name}.tar.xz"; + sha256 = "0phg76jpkn0j948axavzr15gyrqipzmzzr66nlp3dfksgszixnd4"; + }; + + nativeBuildInputs = [ pkgconfig ]; + + configureFlags = [ + "--enable-introspection" + "--enable-gles1" + "--enable-gles2" + "--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 + ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer + gst_all_1.gst-plugins-base ]; + + buildInputs = stdenv.lib.optionals pangoSupport [ pango cairo ]; + + COGL_PANGO_DEP_CFLAGS + = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport) + "-I${pango}/include/pango-1.0 -I${cairo}/include/cairo"; + + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; + + #doCheck = true; # all tests fail (no idea why) + + meta = with stdenv.lib; { + description = "A small open source library for using 3D graphics hardware for rendering"; + maintainers = with maintainers; [ lovek323 ]; + + longDescription = '' + Cogl is a small open source library for using 3D graphics hardware for + rendering. The API departs from the flat state machine style of OpenGL + and is designed to make it easy to write orthogonal components that can + render without stepping on each other's toes. + ''; + + platforms = stdenv.lib.platforms.mesaPlatforms; + }; +} diff --git a/pkgs/development/libraries/coprthr/default.nix b/pkgs/development/libraries/coprthr/default.nix new file mode 100644 index 00000000000..0e521aa19e8 --- /dev/null +++ b/pkgs/development/libraries/coprthr/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, libelf, libconfig, libevent, which, unzip, perl, python +, bison, flex }: + +stdenv.mkDerivation rec { + name = "coprthr-${version}"; + version = "1.6"; + + src = fetchurl { + url = "https://github.com/browndeer/coprthr/archive/stable-${version}.zip"; + sha256 = "042aykmcxhdpck0j6k5rcp6a0b5i377fv2nz96v1bpfhzxd1mjwg"; + }; + + buildInputs = + [ libelf libconfig libevent which unzip perl python bison flex ]; + + patchPhase = '' + for x in src/libocl/gen_oclcall_hook.pl tools/cltrace/gen_interceptor.pl src/libocl/gen_oclcall.pl src/scripts/gen_ocl_call_vector.pl src/libstdcl/gen_clarg_setn.pl; do + substituteInPlace $x --replace "/usr/bin/perl" ${perl}/bin/perl + done + ''; + + configureFlags = + [ "--with-libelf=${libelf}" + "--with-libevent=${libevent}" + "--with-libconfig=${libconfig}" + "--with-opencl-icd-path=$out/etc/OpenCL/vendors" + "--enable-user-install" + ]; + + meta = { + description = "The CO-PRocessing THReads SDK for OpenCL/STDCL"; + homepage = "http://www.browndeertechnology.com/coprthr.htm"; + license = stdenv.lib.licenses.lgpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/libraries/cpp-netlib/default.nix b/pkgs/development/libraries/cpp-netlib/default.nix new file mode 100644 index 00000000000..43849bf8ed8 --- /dev/null +++ b/pkgs/development/libraries/cpp-netlib/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, cmake, boost, openssl }: + +let + version = "0.11.0"; +in + +stdenv.mkDerivation rec { + name = "cpp-netlib-${version}"; + + src = fetchurl { + url = "http://commondatastorage.googleapis.com/cpp-netlib-downloads/${version}/${name}.tar.bz2"; + md5 = "0765cf203f451394df98e6ddf7bf2541"; + }; + + buildInputs = [ cmake boost openssl ]; + + cmakeFlags = [ "-DCPP-NETLIB_BUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_TYPE=RELEASE" ]; + + enableParallelBuilding = true; + + meta = { + description = "A collection of open-source libraries for high level network programming"; + homepage = http://cpp-netlib.org; + license = stdenv.lib.licenses.boost; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 11ad2014663..06e75b0a7ad 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.8.0"; - sha256 = "04qbsyw92279hfkwic5h6jc5999p87qsaqqgc6zcqddmh9r8r7vn"; + version = "1.8.2"; + sha256 = "025f7dnhr4gy5vcqsvn78x2bk382ldvf4x3ryd9wkbb5250zg2an"; inherit (stdenv) lib; @@ -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,34 +81,20 @@ 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 = + tools = dbus_drv "tools" "tools bus" { + preBuild = makeInternalLib; + buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs ]; + NIX_CFLAGS_LINK = stdenv.lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed " + "-ldbus-1"; meta.platforms = stdenv.lib.platforms.all; }; - daemon = dbus_drv "daemon" "bus" { - preBuild = makeInternalLib; - 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"; - }; + daemon = tools; docs = dbus_drv "docs" "doc" { postInstall = ''rm -r "$out/lib"''; diff --git a/pkgs/development/libraries/dclib/default.nix b/pkgs/development/libraries/dclib/default.nix index f5077b63adb..a00fbff50b9 100644 --- a/pkgs/development/libraries/dclib/default.nix +++ b/pkgs/development/libraries/dclib/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { name = "dclib-0.3.7"; src = fetchurl { - url = http://download.berlios.de/dcgui/dclib-0.3.7.tar.bz2; + url = ftp://ftp.debian.nl/pub/freebsd/ports/distfiles/dclib-0.3.7.tar.bz2; md5 = "d35833414534bcac8ce2c8a62ce903a4"; }; diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix index 8a1cca4bdd4..72a140ed371 100644 --- a/pkgs/development/libraries/eigen/default.nix +++ b/pkgs/development/libraries/eigen/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, cmake}: let - v = "3.2.0"; + v = "3.2.1"; in stdenv.mkDerivation { name = "eigen-${v}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2"; name = "eigen-${v}.tar.bz2"; - sha256 = "1dpshkcqjz3ckad56mkk1agbnlq0rk2d0wv14zwjg4lk1nb7h7q1"; + sha256 = "12ljdirih9n3cf8hy00in285c2ccah7mgalmmr8gc3ldwznz5rk6"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix index 931881fd142..847d561fbe4 100644 --- a/pkgs/development/libraries/ffmpeg/2.x.nix +++ b/pkgs/development/libraries/ffmpeg/2.x.nix @@ -1,17 +1,18 @@ { stdenv, fetchurl, config, pkgconfig, yasm, zlib, bzip2, alsaLib, texinfo, perl -, lame, speex, libtheora, libvorbis, libvpx, x264, xvidcore, libopus +, lame, speex, libass, libtheora, libvorbis, libvpx, x264, xvidcore, libopus , libvdpau, libva, faac, libdc1394, libXext, libXfixes, SDL , freetype, fontconfig, fdk_aac, gnutls }: stdenv.mkDerivation rec { - name = "ffmpeg-2.1.4"; + name = "ffmpeg-2.2.2"; src = fetchurl { url = "http://www.ffmpeg.org/releases/${name}.tar.bz2"; - sha256 = "00c1k84amgkc7vk5xkrg7z99q7jbfhbz3qk854cxnc38d2ynrd3z"; + sha256 = "062jn47sm1ifwswcd3lx47nff62rgcwp84964q0v983issnrfax4"; }; + subtitleSupport = config.ffmpeg.subtitle or true; mp3Support = config.ffmpeg.mp3 or true; speexSupport = config.ffmpeg.speex or true; theoraSupport = config.ffmpeg.theora or true; @@ -41,6 +42,7 @@ stdenv.mkDerivation rec { "--enable-avresample" "--enable-runtime-cpudetect" ] + ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) "--enable-libass" ++ stdenv.lib.optional mp3Support "--enable-libmp3lame" ++ stdenv.lib.optional speexSupport "--enable-libspeex" ++ stdenv.lib.optional theoraSupport "--enable-libtheora" @@ -53,12 +55,12 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree" ++ stdenv.lib.optional dc1394Support "--enable-libdc1394" ++ stdenv.lib.optional x11grabSupport "--enable-x11grab" - ++ stdenv.lib.optional playSupport "--enable-ffplay" + ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) "--enable-ffplay" ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig" ++ stdenv.lib.optional fdkAACSupport "--enable-libfdk_aac --enable-nonfree" ++ stdenv.lib.optional gnutlsSupport "--enable-gnutls"; - buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ] + buildInputs = [ pkgconfig lame yasm zlib bzip2 texinfo perl ] ++ stdenv.lib.optional mp3Support lame ++ stdenv.lib.optional speexSupport speex ++ stdenv.lib.optional theoraSupport libtheora @@ -72,10 +74,12 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional faacSupport faac ++ stdenv.lib.optional dc1394Support libdc1394 ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ] - ++ stdenv.lib.optional playSupport SDL + ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) SDL ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ] ++ stdenv.lib.optional fdkAACSupport fdk_aac - ++ stdenv.lib.optional gnutlsSupport gnutls; + ++ stdenv.lib.optional gnutlsSupport gnutls + ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) libass + ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/fmod/default.nix b/pkgs/development/libraries/fmod/default.nix index ba9bb286cdf..1fb71fc4c57 100644 --- a/pkgs/development/libraries/fmod/default.nix +++ b/pkgs/development/libraries/fmod/default.nix @@ -3,16 +3,21 @@ assert (stdenv.system == "x86_64-linux") || (stdenv.system == "i686-linux"); let bits = stdenv.lib.optionalString (stdenv.system == "x86_64-linux") "64"; + + libPath = stdenv.lib.makeLibraryPath + [ stdenv.gcc.libc stdenv.gcc.gcc ] + ":${stdenv.gcc.gcc}/lib64"; + patchLib = x: "patchelf --set-rpath ${libPath} ${x}"; in stdenv.mkDerivation rec { name = "fmod-${version}"; - version = "4.44.32"; + version = "4.44.34"; src = fetchurl { - url = "http://www.fmod.org/download/fmodex/api/Linux/fmodapi44432linux.tar.gz"; - sha256 = "071m2snzz5vc5ca7dvsf6w31nrgk5k9xb6mp7yzqdj4bkjad2hyd"; + url = "http://www.fmod.org/download/fmodex/api/Linux/fmodapi44434linux.tar.gz"; + sha256 = "057dvawckw3laavfkzvakyrw5lnvvfabs8myibjc95ap1awacb8x"; }; + dontStrip = true; buildPhase = "true"; installPhase = '' mkdir -p $out/lib $out/include/fmodex @@ -20,6 +25,9 @@ stdenv.mkDerivation rec { 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 + + ${patchLib "$out/lib/libfmodex.so"} + ${patchLib "$out/lib/libfmodexL.so"} ''; meta = { diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix index bf94bfa34d2..f9cd096f559 100644 --- a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix +++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix @@ -1,13 +1,14 @@ -{runCommand, libxslt, fontconfig, fontDirectories}: +{ runCommand, libxslt, fontconfig, fontDirectories }: runCommand "fonts.conf" - { - buildInputs = [libxslt]; + { + buildInputs = [ libxslt fontconfig ]; inherit fontDirectories; } '' xsltproc --stringparam fontDirectories "$fontDirectories" \ --stringparam fontconfig "${fontconfig}" \ + --path ${fontconfig}/share/xml/fontconfig \ ${./make-fonts-conf.xsl} ${fontconfig}/etc/fonts/fonts.conf \ > $out '' diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl index 073e4165931..59071ce9e22 100644 --- a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl +++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl @@ -32,6 +32,9 @@ + fonts + + ~/.fonts diff --git a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh index 280d9aa4f1b..c983f9f6a61 100644 --- a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh +++ b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh @@ -1,19 +1,25 @@ -make_gtk_applications_find_pixbuf_loaders() { +findGdkPixbufLoaders() { - # 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 [ -z "$IN_NIX_SHELL" ]; then - if [ -f "$1/lib/gdk-pixbuf/loaders.cache" ]; then - cat "$1/lib/gdk-pixbuf/loaders.cache" >> "$out/lib/$name/gdk-pixbuf/loaders.cache" - fi + # set pixbuf loaders.cache for this package + + local loadersDir="$out/lib/gdk-pixbuf-loaders-2.0/$name" + mkdir -p "$loadersDir" + + 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" >> "$loadersDir/loaders.cache" + fi - # note, this is not a search path - export GDK_PIXBUF_MODULE_FILE=$(readlink -e "$out/lib/$name/gdk-pixbuf/loaders.cache") + if [ -f "$1/lib/gdk-pixbuf/loaders.cache" ]; then + cat "$1/lib/gdk-pixbuf/loaders.cache" >> "$loadersDir/loaders.cache" + fi + + # note, this is not a search path + export GDK_PIXBUF_MODULE_FILE=$(readlink -e "$loadersDir/loaders.cache") + + fi } -envHooks+=(make_gtk_applications_find_pixbuf_loaders) +envHooks+=(findGdkPixbufLoaders) diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix index d799dfb6027..3932fa945c8 100644 --- a/pkgs/development/libraries/geoclue/2.0.nix +++ b/pkgs/development/libraries/geoclue/2.0.nix @@ -1,18 +1,18 @@ { fetchurl, stdenv, intltool, pkgconfig, glib, json_glib, libsoup, geoip -, dbus, dbus_glib +, dbus, dbus_glib, networkmanager, modemmanager }: stdenv.mkDerivation rec { - name = "geoclue-2.0.0"; + name = "geoclue-2.1.8"; src = fetchurl { - url = "http://www.freedesktop.org/software/geoclue/releases/2.0/${name}.tar.xz"; - sha256 = "18b7ikdcw2rm04gzw82216shp5m9pghvnsddw233s5jswn2g30ja"; + url = "http://www.freedesktop.org/software/geoclue/releases/2.1/${name}.tar.xz"; + sha256 = "05h102110gsxxvmvllssfz7ldjpwrrb5sqg5rbpibys6iy4w1k6m"; }; buildInputs = [ intltool pkgconfig glib json_glib libsoup geoip - dbus dbus_glib + dbus dbus_glib networkmanager modemmanager ]; preConfigure = '' diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix index 1abcb7c6943..2b4c291f7f5 100644 --- a/pkgs/development/libraries/geoip/default.nix +++ b/pkgs/development/libraries/geoip/default.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation { description = "Geolocation API"; maintainers = [ stdenv.lib.maintainers.raskin ]; license = stdenv.lib.licenses.lgpl21; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix index ef81f210d39..9ec88799d0d 100644 --- a/pkgs/development/libraries/glew/default.nix +++ b/pkgs/development/libraries/glew/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, mesa_glu, x11, libXmu, libXi }: +with stdenv.lib; + stdenv.mkDerivation rec { name = "glew-1.10.0"; @@ -8,23 +10,38 @@ stdenv.mkDerivation rec { sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r"; }; - - buildInputs = [ x11 libXmu libXi ]; - propagatedBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h + nativeBuildInputs = [ x11 libXmu libXi ]; + propagatedNativeBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h patchPhase = '' sed -i 's|lib64|lib|' config/Makefile.linux + ${optionalString (stdenv ? cross) '' + sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile + ''} ''; -buildPhase = "make all"; - installPhase = '' - GLEW_DEST=$out make install.all + buildFlags = [ "all" ]; + installFlags = [ "install.all" ]; + + preInstall = '' + export GLEW_DEST="$out" + ''; + + postInstall = '' mkdir -pv $out/share/doc/glew mkdir -p $out/lib/pkgconfig cp glew*.pc $out/lib/pkgconfig cp -r README.txt LICENSE.txt doc $out/share/doc/glew ''; + crossAttrs.makeFlags = [ + "CC=${stdenv.cross.config}-gcc" + "LD=${stdenv.cross.config}-gcc" + "AR=${stdenv.cross.config}-ar" + "STRIP=" + ] ++ optional (stdenv.cross.libc == "msvcrt") "SYSTEM=mingw" + ++ optional (stdenv.cross.libc == "libSystem") "SYSTEM=darwin"; + meta = { description = "An OpenGL extension loading library for C(++)"; homepage = http://glew.sourceforge.net/; diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix index 618b37bae4c..6b715028e8a 100644 --- a/pkgs/development/libraries/glib-networking/default.nix +++ b/pkgs/development/libraries/glib-networking/default.nix @@ -2,15 +2,15 @@ , gsettings_desktop_schemas }: let - ver_maj = "2.38"; - ver_min = "2"; + ver_maj = "2.40"; + ver_min = "1"; in stdenv.mkDerivation rec { name = "glib-networking-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz"; - sha256 = "1iwzjkx6q9gqr7fipc98zi2bi0gccrwq1v7skff1cdijkn8zxqp8"; + sha256 = "9fb3e54d049a480afdb814ff7452e7ab67e5d5f607ade230d7713f19922b5a28"; }; configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt"; diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 033a1def3ce..b1dd66584f4 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -55,7 +55,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig gettext perl python ]; - propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty ++ libintlOrEmpty; + propagatedBuildInputs = [ pcre zlib libffi ] + ++ optional (!stdenv.isDarwin) libiconvOrEmpty + ++ libintlOrEmpty; configureFlags = optional stdenv.isDarwin "--disable-compile-warnings" diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix index a25eabbee86..cba8d394c2b 100644 --- a/pkgs/development/libraries/gmp/5.1.x.nix +++ b/pkgs/development/libraries/gmp/5.1.x.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, m4, cxx ? true }: +with { inherit (stdenv.lib) optional; }; + stdenv.mkDerivation rec { name = "gmp-5.1.3"; @@ -14,9 +16,12 @@ stdenv.mkDerivation rec { # Build a "fat binary", with routines for several sub-architectures # (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 stdenv.is64bit then [ "--with-pic" ] else []); + optional (!stdenv.isSunOS) "--enable-fat" + ++ (if cxx then [ "--enable-cxx" ] + else [ "--disable-cxx" ]) + ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions" + ++ optional stdenv.is64bit "--with-pic" + ; doCheck = true; diff --git a/pkgs/development/libraries/gnutls/3.1.nix b/pkgs/development/libraries/gnutls/3.1.nix index 1046310946a..89306540694 100644 --- a/pkgs/development/libraries/gnutls/3.1.nix +++ b/pkgs/development/libraries/gnutls/3.1.nix @@ -4,11 +4,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation rec { - name = "gnutls-3.1.22"; + name = "gnutls-3.1.25"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz"; - sha256 = "177kmq4jn67s7mmb249722nwxmbjwjpphmib7bhzfk43z02j3pvh"; + sha256 = "1i1v8pbaw72k0ps09i3lvc1zr9gn34jpliiijbs8k7axrv2w9n5g"; }; # FreeBSD doesn't have , and Gnulib's `alloca' module isn't used. @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { # XXX: Gnulib's `test-select' fails on FreeBSD: # http://hydra.nixos.org/build/2962084/nixlog/1/raw . - doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin); + doCheck = false;#(!stdenv.isFreeBSD && !stdenv.isDarwin); meta = { description = "The GNU Transport Layer Security Library"; @@ -64,4 +64,5 @@ stdenv.mkDerivation rec { license = "LGPLv2.1+"; maintainers = [ stdenv.lib.maintainers.eelco ]; }; -} \ 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 45d0270de5a..ca9c003dfe7 100644 --- a/pkgs/development/libraries/gnutls/3.2.nix +++ b/pkgs/development/libraries/gnutls/3.2.nix @@ -4,11 +4,11 @@ assert guileBindings -> guile != null; stdenv.mkDerivation rec { - name = "gnutls-3.2.12.1"; + name = "gnutls-3.2.15"; src = fetchurl { url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz"; - sha256 = "1787n4iard3ad0p44xbl4aj3r3f5ir3sz0b2s27qpaaia2w4774g"; + sha256 = "16c5c4k41mxib8i06npks940p9xllgn1wrackfp8712wdvl5zc4q"; }; patches = diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix index a4a3a01299c..70b4ab8639d 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/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index eed4c12f254..dfef29c558a 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -3,14 +3,14 @@ , faad2, libass, libkate, libmms , libmodplug, mpeg2dec, mpg123 , openjpeg, libopus, librsvg -, timidity, libvdpau, wayland +, wildmidi, fluidsynth, libvdpau, wayland , libwebp, xvidcore, gnutls }: assert faacSupport -> faac != null; stdenv.mkDerivation rec { - name = "gst-plugins-bad-1.2.3"; + name = "gst-plugins-bad-1.2.4"; meta = with stdenv.lib; { description = "Gstreamer Bad Plugins"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz"; - sha256 = "1317hik9fdmy300p7c2y3aw43y6v9dr8f1906zm7s876m48pjpar"; + sha256 = "1jifzrgr4y3566d2lq30fibcd4rb8z8vpqnr2gihbmymr4z16k4q"; }; nativeBuildInputs = [ pkgconfig python ]; @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { faad2 libass libkate libmms libmodplug mpeg2dec mpg123 openjpeg libopus librsvg - timidity libvdpau wayland + wildmidi fluidsynth 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 0c8dbb21cfb..b7d45caafb0 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.3"; + name = "gst-plugins-base-1.2.4"; 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 = "1qfs4lv91ggcck61pw0ybn3gzvx4kl2vsd6lp8l6ky3hq8syrvb1"; + sha256 = "0l35zh2cdv515zv6n4yif49y6jfxzlf73q6g7k2vr52s7zf76qjd"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index 881f31c66a6..37b69efaa81 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.3"; + name = "gstreamer-1.2.4"; meta = { description = "Open source multimedia framework"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gstreamer/${name}.tar.xz"; - sha256 = "1syqn0kki5disx01q3y0z6p5qhr2a5g388wc6s649cw4lcbri6hg"; + sha256 = "0aa93cqzrhm1z7rkzk343p251ifvih0d0l8xsng2ra3hg1xacz0y"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index 090c84600ab..d0f989a22d6 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -7,7 +7,7 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-good-1.2.3"; + name = "gst-plugins-good-1.2.4"; meta = with stdenv.lib; { description = "Gstreamer Good Plugins"; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz"; - sha256 = "0w74hms2zg0rnhilj9cbhx9wfiryrkcvhr1g90scrg8mllv3bcxz"; + sha256 = "1lr0yk352jrcgxadi9mvjgkli7xiwwnc15by71w5wbiw75l07jf9"; }; nativeBuildInputs = [ pkgconfig python ]; diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix new file mode 100644 index 00000000000..1427ec866a9 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, glibmm, gstreamer, gst_plugins_base, libsigcxx, libxmlxx, pkgconfig }: + +let + ver_maj = "0.10"; + ver_min = "11"; +in +stdenv.mkDerivation rec { + name = "gstreamermm-${ver_maj}.${ver_min}"; + + src = fetchurl { + url = "mirror://gnome/sources/gstreamermm/${ver_maj}/gstreamermm-${ver_maj}.${ver_min}.tar.xz"; + sha256 = "12b5f377363594a69cb79f2f5cd0a8b1813ca6553680c3216e6354cfd682ebc6"; + }; + + doCheck = false; # Tests require pulseaudio in /homeless-shelter + + propagatedBuildInputs = [ + glibmm gstreamer gst_plugins_base libsigcxx libxmlxx + ]; + + nativeBuildInputs = [ pkgconfig ]; + + meta = { + description = "C++ bindings for the GStreamer streaming multimedia library"; + homepage = http://www.gtkmm.org/; + license = "LGPLv2+"; + maintainers = "Philip Lykke Carlsen "; + platforms = stdenv.lib.platforms.linux; + }; + +} diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix index ee2cb8830b0..699f30a0530 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.3"; + name = "gst-libav-1.2.4"; 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 = "1mmwyp6wahrx73zxiv67bwh9dqp7fn86igy4rkv0vx2m17hzpizb"; + sha256 = "0dzhs73vzl0kvrj0y6w8vg1bnh9mmcly5qnr94rbjbgwcc6lhs9a"; }; configureFlags = stdenv.lib.optionalString withSystemLibav diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix index 4f16fa4259c..7f161f141a9 100644 --- a/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -5,7 +5,7 @@ }: stdenv.mkDerivation rec { - name = "gst-plugins-ugly-1.2.3"; + name = "gst-plugins-ugly-1.2.4"; meta = with stdenv.lib; { description = "Gstreamer Ugly Plugins"; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz"; - sha256 = "0fzbazgqrbyckbh2xqlzslzmm638bddp1fw8cc19kr7f0xv0lysk"; + sha256 = "1a4fk0mv21az5wz2wz0xmd0w13y2nhhbdispsj2q6yym8xmggxjf"; }; nativeBuildInputs = [ pkgconfig python ]; diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix index 92c6debaa66..c57179364a7 100644 --- a/pkgs/development/libraries/gtk+/2.x.nix +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -23,14 +23,17 @@ stdenv.mkDerivation rec { propagatedBuildInputs = with xlibs; with stdenv.lib; [ glib cairo pango gdk_pixbuf atk ] - ++ optionals stdenv.isLinux - [ libXrandr libXrender libXcomposite libXi libXcursor ] - ++ optional stdenv.isDarwin x11 + ++ optionals (stdenv.isLinux || stdenv.isDarwin) [ + libXrandr libXrender libXcomposite libXi libXcursor + ] + ++ optionals stdenv.isDarwin [ x11 libXdamage ] ++ libintlOrEmpty ++ optional xineramaSupport libXinerama ++ optionals cupsSupport [ cups ]; - configureFlags = "--with-xinput=yes"; + configureFlags = if stdenv.isDarwin + then "--disable-glibtest --disable-introspection --disable-visibility" + else "--with-xinput=yes"; postInstall = "rm -rf $out/share/gtk-doc"; diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index 82e2e41aff8..ef8f3e39883 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -10,7 +10,7 @@ assert cupsSupport -> cups != null; let ver_maj = "3.12"; - ver_min = "1"; + ver_min = "2"; version = "${ver_maj}.${ver_min}"; in stdenv.mkDerivation rec { @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz"; - sha256 = "1kbp0bmyzh7lbxv9y349vrj3d0n0hn68r5kyvg5683snvdgsx6ki"; + sha256 = "1l45nd7ln2pnrf99vdki3l7an5wrzkbak11hnnj1w6r3fkm4xmv1"; }; nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ]; diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/development/libraries/gtkmm/2.x.nix index c7ae2ee5312..0b59cbfc489 100644 --- a/pkgs/development/libraries/gtkmm/2.x.nix +++ b/pkgs/development/libraries/gtkmm/2.x.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl_gnome, pkgconfig, gtk, glibmm, cairomm, pangomm, atkmm }: +{ stdenv, fetchurlGnome, pkgconfig, gtk, glibmm, cairomm, pangomm, atkmm }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "gtkmm"; major = "2"; minor = "24"; patchlevel = "4"; extension = "xz"; sha256 = "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4"; diff --git a/pkgs/development/libraries/hamlib/default.nix b/pkgs/development/libraries/hamlib/default.nix new file mode 100644 index 00000000000..e0a6e23c972 --- /dev/null +++ b/pkgs/development/libraries/hamlib/default.nix @@ -0,0 +1,34 @@ +{stdenv, fetchurl, perl, python, swig, gd, libxml2, tcl, libusb, pkgconfig, + boost, libtool, perlPackages }: + +stdenv.mkDerivation rec { + pname = "hamlib"; + version = "1.2.15.3"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/${pname}/${name}.tar.gz"; + sha256 = "0ppp6fc2h9d8p30j2s9wlqd620kmnny4wd8fc3jxd6gxwi4lbjm2"; + }; + + buildInputs = [ perl perlPackages.ExtUtilsMakeMaker python swig gd libxml2 + tcl libusb pkgconfig boost libtool ]; + + configureFlags = [ "--with-perl-binding" "--with-python-binding" + "--with-tcl-binding" "--with-rigmatrix" ]; + + meta = { + description = "Runtime library to control radio transceivers and receivers"; + longDescription = '' + Hamlib provides a standardized programming interface that applications + can use to send the appropriate commands to a radio. + + Also included in the package is a simple radio control program 'rigctl', + which lets one control a radio transceiver or receiver, either from + command line interface or in a text-oriented interactive interface. + ''; + license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ]; + homepage = http://hamlib.sourceforge.net; + maintainers = with stdenv.lib.maintainers; [ relrod ]; + }; +} diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index f564c4bf1bd..2e596b17af3 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.27"; + name = "harfbuzz-0.9.28"; src = fetchurl { url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2"; - sha256 = "1ns7njbm45fjbc9p7gcpjc606ax120ab0i9cbx6v3mcq3kllln08"; + sha256 = "0j70ppl2qrfx8yzdl8ki63wcxgrlhkyl31p1a6bhmbqqh32zfrx5"; }; configureFlags = [ diff --git a/pkgs/development/libraries/haskell/AspectAG/default.nix b/pkgs/development/libraries/haskell/AspectAG/default.nix deleted file mode 100644 index 6cbd760b4ac..00000000000 --- a/pkgs/development/libraries/haskell/AspectAG/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, HList, mtl }: - -cabal.mkDerivation (self: { - pname = "AspectAG"; - version = "0.3.6.1"; - sha256 = "01pglvf38v5ii2w03kdlgngxbb3ih0j5bsilv5qwc9vrh2iwirhf"; - buildDepends = [ HList mtl ]; - meta = { - homepage = "http://www.cs.uu.nl/wiki/bin/view/Center/AspectAG"; - description = "Attribute Grammars in the form of an EDSL"; - license = "LGPL"; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/BlogLiterately/default.nix b/pkgs/development/libraries/haskell/BlogLiterately/default.nix new file mode 100644 index 00000000000..e4005ed4ec0 --- /dev/null +++ b/pkgs/development/libraries/haskell/BlogLiterately/default.nix @@ -0,0 +1,24 @@ +{ cabal, blazeHtml, boolExtras, cmdargs, dataDefault, filepath +, HaXml, haxr, highlightingKate, hscolour, lens, mtl, pandoc +, pandocCiteproc, pandocTypes, parsec, split, strict, temporary +, transformers, utf8String +}: + +cabal.mkDerivation (self: { + pname = "BlogLiterately"; + version = "0.7.1.6"; + sha256 = "0mzq0br9jsymml57kcxqyr401lckzm43fy74l3wy25n6grv64hd4"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + blazeHtml boolExtras cmdargs dataDefault filepath HaXml haxr + highlightingKate hscolour lens mtl pandoc pandocCiteproc + pandocTypes parsec split strict temporary transformers utf8String + ]; + meta = { + homepage = "http://byorgey.wordpress.com/blogliterately/"; + description = "A tool for posting Haskelly articles to blogs"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/CC-delcont/default.nix b/pkgs/development/libraries/haskell/CC-delcont/default.nix new file mode 100644 index 00000000000..e13344034ca --- /dev/null +++ b/pkgs/development/libraries/haskell/CC-delcont/default.nix @@ -0,0 +1,14 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "CC-delcont"; + version = "0.2"; + sha256 = "0bl71vj1ypzplx92kz27hhbpnwnxkz5g2q86m4fcmjmp4fym8kc1"; + buildDepends = [ mtl ]; + meta = { + homepage = "http://code.haskell.org/~dolio/CC-delcont"; + description = "Delimited continuations and dynamically scoped variables"; + license = "unknown"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/Cabal/1.20.0.0.nix b/pkgs/development/libraries/haskell/Cabal/1.20.0.0.nix new file mode 100644 index 00000000000..0dbd2acdd92 --- /dev/null +++ b/pkgs/development/libraries/haskell/Cabal/1.20.0.0.nix @@ -0,0 +1,26 @@ +{ cabal, deepseq, extensibleExceptions, filepath, HUnit, QuickCheck +, regexPosix, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, time +}: + +cabal.mkDerivation (self: { + pname = "Cabal"; + version = "1.20.0.0"; + sha256 = "1m2lp6v1959mdm9zfg6fg1xw2iv749r4rzj576lqvn66slwsjpw1"; + buildDepends = [ deepseq filepath time ]; + testDepends = [ + extensibleExceptions filepath HUnit QuickCheck regexPosix + testFramework testFrameworkHunit testFrameworkQuickcheck2 + ]; + doCheck = false; + meta = { + homepage = "http://www.haskell.org/cabal/"; + description = "A framework for packaging Haskell software"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ + self.stdenv.lib.maintainers.andres + self.stdenv.lib.maintainers.simons + ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/ConfigFile/default.nix b/pkgs/development/libraries/haskell/ConfigFile/default.nix index 29d417562cc..b0c77eb1116 100644 --- a/pkgs/development/libraries/haskell/ConfigFile/default.nix +++ b/pkgs/development/libraries/haskell/ConfigFile/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "ConfigFile"; - version = "1.1.1"; - sha256 = "0w2yhbnqldhmj3d98j720l4lj4d08abqcff751p2slszdm5pw1jm"; + version = "1.1.2"; + sha256 = "0xidr8dk5sc9g1v9gw7fmmrsyqiawx2rxg4c36pm4jbcj8jdzxiq"; isLibrary = true; isExecutable = true; buildDepends = [ MissingH mtl parsec ]; diff --git a/pkgs/development/libraries/haskell/DSH/default.nix b/pkgs/development/libraries/haskell/DSH/default.nix deleted file mode 100644 index 409afcd45b0..00000000000 --- a/pkgs/development/libraries/haskell/DSH/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ cabal, csv, FerryCore, HaXml, HDBC, mtl, Pathfinder, text }: - -cabal.mkDerivation (self: { - pname = "DSH"; - version = "0.8.2.3"; - sha256 = "0d5jh1vxjx3874rgwvxjm00lj3vvp8ggz2c54x6ymhmgav3pd8vy"; - buildDepends = [ csv FerryCore HaXml HDBC mtl Pathfinder text ]; - meta = { - description = "Database Supported Haskell"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/Extra/default.nix b/pkgs/development/libraries/haskell/Extra/default.nix new file mode 100644 index 00000000000..2634f849114 --- /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/GLFW-b/default.nix b/pkgs/development/libraries/haskell/GLFW-b/default.nix new file mode 100644 index 00000000000..5dea14a106d --- /dev/null +++ b/pkgs/development/libraries/haskell/GLFW-b/default.nix @@ -0,0 +1,17 @@ +{ cabal, bindingsGLFW, HUnit, testFramework, testFrameworkHunit }: + +cabal.mkDerivation (self: { + pname = "GLFW-b"; + version = "1.4.6"; + sha256 = "1d9vacb9nsf5cqqwxhn49wsfbhmw1263kgimk5qxpqpg1jiy35hy"; + buildDepends = [ bindingsGLFW ]; + testDepends = [ + bindingsGLFW HUnit testFramework testFrameworkHunit + ]; + doCheck = false; + meta = { + description = "Bindings to GLFW OpenGL library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix b/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix similarity index 83% rename from pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix rename to pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix index a6f0e61d273..1da2b743687 100644 --- a/pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix +++ b/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "GLURaw"; - version = "1.4.0.0"; - sha256 = "0q86rpd5cx0vrb9d3y1fljc3mg0p8wy6xdn37ngv2s0f4kslq63g"; + version = "1.4.0.1"; + sha256 = "1k0f1vbbrsfc7jb4qbif4w4q87lsis5gvq7jd2n8zzslxd5n8mcn"; buildDepends = [ OpenGLRaw ]; extraLibraries = [ freeglut mesa ]; meta = { diff --git a/pkgs/development/libraries/haskell/GLUT/2.5.1.0.nix b/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix similarity index 85% rename from pkgs/development/libraries/haskell/GLUT/2.5.1.0.nix rename to pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix index 1cfd9a37eb0..79112138b4a 100644 --- a/pkgs/development/libraries/haskell/GLUT/2.5.1.0.nix +++ b/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "GLUT"; - version = "2.5.1.0"; - sha256 = "0zxj5i8rw402gpns5ivb1g5fkk502jwzrkviqhwhrxn7yxrybi1s"; + version = "2.5.1.1"; + sha256 = "0n9dkdjmpnbcjg0ll0ny7mw21xwwix0gxy0hq6yagmgaakhpg0aa"; buildDepends = [ OpenGL OpenGLRaw ]; extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ]; meta = { diff --git a/pkgs/development/libraries/haskell/GLUtil/default.nix b/pkgs/development/libraries/haskell/GLUtil/default.nix new file mode 100644 index 00000000000..507beef0663 --- /dev/null +++ b/pkgs/development/libraries/haskell/GLUtil/default.nix @@ -0,0 +1,16 @@ +{ cabal, cpphs, JuicyPixels, linear, OpenGL, OpenGLRaw, vector }: + +cabal.mkDerivation (self: { + pname = "GLUtil"; + version = "0.7.4"; + sha256 = "0l1w0k3q5g22y90w5frljqh1v4jb7gjzb3scg79zp42pc9v3h4l5"; + buildDepends = [ + cpphs JuicyPixels linear OpenGL OpenGLRaw vector + ]; + buildTools = [ cpphs ]; + meta = { + description = "Miscellaneous OpenGL utilities"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/Glob/default.nix b/pkgs/development/libraries/haskell/Glob/default.nix index d6f07e9168d..85fe7f2e88e 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.4"; - sha256 = "00f6xznqh27vbr8rggsrdphqsq1cvv931pa06b1grs7w01dcmw8s"; + version = "0.7.5"; + sha256 = "0hdyi49zp2yr4h4wgngl8ajrss1p309c3pn0alj543yrh33bnqq0"; 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 710605c52e3..93d4bb8a6da 100644 --- a/pkgs/development/libraries/haskell/GlomeVec/default.nix +++ b/pkgs/development/libraries/haskell/GlomeVec/default.nix @@ -1,9 +1,10 @@ -{ cabal }: +{ cabal, llvm }: cabal.mkDerivation (self: { pname = "GlomeVec"; version = "0.2"; sha256 = "08hyiadkbkmcsd1g51xvxqzp6l94hnqqbz4r6yk0zk29iawq8610"; + buildTools = [ llvm ]; meta = { homepage = "http://www.haskell.org/haskellwiki/Glome"; description = "Simple 3D vector library"; diff --git a/pkgs/development/libraries/haskell/HSH/default.nix b/pkgs/development/libraries/haskell/HSH/default.nix index 107e3df979b..bcc29781210 100644 --- a/pkgs/development/libraries/haskell/HSH/default.nix +++ b/pkgs/development/libraries/haskell/HSH/default.nix @@ -1,5 +1,5 @@ { cabal, filepath, hslogger, MissingH, mtl, regexBase, regexCompat -, regexPosix, fetchurl +, regexPosix, fetchpatch }: cabal.mkDerivation (self: { @@ -11,7 +11,7 @@ cabal.mkDerivation (self: { buildDepends = [ filepath hslogger MissingH mtl regexBase regexCompat regexPosix ]; - patches = [ (fetchurl { url = "https://github.com/jgoerzen/hsh/pull/10.patch"; sha256 = "0fw2ihl4hlncggwf3v4d7aydm3rzgzpcxplfbwq7janysix4q950"; }) ]; + patches = [ (fetchpatch { url = "https://github.com/jgoerzen/hsh/pull/10.patch"; sha256 = "0ddb3vf8ipf37zg4hkqh0frff1a7sv9ils3lw6qd3irpbwna1hdz"; }) ]; meta = { homepage = "http://software.complete.org/hsh"; description = "Library to mix shell scripting with Haskell programs"; diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix index aeb80822f61..4ef4c4d7519 100644 --- a/pkgs/development/libraries/haskell/HTF/default.nix +++ b/pkgs/development/libraries/haskell/HTF/default.nix @@ -17,6 +17,7 @@ cabal.mkDerivation (self: { aeson filepath mtl random regexCompat temporary text unorderedContainers ]; + doCheck = false; meta = { homepage = "https://github.com/skogsbaer/HTF/"; description = "The Haskell Test Framework"; diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.12.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.12.nix deleted file mode 100644 index b42703a403f..00000000000 --- a/pkgs/development/libraries/haskell/HTTP/4000.2.12.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ cabal, caseInsensitive, conduit, deepseq, httpdShed, httpTypes -, HUnit, mtl, network, parsec, pureMD5, split, testFramework -, testFrameworkHunit, wai, warp -}: - -cabal.mkDerivation (self: { - pname = "HTTP"; - version = "4000.2.12"; - sha256 = "0zaynz8s70xzqxxrr8yjxwc7qspd4q2ig1vqjz1p4qqm72rs3jwl"; - buildDepends = [ mtl network parsec ]; - testDepends = [ - caseInsensitive conduit deepseq httpdShed httpTypes HUnit mtl - network pureMD5 split testFramework testFrameworkHunit wai warp - ]; - jailbreak = true; - doCheck = false; - meta = { - homepage = "https://github.com/haskell/HTTP"; - description = "A library for client-side HTTP"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.15.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.15.nix new file mode 100644 index 00000000000..8e51ad6d2b5 --- /dev/null +++ b/pkgs/development/libraries/haskell/HTTP/4000.2.15.nix @@ -0,0 +1,24 @@ +{ cabal, caseInsensitive, conduit, conduitExtra, deepseq, httpdShed +, httpTypes, HUnit, mtl, network, parsec, pureMD5, split +, testFramework, testFrameworkHunit, wai, warp +}: + +cabal.mkDerivation (self: { + pname = "HTTP"; + version = "4000.2.15"; + sha256 = "1bw79hq5nzx1gab9p3d3szr0wkiv9zvf2ld9d4i48z6fnmil4qwj"; + buildDepends = [ mtl network parsec ]; + testDepends = [ + caseInsensitive conduit conduitExtra deepseq httpdShed httpTypes + HUnit mtl network pureMD5 split testFramework testFrameworkHunit + wai warp + ]; + doCheck = false; + noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11"; + meta = { + homepage = "https://github.com/haskell/HTTP"; + description = "A library for client-side HTTP"; + 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 deleted file mode 100644 index faaed63399a..00000000000 --- a/pkgs/development/libraries/haskell/Hipmunk/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, StateVar, transformers }: - -cabal.mkDerivation (self: { - pname = "Hipmunk"; - version = "5.2.0.13"; - sha256 = "0ddf7cbwaswyszq9rs5jq353npbry8l2cc7p5wq9wq97yplz10bc"; - buildDepends = [ StateVar transformers ]; - meta = { - homepage = "https://github.com/meteficha/Hipmunk"; - description = "A Haskell binding for Chipmunk"; - license = "unknown"; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/HsSyck/default.nix b/pkgs/development/libraries/haskell/HsSyck/0.51.nix similarity index 87% rename from pkgs/development/libraries/haskell/HsSyck/default.nix rename to pkgs/development/libraries/haskell/HsSyck/0.51.nix index 1c10075d13c..3033eb7b19d 100644 --- a/pkgs/development/libraries/haskell/HsSyck/default.nix +++ b/pkgs/development/libraries/haskell/HsSyck/0.51.nix @@ -9,6 +9,5 @@ cabal.mkDerivation (self: { description = "Fast, lightweight YAML loader and dumper"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; }; }) diff --git a/pkgs/development/libraries/haskell/HsSyck/0.52.nix b/pkgs/development/libraries/haskell/HsSyck/0.52.nix new file mode 100644 index 00000000000..2340c339ea7 --- /dev/null +++ b/pkgs/development/libraries/haskell/HsSyck/0.52.nix @@ -0,0 +1,14 @@ +{ cabal, hashtables, syb, utf8String }: + +cabal.mkDerivation (self: { + pname = "HsSyck"; + version = "0.52"; + sha256 = "1hdckbm60pzmydaz4rsw3kz9byd205987jcddakyhmgfinzvqwvc"; + buildDepends = [ hashtables syb utf8String ]; + meta = { + description = "Fast, lightweight YAML loader and dumper"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/JsContracts/default.nix b/pkgs/development/libraries/haskell/JsContracts/default.nix deleted file mode 100644 index 713e67fbf60..00000000000 --- a/pkgs/development/libraries/haskell/JsContracts/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ cabal, filepath, mtl, parsec, syb, WebBits, WebBitsHtml }: - -cabal.mkDerivation (self: { - pname = "JsContracts"; - version = "0.5.3"; - sha256 = "17l6kdpdc7lrpd9j4d2b6vklkpclshcjy6hzpi442b7pj96sn589"; - isLibrary = true; - isExecutable = true; - buildDepends = [ filepath mtl parsec syb WebBits WebBitsHtml ]; - meta = { - homepage = "http://www.cs.brown.edu/research/plt/"; - description = "Design-by-contract for JavaScript"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix b/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix new file mode 100644 index 00000000000..844d512c62f --- /dev/null +++ b/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix @@ -0,0 +1,14 @@ +{ cabal, JuicyPixels, vector }: + +cabal.mkDerivation (self: { + pname = "JuicyPixels-util"; + version = "0.1"; + sha256 = "181wryax2k43qlblink9vcg2hk8f2qxn02ifmgxa2fl95z5ar0dc"; + buildDepends = [ JuicyPixels vector ]; + meta = { + homepage = "https://github.com/fumieval/JuicyPixels-util"; + description = "Convert JuicyPixel images into RGBA format, flip, trim and so on"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix index 95831927a30..414118f33c9 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.5"; - sha256 = "1dcqqmj7skx17mwaf0sayqdknnz9w6q2y8z3c8ixmbjyg4jh6a66"; + version = "3.1.5.2"; + sha256 = "0afw7kwyaqw2lwgrdc1mamz45vmqy471fgsyvn9rhla8znr3a9nq"; buildDepends = [ binary deepseq mtl primitive transformers vector zlib ]; diff --git a/pkgs/development/libraries/haskell/ListLike/default.nix b/pkgs/development/libraries/haskell/ListLike/default.nix index a9723721e1e..03c8853cfd7 100644 --- a/pkgs/development/libraries/haskell/ListLike/default.nix +++ b/pkgs/development/libraries/haskell/ListLike/default.nix @@ -1,11 +1,11 @@ -{ cabal, HUnit, QuickCheck, random, text, vector }: +{ cabal, dlist, fmlist, HUnit, QuickCheck, random, text, vector }: cabal.mkDerivation (self: { pname = "ListLike"; - version = "4.0.2"; - sha256 = "1ggh8yndnsmccgsl11fia4v2cad0vq3clibgh0311r3c43mwvnah"; - buildDepends = [ text vector ]; - testDepends = [ HUnit QuickCheck random text vector ]; + version = "4.1.0"; + sha256 = "0j78mm9vsl3scwgqp4h2bhq54hf22bxj9cg9pl26d12zw7038kwj"; + buildDepends = [ dlist fmlist text vector ]; + testDepends = [ dlist fmlist HUnit QuickCheck random text vector ]; jailbreak = true; meta = { homepage = "http://software.complete.org/listlike"; diff --git a/pkgs/development/libraries/haskell/NanoProlog/default.nix b/pkgs/development/libraries/haskell/NanoProlog/default.nix deleted file mode 100644 index 490aeb4167b..00000000000 --- a/pkgs/development/libraries/haskell/NanoProlog/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ cabal, ListLike, uuParsinglib }: - -cabal.mkDerivation (self: { - pname = "NanoProlog"; - version = "0.3"; - sha256 = "0wjjwzzc78sj7nsaq1hgxiwv0pc069mxns425lhmrlxcm0vf8fmn"; - isLibrary = true; - isExecutable = true; - buildDepends = [ ListLike uuParsinglib ]; - meta = { - description = "Very small interpreter for a Prolog-like language"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/OpenGL/2.9.1.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix similarity index 84% rename from pkgs/development/libraries/haskell/OpenGL/2.9.1.0.nix rename to pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix index 6f79b5c7a06..c012c65d522 100644 --- a/pkgs/development/libraries/haskell/OpenGL/2.9.1.0.nix +++ b/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "OpenGL"; - version = "2.9.1.0"; - sha256 = "09xzjaa9qyh7bfsnq226v9zi6lhnalhmlqlca3808hgax8ijwhp3"; + version = "2.9.2.0"; + sha256 = "1sa5jmhj0az6sik6swv2vgzhv9gj34dbq2px23ag1a4yrk5gcn0p"; buildDepends = [ GLURaw OpenGLRaw text ]; extraLibraries = [ libX11 mesa ]; meta = { diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix new file mode 100644 index 00000000000..f0e6c7ac7ad --- /dev/null +++ b/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix @@ -0,0 +1,15 @@ +{ cabal, mesa }: + +cabal.mkDerivation (self: { + pname = "OpenGLRaw"; + version = "1.5.0.0"; + sha256 = "04lsidv82fl7yb2fnqpx7q0vgiwxbswh8g7dv9q9s9i2jwiaaal5"; + extraLibraries = [ mesa ]; + meta = { + homepage = "http://www.haskell.org/haskellwiki/Opengl"; + description = "A raw binding for the OpenGL graphics system"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/Pathfinder/default.nix b/pkgs/development/libraries/haskell/Pathfinder/default.nix deleted file mode 100644 index 19d7d8abaa5..00000000000 --- a/pkgs/development/libraries/haskell/Pathfinder/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, libxml2, text }: - -cabal.mkDerivation (self: { - pname = "Pathfinder"; - version = "0.5.10"; - sha256 = "1k38p73jnkfcmmz94iqpzg2g6apsxflidvy8p9lwqyzfmg70brqf"; - buildDepends = [ text ]; - extraLibraries = [ libxml2 ]; - meta = { - description = "Relational optimiser and code generator"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix index b3acd535d8f..fafea2eb7d1 100644 --- a/pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix +++ b/pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix @@ -6,6 +6,7 @@ cabal.mkDerivation (self: { sha256 = "196pz0b32m84ydwm4wk7m8512bmsxw7nsqpxbyfxsyi3ykq220yh"; buildDepends = [ random tfRandom ]; testDepends = [ testFramework ]; + noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11"; meta = { homepage = "http://code.haskell.org/QuickCheck"; description = "Automatic testing of Haskell programs"; diff --git a/pkgs/development/libraries/haskell/RepLib/default.nix b/pkgs/development/libraries/haskell/RepLib/default.nix index 15cba0c0b28..89e13f1eddc 100644 --- a/pkgs/development/libraries/haskell/RepLib/default.nix +++ b/pkgs/development/libraries/haskell/RepLib/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "RepLib"; - version = "0.5.3.1"; - sha256 = "0lc1ma6h5wdfl4crnvg1vyvlx4xvps4l2nwb9dl6nyspmpjad807"; + version = "0.5.3.3"; + sha256 = "1772r6rfajcn622dxwy9z1bvv53l5xj6acbcv8n9p7h01fs52mpr"; buildDepends = [ mtl typeEquality ]; meta = { homepage = "http://code.google.com/p/replib/"; diff --git a/pkgs/development/libraries/haskell/SafeSemaphore/default.nix b/pkgs/development/libraries/haskell/SafeSemaphore/default.nix index 20c879e0dc4..6e5e0bf4038 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.10.0"; - sha256 = "0zjm99jqkbn99p5d3mdggij4b4jfpz4fk1rwpd48ld4vmzzqh92c"; + version = "0.10.1"; + sha256 = "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"; buildDepends = [ stm ]; testDepends = [ HUnit ]; meta = { diff --git a/pkgs/development/libraries/haskell/Strafunski-StrategyLib/default.nix b/pkgs/development/libraries/haskell/Strafunski-StrategyLib/default.nix index b7b8b6336e6..3bcdb30fd12 100644 --- a/pkgs/development/libraries/haskell/Strafunski-StrategyLib/default.nix +++ b/pkgs/development/libraries/haskell/Strafunski-StrategyLib/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "5.0.0.3"; sha256 = "1s7410dfzkqd9j8n5g92pvh9rwglngj3ca9ipcr6xsq0n6yhs51y"; buildDepends = [ mtl syb ]; + jailbreak = true; meta = { description = "Library for strategic programming"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/Unixutils/default.nix b/pkgs/development/libraries/haskell/Unixutils/default.nix new file mode 100644 index 00000000000..37c1aaf6cef --- /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/WebBits-Html/1.0.1.nix b/pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix deleted file mode 100644 index d69ac78b83d..00000000000 --- a/pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, mtl, parsec, syb, WebBits }: - -cabal.mkDerivation (self: { - pname = "WebBits-Html"; - version = "1.0.1"; - sha256 = "134rmm5ccfsjdr0pdwn2mf81l81rgxapa3wjjfjkxrkxq6hav35n"; - buildDepends = [ mtl parsec syb WebBits ]; - meta = { - homepage = "http://www.cs.brown.edu/research/plt/"; - description = "JavaScript analysis tools"; - license = "LGPL"; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix b/pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix deleted file mode 100644 index 26f14a08774..00000000000 --- a/pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, mtl, parsec, syb, WebBits }: - -cabal.mkDerivation (self: { - pname = "WebBits-Html"; - version = "1.0.2"; - sha256 = "18dd52970cd27kra4l89vvrx2mrdbqd4w4f76xrq3142daxsagal"; - buildDepends = [ mtl parsec syb WebBits ]; - meta = { - homepage = "http://www.cs.brown.edu/research/plt/"; - description = "JavaScript analysis tools"; - license = "LGPL"; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/WebBits/1.0.nix b/pkgs/development/libraries/haskell/WebBits/1.0.nix deleted file mode 100644 index 49bcd8ed112..00000000000 --- a/pkgs/development/libraries/haskell/WebBits/1.0.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, mtl, parsec, syb }: - -cabal.mkDerivation (self: { - pname = "WebBits"; - version = "1.0"; - sha256 = "1xqk4ajywlaq9nb9a02i7c25na5p2qbpc2k9zw93gbapppjiapsc"; - buildDepends = [ mtl parsec syb ]; - meta = { - homepage = "http://www.cs.brown.edu/research/plt/"; - description = "JavaScript analysis tools"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/WebBits/2.0.nix b/pkgs/development/libraries/haskell/WebBits/2.0.nix deleted file mode 100644 index 0638ce06ef9..00000000000 --- a/pkgs/development/libraries/haskell/WebBits/2.0.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, mtl, parsec, syb }: - -cabal.mkDerivation (self: { - pname = "WebBits"; - version = "2.0"; - sha256 = "14a1rqlq925f6rdbi8yx44xszj5pvskcmw1gi1bj8hbilgmlwi7f"; - buildDepends = [ mtl parsec syb ]; - meta = { - homepage = "http://www.cs.brown.edu/research/plt/"; - description = "JavaScript analysis tools"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/WebBits/2.2.nix b/pkgs/development/libraries/haskell/WebBits/2.2.nix deleted file mode 100644 index 4240d7b9ce9..00000000000 --- a/pkgs/development/libraries/haskell/WebBits/2.2.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, mtl, parsec, syb }: - -cabal.mkDerivation (self: { - pname = "WebBits"; - version = "2.2"; - sha256 = "1frmnjbpgm76dzs1p4766fb6isqc3pxv4dnj8sdhnfliv5j0xv2z"; - buildDepends = [ mtl parsec syb ]; - meta = { - homepage = "http://github.com/brownplt/webbits"; - description = "JavaScript analysis tools"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/X11/default.nix b/pkgs/development/libraries/haskell/X11/default.nix index c304a58b9a5..64c6d50c609 100644 --- a/pkgs/development/libraries/haskell/X11/default.nix +++ b/pkgs/development/libraries/haskell/X11/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "X11"; - version = "1.6.1.1"; - sha256 = "1bkfnxcmf8qia0l3x5n3j4f1zakjwnlq0mhdnbpp6v3q2g37brbw"; + version = "1.6.1.2"; + sha256 = "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj"; buildDepends = [ dataDefault ]; extraLibraries = [ libX11 libXext libXinerama libXrandr libXrender diff --git a/pkgs/development/libraries/haskell/acid-state/default.nix b/pkgs/development/libraries/haskell/acid-state/default.nix index 8b9bce21d73..066532d117a 100644 --- a/pkgs/development/libraries/haskell/acid-state/default.nix +++ b/pkgs/development/libraries/haskell/acid-state/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "acid-state"; - version = "0.12.1"; - sha256 = "0smqhj4layckdsm8xjz1rwgpcqwm5xj2vr8g4i463vgq776fl0q6"; + version = "0.12.2"; + sha256 = "0hwi2254bj84djxmah23vy3xw8binh75fsn8ac6y89rwc8i35w1f"; buildDepends = [ cereal extensibleExceptions filepath mtl network safecopy stm ]; diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix index 7bfb0a045ee..b9488bbcf61 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.12"; - sha256 = "0ra0wnpyc23sz2w9qk6afcxsrva55nv9vyv70dvw6xhc82vi3khs"; + version = "0.1.0.14"; + sha256 = "0ibigflx3krmf7gw0zqmqx73rw1p62cwjyl26rxbj5vzbl3bdb4g"; buildDepends = [ newtype semigroupoids semigroups vectorSpace ]; testDepends = [ newtype QuickCheck semigroupoids semigroups vectorSpace diff --git a/pkgs/development/libraries/haskell/aes/default.nix b/pkgs/development/libraries/haskell/aes/default.nix index 6b239bd4e77..6ffa795929f 100644 --- a/pkgs/development/libraries/haskell/aes/default.nix +++ b/pkgs/development/libraries/haskell/aes/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "AES"; - version = "0.2.8"; - sha256 = "1yf0mhmj294gf1b1m11gixa1xxlbvv0yl60b59fnv5lf0s170jn3"; + version = "0.2.9"; + sha256 = "12n484dpjr08910ni1vvw030g9p37lz68l5lw0212rvklkva6wzc"; buildDepends = [ cereal monadsTf random transformers ]; meta = { description = "Fast AES encryption/decryption for bytestrings"; diff --git a/pkgs/development/libraries/haskell/aeson-qq/default.nix b/pkgs/development/libraries/haskell/aeson-qq/default.nix new file mode 100644 index 00000000000..1da43428f12 --- /dev/null +++ b/pkgs/development/libraries/haskell/aeson-qq/default.nix @@ -0,0 +1,15 @@ +{ cabal, aeson, haskellSrcMeta, hspec, parsec, text, vector }: + +cabal.mkDerivation (self: { + pname = "aeson-qq"; + version = "0.7.0"; + sha256 = "1sq34pnwiyf5lngqph4m463ijr185akzbrdi3i40zmqlrymssv3c"; + buildDepends = [ aeson haskellSrcMeta parsec text vector ]; + testDepends = [ aeson hspec ]; + meta = { + homepage = "http://github.com/zalora/aeson-qq"; + description = "JSON quasiquoter for Haskell"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix new file mode 100644 index 00000000000..b5c959bb617 --- /dev/null +++ b/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix @@ -0,0 +1,25 @@ +{ 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.7.0.4"; + sha256 = "009grccll41mkf7rarpcrn06l8vc0q0y8l4j9nbdfcl89153rj2k"; + buildDepends = [ + attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb + text time unorderedContainers vector + ]; + testDepends = [ + attoparsec HUnit QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 text time unorderedContainers vector + ]; + meta = { + homepage = "https://github.com/bos/aeson"; + description = "Fast JSON parsing and encoding"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/aeson/default.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix similarity index 90% rename from pkgs/development/libraries/haskell/aeson/default.nix rename to pkgs/development/libraries/haskell/aeson/0.7.0.6.nix index 960314920a1..96a93b40195 100644 --- a/pkgs/development/libraries/haskell/aeson/default.nix +++ b/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "aeson"; - version = "0.7.0.2"; - sha256 = "0li89xs4dlwc3ijs6w5gabjibj09x12qgxhzp7mch6gxjxwd3ihj"; + version = "0.7.0.6"; + sha256 = "0vsf9msz9iv7xvsnys5c0kbkldb0pvhiai02vz50b0d1kdsk2mb4"; buildDepends = [ attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb text time unorderedContainers vector diff --git a/pkgs/development/libraries/haskell/alsa-mixer/default.nix b/pkgs/development/libraries/haskell/alsa-mixer/default.nix index 35cc7aa0c93..2b3961f5cf1 100644 --- a/pkgs/development/libraries/haskell/alsa-mixer/default.nix +++ b/pkgs/development/libraries/haskell/alsa-mixer/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "alsa-mixer"; - version = "0.2.0.1"; - sha256 = "1306kw4w85d3pkdqjw8cwx77a2mbhw2hlmxcjczym1nsyp4rhyhr"; + version = "0.2.0.2"; + sha256 = "11sc2n879a8rb9yz54cb8vg8rplgapbymzy785p7n7638xx877hk"; buildDepends = [ alsaCore ]; buildTools = [ c2hs ]; extraLibraries = [ alsaLib ]; diff --git a/pkgs/development/libraries/haskell/alsa-pcm/default.nix b/pkgs/development/libraries/haskell/alsa-pcm/default.nix index c4f39cdd7ee..7ac221299fd 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.0.1"; - sha256 = "0gnq4p172sqmlks6aykzr5l2qx2shrs2fypcvs4g56c9zpk3c3ax"; + version = "0.6.0.2"; + sha256 = "0zckp83wdqb6nl2k63fapa5h4vf1xyvbaycd0ixwr9k7mw75q7b9"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/amqp/default.nix b/pkgs/development/libraries/haskell/amqp/default.nix index 15079a5ba39..8256ff54e19 100644 --- a/pkgs/development/libraries/haskell/amqp/default.nix +++ b/pkgs/development/libraries/haskell/amqp/default.nix @@ -1,21 +1,23 @@ { cabal, binary, clock, connection, dataBinaryIeee754, hspec -, hspecExpectations, monadControl, network, split, text, xml +, hspecExpectations, monadControl, network, split, text, vector +, xml }: cabal.mkDerivation (self: { pname = "amqp"; - version = "0.8.2"; - sha256 = "0hl9x6kbxdv32014k1w34d84wl4ivpiyg1ikpjr0nr9bsg3wr0gf"; + version = "0.8.3"; + sha256 = "0gl5vdhbic8llhbqmhnwj0wvykhbrci6zz53v5cayqfcwi1v1dw2"; isLibrary = true; isExecutable = true; buildDepends = [ binary clock connection dataBinaryIeee754 monadControl network - split text xml + split text vector xml ]; testDepends = [ binary clock connection dataBinaryIeee754 hspec hspecExpectations - network split text + network split text vector ]; + doCheck = false; meta = { homepage = "https://github.com/hreinhardt/amqp"; description = "Client library for AMQP servers (currently only RabbitMQ)"; diff --git a/pkgs/development/libraries/haskell/arithmoi/default.nix b/pkgs/development/libraries/haskell/arithmoi/default.nix index 082745fadf0..e4d1f522bc1 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.4"; - sha256 = "1v8qn0gjvlds6ljm9sfzzi5w3gsf7x63z0r7hcs1rvn0n3acwz6y"; + version = "0.4.1.0"; + sha256 = "1xmwxmvl9l1fa2sgr4ff7al8b5d5136h4fq9r05abj3nfnx1a0iq"; buildDepends = [ mtl random ]; meta = { homepage = "https://bitbucket.org/dafis/arithmoi"; diff --git a/pkgs/development/libraries/haskell/async/2.0.1.3.nix b/pkgs/development/libraries/haskell/async/2.0.1.3.nix index 1b943208dea..a17e1fb8686 100644 --- a/pkgs/development/libraries/haskell/async/2.0.1.3.nix +++ b/pkgs/development/libraries/haskell/async/2.0.1.3.nix @@ -6,6 +6,7 @@ cabal.mkDerivation (self: { sha256 = "1rbjr6xw5sp8npw17fxg0942kikssv2hyci2sy26r0na98483mkh"; buildDepends = [ stm ]; testDepends = [ HUnit testFramework testFrameworkHunit ]; + jailbreak = true; meta = { homepage = "https://github.com/simonmar/async"; description = "Run IO operations asynchronously and wait for their results"; diff --git a/pkgs/development/libraries/haskell/atomic-primops/default.nix b/pkgs/development/libraries/haskell/atomic-primops/default.nix index c5bc0dd2b47..59d02ce7649 100644 --- a/pkgs/development/libraries/haskell/atomic-primops/default.nix +++ b/pkgs/development/libraries/haskell/atomic-primops/default.nix @@ -1,10 +1,10 @@ -{ cabal, Cabal, primitive }: +{ cabal, primitive }: cabal.mkDerivation (self: { pname = "atomic-primops"; - version = "0.6"; - sha256 = "0jj4mv9vzk7s257gnjs00fza6shr7j9bv8p48gj61yncg0qdypiz"; - buildDepends = [ Cabal primitive ]; + version = "0.6.0.5"; + sha256 = "0xyvadhmhk2b6y6p52cfbjx1hs3zfcwfa5wx6cypaq4yi3csyl5k"; + buildDepends = [ primitive ]; meta = { homepage = "https://github.com/rrnewton/haskell-lockfree/wiki"; description = "A safe approach to CAS and other atomic ops in Haskell"; diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix new file mode 100644 index 00000000000..84e7f6147a7 --- /dev/null +++ b/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix @@ -0,0 +1,21 @@ +{ cabal, deepseq, QuickCheck, scientific, testFramework +, testFrameworkQuickcheck2, text +}: + +cabal.mkDerivation (self: { + pname = "attoparsec"; + version = "0.11.3.1"; + sha256 = "0mmyab3a9mgmfxj1kc7xgxkmmcdj90ph9nzniv7bf2vyf8vhvirl"; + buildDepends = [ deepseq scientific text ]; + testDepends = [ + QuickCheck testFramework testFrameworkQuickcheck2 text + ]; + jailbreak = true; + meta = { + homepage = "https://github.com/bos/attoparsec"; + description = "Fast combinator parsing for bytestrings and text"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.2.1.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix similarity index 86% rename from pkgs/development/libraries/haskell/attoparsec/0.11.2.1.nix rename to pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix index 2a2117a1a05..4af501e7dca 100644 --- a/pkgs/development/libraries/haskell/attoparsec/0.11.2.1.nix +++ b/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "attoparsec"; - version = "0.11.2.1"; - sha256 = "1grvmhxiqn02wbng0wd9zqc4c51wrbxar1b26agc3p9i09ngbs1w"; + version = "0.11.3.4"; + sha256 = "1zahmkb0n7jz0di35x3r8s0xnfg1awqybh2x2zicxbwazl4f53hi"; buildDepends = [ deepseq scientific text ]; testDepends = [ QuickCheck testFramework testFrameworkQuickcheck2 text diff --git a/pkgs/development/libraries/haskell/base-compat/default.nix b/pkgs/development/libraries/haskell/base-compat/default.nix index 5ee81698eb5..83cde5c0512 100644 --- a/pkgs/development/libraries/haskell/base-compat/default.nix +++ b/pkgs/development/libraries/haskell/base-compat/default.nix @@ -1,11 +1,11 @@ -{ cabal, errorcallEqInstance, hspec, setenv }: +{ cabal, errorcallEqInstance, hspec, QuickCheck, setenv }: cabal.mkDerivation (self: { pname = "base-compat"; - version = "0.4.2"; - sha256 = "0rcra6bgx955c2yd52y6v7lmlm5r86sdmii3qapx6yghqhdslzry"; + version = "0.5.0"; + sha256 = "1zlpfpfnaqf8rrha19arh882bc560dcw2zwi4j3qrn3lzyh8s1d1"; buildDepends = [ errorcallEqInstance setenv ]; - testDepends = [ hspec setenv ]; + testDepends = [ hspec QuickCheck ]; meta = { description = "A compatibility layer for base"; license = self.stdenv.lib.licenses.mit; diff --git a/pkgs/development/libraries/haskell/bifunctors/default.nix b/pkgs/development/libraries/haskell/bifunctors/default.nix index 5d13f3a384e..df15bd93a40 100644 --- a/pkgs/development/libraries/haskell/bifunctors/default.nix +++ b/pkgs/development/libraries/haskell/bifunctors/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "bifunctors"; - version = "4.1.1"; - sha256 = "0apdnhfqn3xyi99d5ybc51y2i0gpxix5hlaqxgpbzr4b0zkk7c4w"; + version = "4.1.1.1"; + sha256 = "0b31q6ypndaj6fa9cnkld5k0x3lncp9i28vfkkh6vv4jnnjd6pqi"; buildDepends = [ semigroupoids semigroups tagged ]; meta = { homepage = "http://github.com/ekmett/bifunctors/"; diff --git a/pkgs/development/libraries/haskell/binary/0.6.0.0.nix b/pkgs/development/libraries/haskell/binary/0.6.1.0.nix similarity index 77% rename from pkgs/development/libraries/haskell/binary/0.6.0.0.nix rename to pkgs/development/libraries/haskell/binary/0.6.1.0.nix index 01e909212e8..f378b8d7c41 100644 --- a/pkgs/development/libraries/haskell/binary/0.6.0.0.nix +++ b/pkgs/development/libraries/haskell/binary/0.6.1.0.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "binary"; - version = "0.6.0.0"; - sha256 = "0p72w7f9nn19g2wggsh8x4z7y9s174f3drz9a5ln4x7h554swcxv"; + version = "0.6.1.0"; + sha256 = "0d423k37973f5v9mz9401zmsfdgspnf9h6s9xgr3zh19giz7c3js"; meta = { homepage = "https://github.com/kolmodin/binary"; description = "Binary serialisation for Haskell values using lazy ByteStrings"; diff --git a/pkgs/development/libraries/haskell/binary/0.7.1.0.nix b/pkgs/development/libraries/haskell/binary/0.7.2.1.nix similarity index 86% rename from pkgs/development/libraries/haskell/binary/0.7.1.0.nix rename to pkgs/development/libraries/haskell/binary/0.7.2.1.nix index 245c80ef1cc..bf91922835d 100644 --- a/pkgs/development/libraries/haskell/binary/0.7.1.0.nix +++ b/pkgs/development/libraries/haskell/binary/0.7.2.1.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "binary"; - version = "0.7.1.0"; - sha256 = "16cb94z57ijw0q3h5p8jbvrv1vmnchsfjhrzvh3gdm3wf75fy8ln"; + version = "0.7.2.1"; + sha256 = "0s0idmcmribgajxxnxdvppnz62qyxwrj9iy34pi7nvm41gj6q5nz"; testDepends = [ Cabal filepath HUnit QuickCheck random testFramework testFrameworkQuickcheck2 diff --git a/pkgs/development/libraries/haskell/bindings-GLFW/default.nix b/pkgs/development/libraries/haskell/bindings-GLFW/default.nix new file mode 100644 index 00000000000..a5fef2474a7 --- /dev/null +++ b/pkgs/development/libraries/haskell/bindings-GLFW/default.nix @@ -0,0 +1,20 @@ +{ cabal, bindingsDSL, HUnit, libX11, libXext, libXfixes, libXi +, libXrandr, libXxf86vm, mesa, testFramework, testFrameworkHunit +}: + +cabal.mkDerivation (self: { + pname = "bindings-GLFW"; + version = "3.0.3.2"; + sha256 = "1w4y2ha5x678fiyan79jd59mjrkf4q25v8049sj20fbmabgdqla9"; + buildDepends = [ bindingsDSL ]; + testDepends = [ HUnit testFramework testFrameworkHunit ]; + extraLibraries = [ + libX11 libXext libXfixes libXi libXrandr libXxf86vm mesa + ]; + doCheck = false; + meta = { + description = "Low-level bindings to GLFW OpenGL library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix index 81b00235673..d061ecf5486 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.7.0.1"; - sha256 = "05z0a6x49f56bazkcdxpdi2a7pyzsiv7qc72grcz9sqjz1d6yagh"; + version = "0.7.0.2"; + sha256 = "0yqgm5nrryx0qlz9qhpbfxvkwjdbl9876v4gnn0src81j9dzcx2v"; 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 904808b78c8..07dfe2eb477 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.6.0.0"; - sha256 = "1f54i570cqbyqkrsq4qd2bky88pdwg9lv84c6aaf2c21552dbvii"; + version = "0.6.1.0"; + sha256 = "0ydk34y1j8bssdiqw6m70383dh4khbcac3jd7fpr37cx7ighlp7l"; 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 0502f1eabc2..92a25e5e3b4 100644 --- a/pkgs/development/libraries/haskell/blaze-svg/default.nix +++ b/pkgs/development/libraries/haskell/blaze-svg/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "blaze-svg"; - version = "0.3.3.1"; - sha256 = "00i0apyklvmkr4w30d4r86gcg86h35sc3ncvqax70827126cdmsj"; + version = "0.3.4"; + sha256 = "061011qrpqiyag9549hn0hfikvkrin5wb3cf0zfm9n80cgvzmqd3"; buildDepends = [ blazeMarkup mtl ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/bmp/default.nix b/pkgs/development/libraries/haskell/bmp/default.nix index 6c85c9349c9..63a86d82bb6 100644 --- a/pkgs/development/libraries/haskell/bmp/default.nix +++ b/pkgs/development/libraries/haskell/bmp/default.nix @@ -5,7 +5,6 @@ cabal.mkDerivation (self: { version = "1.2.5.2"; sha256 = "0f88f2ynm1fpzbjijy5fa8blfrdv42h5h28hfjlpd4fp0h96in5x"; buildDepends = [ binary ]; - jailbreak = true; meta = { homepage = "http://code.ouroborus.net/bmp"; description = "Read and write uncompressed BMP image files"; diff --git a/pkgs/development/libraries/haskell/bool-extras/default.nix b/pkgs/development/libraries/haskell/bool-extras/default.nix new file mode 100644 index 00000000000..20185638b59 --- /dev/null +++ b/pkgs/development/libraries/haskell/bool-extras/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "bool-extras"; + version = "0.4.0"; + sha256 = "008m43f04ncx2c24c241gzwjyyglw8rwpq2gsakqkw0nwz3czs61"; + meta = { + homepage = "http://tom.lokhorst.eu/bool-extras"; + description = "A fold function for Bool"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix new file mode 100644 index 00000000000..3dfd986ee62 --- /dev/null +++ b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix @@ -0,0 +1,21 @@ +{ cabal, lens, linear, QuickCheck, random, testFramework +, testFrameworkQuickcheck2, testFrameworkTh +}: + +cabal.mkDerivation (self: { + pname = "boundingboxes"; + version = "0.1.1"; + sha256 = "1nl0lqgfwd98jzhhw7i4vvd88lpnn8770x2pcbyfzqcyr27079f0"; + buildDepends = [ lens linear ]; + testDepends = [ + lens linear QuickCheck random testFramework + testFrameworkQuickcheck2 testFrameworkTh + ]; + doCheck = false; + meta = { + homepage = "https://github.com/fumieval/boundingboxes"; + description = "The type for 2D bounding box"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.2.nix b/pkgs/development/libraries/haskell/boundingboxes/0.2.nix new file mode 100644 index 00000000000..44c8b3fee6f --- /dev/null +++ b/pkgs/development/libraries/haskell/boundingboxes/0.2.nix @@ -0,0 +1,21 @@ +{ cabal, lens, linear, QuickCheck, random, testFramework +, testFrameworkQuickcheck2, testFrameworkTh +}: + +cabal.mkDerivation (self: { + pname = "boundingboxes"; + version = "0.2"; + sha256 = "0xvh1h4papfrf6dg553rx6q8fqi06ff1ivgn4rdx3haqg1zf40hp"; + buildDepends = [ lens ]; + testDepends = [ + lens linear QuickCheck random testFramework + testFrameworkQuickcheck2 testFrameworkTh + ]; + doCheck = false; + meta = { + homepage = "https://github.com/fumieval/boundingboxes"; + description = "The type for 2D bounding box"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/bv/default.nix b/pkgs/development/libraries/haskell/bv/default.nix new file mode 100644 index 00000000000..d99779f8cd4 --- /dev/null +++ b/pkgs/development/libraries/haskell/bv/default.nix @@ -0,0 +1,15 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "bv"; + version = "0.2.2"; + sha256 = "0d5hscjakp7dwifa4l8xikyip45y402kf9pbmpfmmnybja23zhg0"; + isLibrary = true; + isExecutable = true; + meta = { + homepage = "http://bitbucket.org/iago/bv-haskell"; + description = "Bit-vector arithmetic library"; + 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 00000000000..cc9f244261b --- /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 9313deaf840..efde2daedeb 100644 --- a/pkgs/development/libraries/haskell/c2hs/default.nix +++ b/pkgs/development/libraries/haskell/c2hs/default.nix @@ -1,16 +1,16 @@ { cabal, filepath, HUnit, languageC, shelly, testFramework -, testFrameworkHunit, text +, testFrameworkHunit, text, yaml }: cabal.mkDerivation (self: { pname = "c2hs"; - version = "0.16.6"; - sha256 = "1yf7mcslkf6m1nizifqva8j5sxnw87bg60dw8mfgpmqvrzpbxizm"; + version = "0.17.2"; + sha256 = "1xrk0izdy5akjgmg9k4l9ccmmgv1avwh152pfpc1xm2rrwrg4bxk"; isLibrary = false; isExecutable = true; buildDepends = [ filepath languageC ]; testDepends = [ - filepath HUnit shelly testFramework testFrameworkHunit text + filepath HUnit shelly testFramework testFrameworkHunit text yaml ]; jailbreak = true; doCheck = false; diff --git a/pkgs/development/libraries/haskell/cabal-lenses/default.nix b/pkgs/development/libraries/haskell/cabal-lenses/default.nix new file mode 100644 index 00000000000..06777aadc4d --- /dev/null +++ b/pkgs/development/libraries/haskell/cabal-lenses/default.nix @@ -0,0 +1,13 @@ +{ cabal, Cabal, lens, unorderedContainers }: + +cabal.mkDerivation (self: { + pname = "cabal-lenses"; + version = "0.1"; + sha256 = "0jss4h7crh7mndl5ghbpziy37cg9i29cc64fgxvxb63hpk0q2m17"; + buildDepends = [ Cabal lens unorderedContainers ]; + meta = { + description = "Lenses and traversals for the Cabal library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/cabal-macosx/default.nix b/pkgs/development/libraries/haskell/cabal-macosx/default.nix index 351979627cb..be59a3897c2 100644 --- a/pkgs/development/libraries/haskell/cabal-macosx/default.nix +++ b/pkgs/development/libraries/haskell/cabal-macosx/default.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { isLibrary = true; isExecutable = true; buildDepends = [ Cabal fgl filepath parsec text ]; + jailbreak = true; meta = { homepage = "http://github.com/gimbo/cabal-macosx"; description = "Cabal support for creating Mac OSX application bundles"; diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix index b5fe61c13cb..ede59ad22cd 100644 --- a/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix +++ b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix @@ -8,6 +8,7 @@ cabal.mkDerivation (self: { sha256 = "1yp8895qvxcmai0hvxdq77qss9cia2f9fyn6rm0hln3rcx8n53xm"; buildDepends = [ deepseq hashable text ]; testDepends = [ HUnit testFramework testFrameworkHunit text ]; + jailbreak = true; meta = { homepage = "https://github.com/basvandijk/case-insensitive"; description = "Case insensitive string comparison"; diff --git a/pkgs/development/libraries/haskell/cassava/default.nix b/pkgs/development/libraries/haskell/cassava/default.nix index 5127ca1c8e8..604cd9b3ed6 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.1"; - sha256 = "1lsbdhdz6hy6lfnhhp36mbjd9m0w8iv50sd9mj0dj9b4izgdav16"; + version = "0.4.0.0"; + sha256 = "0w3npv3403n9rl9nmn8ngp04js28bvsb5c4js17sy1gqgsakqdrl"; buildDepends = [ attoparsec blazeBuilder deepseq text unorderedContainers vector ]; diff --git a/pkgs/development/libraries/haskell/categories/default.nix b/pkgs/development/libraries/haskell/categories/default.nix new file mode 100644 index 00000000000..54483f17701 --- /dev/null +++ b/pkgs/development/libraries/haskell/categories/default.nix @@ -0,0 +1,14 @@ +{ cabal, void }: + +cabal.mkDerivation (self: { + pname = "categories"; + version = "1.0.6"; + sha256 = "0i5mrxbhqj5g46lvwbw2m07prjvfwja6q8648qm6bq54z6zrl5cy"; + buildDepends = [ void ]; + meta = { + homepage = "http://github.com/ekmett/categories"; + description = "Categories"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/cereal-conduit/default.nix b/pkgs/development/libraries/haskell/cereal-conduit/default.nix index fa13321fff7..56c4a01d9d8 100644 --- a/pkgs/development/libraries/haskell/cereal-conduit/default.nix +++ b/pkgs/development/libraries/haskell/cereal-conduit/default.nix @@ -2,12 +2,12 @@ cabal.mkDerivation (self: { pname = "cereal-conduit"; - version = "0.7.2.1"; - sha256 = "1qjx5y8hznpanchhjfrmi0r6vmiqsj0lh9x09n563gschs8dfisw"; + version = "0.7.2.2"; + sha256 = "1syqilka5rv2j3yp419f2wdrcfw8js6i2p7qif4yxvlkm2hkvzzk"; buildDepends = [ cereal conduit resourcet transformers ]; testDepends = [ cereal conduit HUnit mtl resourcet transformers ]; meta = { - homepage = "https://github.com/litherum/cereal-conduit"; + homepage = "https://github.com/snoyberg/conduit"; description = "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/chell-quickcheck/default.nix b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix index 835747ee881..bc5b0b4ffba 100644 --- a/pkgs/development/libraries/haskell/chell-quickcheck/default.nix +++ b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "chell-quickcheck"; - version = "0.2.2"; - sha256 = "05qshv9vcl05khxsxyks2z7dqd8dqafjsg3awkkdhviviv5p2fp8"; + version = "0.2.4"; + sha256 = "0ys6aks97y5h0n8n8dmwx8jrai4bjlnr7n69s259664y694054wd"; buildDepends = [ chell QuickCheck random ]; meta = { homepage = "https://john-millikin.com/software/chell/"; diff --git a/pkgs/development/libraries/haskell/chell/default.nix b/pkgs/development/libraries/haskell/chell/default.nix index c69994e6868..cab43842f73 100644 --- a/pkgs/development/libraries/haskell/chell/default.nix +++ b/pkgs/development/libraries/haskell/chell/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "chell"; - version = "0.3.3"; - sha256 = "1k5vxipf47753d41dgr1gr4zy7y72gz2x8lcn0fgfmxi2v810nsm"; + version = "0.4"; + sha256 = "1hynr7n7wxgc3z6zrc3xrfpiqlh4zfb3kagwwfhqmcamv9d4x0ng"; buildDepends = [ ansiTerminal options patience random text transformers ]; diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix index 5324054423b..a5bc5316b7f 100644 --- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "classy-prelude-conduit"; - version = "0.9.0"; - sha256 = "1lvi5n2km6l2saspiczpkvaq6670bp658kn83s334h6s6wlba3dz"; + version = "0.9.2"; + sha256 = "07qdhha58yl1dq4mpbyrpjwzk2yhn8dbkg2qg2yaq1j780a6dwcv"; buildDepends = [ classyPrelude conduit conduitCombinators monadControl resourcet systemFileio transformers void diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix index 4c142a23f3a..8b740ded6e7 100644 --- a/pkgs/development/libraries/haskell/classy-prelude/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix @@ -1,16 +1,16 @@ -{ cabal, basicPrelude, chunkedData, enclosedExceptions, hashable -, hspec, liftedBase, monoTraversable, QuickCheck, semigroups, stm -, systemFilepath, text, time, transformers, unorderedContainers -, vector, vectorInstances +{ cabal, basicPrelude, chunkedData, enclosedExceptions, exceptions +, hashable, hspec, liftedBase, monoTraversable, QuickCheck +, semigroups, stm, systemFilepath, text, time, transformers +, unorderedContainers, vector, vectorInstances }: cabal.mkDerivation (self: { pname = "classy-prelude"; - version = "0.9.0"; - sha256 = "1y4440jy7x9ns4kyb638f5lfa1h3vq3wwcwzkpswr8rf8f7z1bj6"; + version = "0.9.2"; + sha256 = "0n006ld2kifh2bmwgbzx282s7xxpcml9g433x132prcblw4axkgr"; buildDepends = [ - basicPrelude chunkedData enclosedExceptions hashable liftedBase - monoTraversable semigroups stm systemFilepath text time + basicPrelude chunkedData enclosedExceptions exceptions hashable + liftedBase monoTraversable semigroups stm systemFilepath text time transformers unorderedContainers vector vectorInstances ]; testDepends = [ diff --git a/pkgs/development/libraries/haskell/colors/default.nix b/pkgs/development/libraries/haskell/colors/default.nix new file mode 100644 index 00000000000..245ea3ef30e --- /dev/null +++ b/pkgs/development/libraries/haskell/colors/default.nix @@ -0,0 +1,14 @@ +{ cabal, profunctors }: + +cabal.mkDerivation (self: { + pname = "colors"; + version = "0.1.1"; + sha256 = "1i1n05prbp0l3xgx0w2lxzc5r81pcmbzclsamdr7fmjvhvh8blqm"; + buildDepends = [ profunctors ]; + meta = { + homepage = "https://github.com/fumieval/colors"; + description = "A type for colors"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/comonad/default.nix b/pkgs/development/libraries/haskell/comonad/default.nix index 92c70b55156..00b970ea112 100644 --- a/pkgs/development/libraries/haskell/comonad/default.nix +++ b/pkgs/development/libraries/haskell/comonad/default.nix @@ -1,13 +1,13 @@ -{ cabal, contravariant, distributive, doctest, filepath, mtl -, semigroups, tagged, transformers +{ cabal, contravariant, distributive, doctest, filepath, semigroups +, tagged, transformers }: cabal.mkDerivation (self: { pname = "comonad"; - version = "4.0.1"; - sha256 = "1ib3spgyjbdsnpbz4alaqb1m13v48l5dpv7s68c0mi2nyjkli7lx"; + version = "4.2"; + sha256 = "161dgmjfff85sj6yijzgzyb4dvnn1zsm3q5q96qwypynj0am5sr7"; buildDepends = [ - contravariant distributive mtl semigroups tagged transformers + contravariant distributive semigroups tagged transformers ]; testDepends = [ doctest filepath ]; meta = { diff --git a/pkgs/development/libraries/haskell/compdata/default.nix b/pkgs/development/libraries/haskell/compdata/default.nix new file mode 100644 index 00000000000..13e6fd8a2b2 --- /dev/null +++ b/pkgs/development/libraries/haskell/compdata/default.nix @@ -0,0 +1,23 @@ +{ cabal, deepseq, derive, HUnit, mtl, QuickCheck, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2, thExpandSyns +, transformers, treeView +}: + +cabal.mkDerivation (self: { + pname = "compdata"; + version = "0.8.1.0"; + sha256 = "06bsdhf40b8111k0fmfc53i5kib9n431f07qyj83pq8isgkk33xc"; + buildDepends = [ + deepseq derive mtl QuickCheck thExpandSyns transformers treeView + ]; + testDepends = [ + deepseq derive HUnit mtl QuickCheck testFramework + testFrameworkHunit testFrameworkQuickcheck2 thExpandSyns + transformers + ]; + meta = { + description = "Compositional Data Types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/composition/default.nix b/pkgs/development/libraries/haskell/composition/default.nix new file mode 100644 index 00000000000..0a870c5b353 --- /dev/null +++ b/pkgs/development/libraries/haskell/composition/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "composition"; + version = "1.0.1.0"; + sha256 = "1gx27vz2djiiwygcjaygjmiwjnls084b5v9km3jpimlz312qh5hc"; + meta = { + homepage = "http://patch-tag.com/r/DanBurton/composition/home"; + description = "Combinators for unorthodox function composition"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/compressed/default.nix b/pkgs/development/libraries/haskell/compressed/default.nix new file mode 100644 index 00000000000..40e82f62f69 --- /dev/null +++ b/pkgs/development/libraries/haskell/compressed/default.nix @@ -0,0 +1,19 @@ +{ cabal, comonad, fingertree, hashable, keys, pointed, reducers +, semigroupoids, semigroups, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "compressed"; + version = "3.10"; + sha256 = "1y290n421knfh8k8zbcabhw24hb13xj9pkxx4h4v15yji97p5mcw"; + buildDepends = [ + comonad fingertree hashable keys pointed reducers semigroupoids + semigroups unorderedContainers + ]; + meta = { + homepage = "http://github.com/ekmett/compressed/"; + description = "Compressed containers and reducers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/concurrent-extra/default.nix b/pkgs/development/libraries/haskell/concurrent-extra/default.nix index 9f97f730472..5fe73a33964 100644 --- a/pkgs/development/libraries/haskell/concurrent-extra/default.nix +++ b/pkgs/development/libraries/haskell/concurrent-extra/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "concurrent-extra"; - version = "0.7.0.6"; - sha256 = "12wq86hkgy22qydkj4fw6vb7crzv3010c2mkhsph4rdynr0v588i"; + version = "0.7.0.7"; + sha256 = "1736y8am24x29qq1016f2dvb6adavl1h46bsjfwnkw40a9djd5cr"; buildDepends = [ baseUnicodeSymbols stm unboundedDelays ]; testDepends = [ baseUnicodeSymbols HUnit stm testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/cond/default.nix b/pkgs/development/libraries/haskell/cond/default.nix new file mode 100644 index 00000000000..58efe5dd29d --- /dev/null +++ b/pkgs/development/libraries/haskell/cond/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "cond"; + version = "0.4.1"; + sha256 = "16xk8clsxv5qi5f745xvs44y8p8dnmlmjkjzwqz9jl8fbmkmki3b"; + meta = { + homepage = "https://github.com/kallisti-dev/cond"; + description = "Basic conditional and boolean operators with monadic variants"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/conduit-combinators/default.nix b/pkgs/development/libraries/haskell/conduit-combinators/default.nix index fdf5c4625fd..99ac99ebc82 100644 --- a/pkgs/development/libraries/haskell/conduit-combinators/default.nix +++ b/pkgs/development/libraries/haskell/conduit-combinators/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "conduit-combinators"; - version = "0.2.4"; - sha256 = "0pxzvxd1j48l7j2anv61bxv1accl0jc6vdf9vv0l3s2358smzwwv"; + version = "0.2.5.2"; + sha256 = "00zvai14cgh2g9wa436kfdgyfzm3pksnhzy365y1yn96dwbbh1ih"; buildDepends = [ base16Bytestring base64Bytestring chunkedData conduit conduitExtra monadControl monoTraversable mwcRandom primitive resourcet diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix index 67b4186e606..eb07ffc480f 100644 --- a/pkgs/development/libraries/haskell/conduit-extra/default.nix +++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "conduit-extra"; - version = "1.1.0"; - sha256 = "08s8nafsdkd4dwmi2vsid82z8iv178vm9jbb322ygnbpf2a9y96y"; + version = "1.1.0.3"; + sha256 = "117lirx05pgpmys6dlknkcni3znrvqyhmj6djqxnqbjcn3ynhqdk"; buildDepends = [ attoparsec blazeBuilder conduit filepath monadControl network primitive resourcet streamingCommons text transformers diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix index ac6211f2b38..94423cc41ef 100644 --- a/pkgs/development/libraries/haskell/conduit/default.nix +++ b/pkgs/development/libraries/haskell/conduit/default.nix @@ -1,19 +1,16 @@ { cabal, exceptions, hspec, liftedBase, mmorph, monadControl, mtl -, QuickCheck, resourcet, text, textStreamDecode, transformers -, transformersBase, void +, QuickCheck, resourcet, transformers, transformersBase, void }: cabal.mkDerivation (self: { pname = "conduit"; - version = "1.1.0"; - sha256 = "17y8fnvl9s3676sslhc04abs4zqh90l2rdcazxglv0sfrfsdgwnq"; + version = "1.1.3"; + sha256 = "14fc7v00zmrcwba2rdnh7c6sx0rv5mmbwlgq5p8p7nlald1dcr6z"; buildDepends = [ - exceptions liftedBase mmorph monadControl mtl resourcet text - textStreamDecode transformers transformersBase void - ]; - testDepends = [ - hspec mtl QuickCheck resourcet text transformers void + exceptions liftedBase mmorph monadControl mtl resourcet + transformers transformersBase void ]; + testDepends = [ hspec mtl QuickCheck resourcet transformers void ]; doCheck = false; meta = { homepage = "http://github.com/snoyberg/conduit"; diff --git a/pkgs/development/libraries/haskell/connection/default.nix b/pkgs/development/libraries/haskell/connection/default.nix index 69083520c18..4a2c8ff7792 100644 --- a/pkgs/development/libraries/haskell/connection/default.nix +++ b/pkgs/development/libraries/haskell/connection/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "connection"; - version = "0.2.0"; - sha256 = "17fzkgrjavmcxhdjj7agkx16jwpf6ql31nw1ni8gczkbp7azd0kp"; + version = "0.2.1"; + sha256 = "1wdjfc9lld3wkr7ncjkszmrwqp74p994ml3chymniz440xg1lxwy"; buildDepends = [ cprngAes dataDefaultClass network socks tls x509 x509Store x509System x509Validation diff --git a/pkgs/development/libraries/haskell/contravariant/default.nix b/pkgs/development/libraries/haskell/contravariant/default.nix index d38058a25de..f1372d7630b 100644 --- a/pkgs/development/libraries/haskell/contravariant/default.nix +++ b/pkgs/development/libraries/haskell/contravariant/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "contravariant"; - version = "0.4.4"; - sha256 = "1b4422wpcyvrf4r7rr8c8wa008f5ykaxs17vr4plp91rcczr87s4"; + version = "0.6"; + sha256 = "031kwn2hpw25p2q0bhfgby0ihxjbcyv6w0v0nsj2zygif9jkfrrh"; buildDepends = [ tagged transformers transformersCompat ]; meta = { homepage = "http://github.com/ekmett/contravariant/"; diff --git a/pkgs/development/libraries/haskell/control-bool/default.nix b/pkgs/development/libraries/haskell/control-bool/default.nix new file mode 100644 index 00000000000..4fe9a975f41 --- /dev/null +++ b/pkgs/development/libraries/haskell/control-bool/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "control-bool"; + version = "0.2.1"; + sha256 = "10amxm1ff7xhd8g66n65wkbb8d17n77v1nmwxkbzhrask398asp4"; + meta = { + homepage = "https://github.com/fumieval/control-bool"; + description = "Useful combinators for boolean expressions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix b/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix new file mode 100644 index 00000000000..8a79e50527d --- /dev/null +++ b/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix @@ -0,0 +1,17 @@ +{ cabal, mtl, text, time }: + +cabal.mkDerivation (self: { + pname = "convertible"; + version = "1.0.11.1"; + sha256 = "1r50a2rpfsx0s7dv8ww5xck33b1mhy73gfilffrbqd4hxjgnxlj6"; + 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/convertible/default.nix b/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix similarity index 100% rename from pkgs/development/libraries/haskell/convertible/default.nix rename to pkgs/development/libraries/haskell/convertible/1.1.0.0.nix diff --git a/pkgs/development/libraries/haskell/cookie/default.nix b/pkgs/development/libraries/haskell/cookie/default.nix index b7dae5d4a9b..423cf4c156b 100644 --- a/pkgs/development/libraries/haskell/cookie/default.nix +++ b/pkgs/development/libraries/haskell/cookie/default.nix @@ -1,10 +1,10 @@ -{ cabal, blazeBuilder, dataDefault, text, time }: +{ cabal, blazeBuilder, dataDefault, deepseq, text, time }: cabal.mkDerivation (self: { pname = "cookie"; - version = "0.4.0.1"; - sha256 = "01k5gq9kwbrivkhr1sj8aw4cgf2c1xgwwajqvd435r0g99fpx5kk"; - buildDepends = [ blazeBuilder dataDefault text time ]; + version = "0.4.1.1"; + sha256 = "1w1nh7h4kc9pr9kpi8fkrqiih37mp3gcnxf42r01nciq4sh4yi3m"; + buildDepends = [ blazeBuilder dataDefault deepseq text time ]; meta = { homepage = "http://github.com/snoyberg/cookie"; description = "HTTP cookie parsing and rendering"; diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix index e106138ef24..f1965012946 100644 --- a/pkgs/development/libraries/haskell/criterion/default.nix +++ b/pkgs/development/libraries/haskell/criterion/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "criterion"; - version = "0.8.0.2"; - sha256 = "126c3i9i88wqs5ihif4kpsc1gdqas57acd8h5jbyfqhgbwi1s7gz"; + version = "0.8.1.0"; + sha256 = "0yzrnma2whd4dnjiy4w24syxgnz1b5bflsi20hrbgd5rmx85k2zd"; buildDepends = [ aeson binary deepseq filepath Glob hastache mtl mwcRandom parsec statistics text time transformers vector vectorAlgorithms diff --git a/pkgs/development/libraries/haskell/cuda/default.nix b/pkgs/development/libraries/haskell/cuda/default.nix index e6ac9ee99ef..71825f5fbd6 100644 --- a/pkgs/development/libraries/haskell/cuda/default.nix +++ b/pkgs/development/libraries/haskell/cuda/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cuda"; - version = "0.5.1.1"; - sha256 = "0bz1pfcxxvq1s47nrwgj9cqmr20p9n3hh2hilih8083hnjjwh40x"; + version = "0.6.0.0"; + sha256 = "0zvyvk5yhwz7nl613yvfl32xnv9kgfdwbb0whyd6nrm663xa352y"; buildTools = [ c2hs ]; extraLibraries = [ cudatoolkit nvidia_x11 self.stdenv.gcc ]; doCheck = false; diff --git a/pkgs/development/libraries/haskell/data-checked/default.nix b/pkgs/development/libraries/haskell/data-checked/default.nix new file mode 100644 index 00000000000..429f9da92bf --- /dev/null +++ b/pkgs/development/libraries/haskell/data-checked/default.nix @@ -0,0 +1,14 @@ +{ cabal, deepseq }: + +cabal.mkDerivation (self: { + pname = "data-checked"; + version = "0.3"; + sha256 = "0xjn7iqlsgi51h8gz4x40kc2qb5lwf6nw5kjwgkck1w5gjfd11yw"; + buildDepends = [ deepseq ]; + meta = { + homepage = "https://github.com/mvv/data-checked"; + description = "Type-indexed runtime-checked properties"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/data-lens-light/default.nix b/pkgs/development/libraries/haskell/data-lens-light/default.nix new file mode 100644 index 00000000000..14614b8ab00 --- /dev/null +++ b/pkgs/development/libraries/haskell/data-lens-light/default.nix @@ -0,0 +1,14 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "data-lens-light"; + version = "0.1.1"; + sha256 = "03nsfwpcl7wmw2bgcb8z3w04krlbrbks7bjpnzfdz6cgdr5mnjrs"; + buildDepends = [ mtl ]; + meta = { + homepage = "https://github.com/feuerbach/data-lens-light"; + description = "Simple lenses, minimum dependencies"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/data-lens/default.nix b/pkgs/development/libraries/haskell/data-lens/default.nix index 5276c1c9707..24755738fdb 100644 --- a/pkgs/development/libraries/haskell/data-lens/default.nix +++ b/pkgs/development/libraries/haskell/data-lens/default.nix @@ -2,12 +2,12 @@ cabal.mkDerivation (self: { pname = "data-lens"; - version = "2.10.4"; - sha256 = "1pzswlpphpipsqja825pyqjixp4akc5nmw9y61jwv6r4vsgdpg5i"; + version = "2.10.5"; + sha256 = "11na4wx0f0ihk87d00njwrfc430nb25dkkadv1n47yvcyfc60i90"; buildDepends = [ comonad semigroupoids transformers ]; meta = { homepage = "http://github.com/roconnor/data-lens/"; - description = "Haskell 98 Lenses"; + description = "Used to be Haskell 98 Lenses"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/data-ordlist/default.nix b/pkgs/development/libraries/haskell/data-ordlist/default.nix index ca506bc01e9..1de08938680 100644 --- a/pkgs/development/libraries/haskell/data-ordlist/default.nix +++ b/pkgs/development/libraries/haskell/data-ordlist/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "data-ordlist"; - version = "0.4.6"; - sha256 = "13gsvqifwlxcz10x704fy26288l0km2kfdlh4w9hl31a9vd427sx"; + version = "0.4.6.1"; + sha256 = "1qrvyin5567br99zfip7krdy6snnbm5z5jdi6ghmk0cfmhmyrwy3"; meta = { description = "Set and bag operations on ordered lists"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/dataenc/default.nix b/pkgs/development/libraries/haskell/dataenc/default.nix index 6eda9ca3c43..8c7303776f8 100644 --- a/pkgs/development/libraries/haskell/dataenc/default.nix +++ b/pkgs/development/libraries/haskell/dataenc/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "dataenc"; - version = "0.14.0.5"; - sha256 = "13gajqbayar7x8sq3rw93i277gqd0bx1i34spshlj4b41fraxc8w"; + version = "0.14.0.7"; + sha256 = "1wwgm7wakkz6v94lyxyd3yi21l3h28sss4xxdb3d770vmjhp1lzr"; isLibrary = true; isExecutable = true; jailbreak = true; diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix index 7f0285dfc7a..d2700195b10 100644 --- a/pkgs/development/libraries/haskell/dbus/default.nix +++ b/pkgs/development/libraries/haskell/dbus/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "dbus"; - version = "0.10.7"; - sha256 = "0xszynw6p07r7z9nlq8alx5lxfjm57gljya835ccj63hqhkr5yxh"; + version = "0.10.8"; + sha256 = "1pqcb6fk6l2xzwyy3n9sa2q2k3qykym1f98n2zf75545ix46b1r6"; buildDepends = [ cereal libxmlSax network parsec random text transformers vector xmlTypes diff --git a/pkgs/development/libraries/haskell/derive/default.nix b/pkgs/development/libraries/haskell/derive/default.nix index 42ca82f4ac1..5dba1b6af56 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.14"; - sha256 = "1fihcd8l4z8d6rad8h39pg5gdb75h895c2xld9574fwp3bm0zl0c"; + version = "2.5.16"; + sha256 = "0vahwnb2hzdm990b2m139kbg9jkk4whcxjdfjvlpimqk72s27viy"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix index aca28a02490..4cbe8b7c193 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.1.4"; - sha256 = "0n2r6k65kxvk5mwm193yhzwnj3bhignq4xdslfpv2m1afdvws2y1"; + version = "1.1.1.5"; + sha256 = "1165qq5pzj3vr8f6545hpa5ri8jy43r1ydmimzy7xg9iynjgxass"; 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 eb9207a936f..8c6a87b7e05 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.1.0.2"; - sha256 = "1py1dk6w6f00kd48kxbdbxmd3rakxdmwgpb09g346vmkbxkj56mq"; + version = "1.1.0.3"; + sha256 = "0kl4bc5mvly227rzalzy9q6ki321drcdfsjqriv3ac70qmcfqyma"; buildDepends = [ dualTree lens MemoTrie monoidExtras newtype semigroups vectorSpace vectorSpacePoints diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix index fd839e42857..775553bc2a4 100644 --- a/pkgs/development/libraries/haskell/diagrams/lib.nix +++ b/pkgs/development/libraries/haskell/diagrams/lib.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "diagrams-lib"; - version = "1.1.0.6"; - sha256 = "125krfaf73k2m73scnjdl0d76acwc6n9vhvvaqxxy1ln57caqh5x"; + version = "1.1.0.7"; + sha256 = "0ad5105aa2ds0hrx0184jhvzw1mw5l659hx745rsyl8wyi5yrcy7"; buildDepends = [ active colour dataDefaultClass diagramsCore filepath fingertree hashable intervals lens MemoTrie monoidExtras optparseApplicative diff --git a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix index 64137054a70..b6a5ae78f82 100644 --- a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix +++ b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix @@ -1,14 +1,14 @@ -{ cabal, aeson, 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.6"; - sha256 = "1zhw0zksl48q9y699phadf6ixsyll52clr3yyhqghki6l820xwci"; + version = "1.1.8"; + sha256 = "0qvzr9s0vzgzh7mix6ncjn731krln9w47zrqb5jkj92rv7mf5sgz"; 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/default.nix b/pkgs/development/libraries/haskell/digestive-functors/default.nix index d0bd50e584b..8764f3e2b6c 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.7.1.0"; - sha256 = "0ry0ircxs6ml4wdz6hrn3jnyhniwdnn1dn21imq3kv68jlhfn3by"; + version = "0.7.1.1"; + sha256 = "161461y8gil2922gx6kdc59g50ywk9nk74gkxl0yrwvz80a118c9"; buildDepends = [ mtl text time ]; testDepends = [ HUnit mtl QuickCheck testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/direct-sqlite/default.nix b/pkgs/development/libraries/haskell/direct-sqlite/default.nix index 14be91cd1bf..5d4adbc60df 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.12"; - sha256 = "14dcgmn3mfx69qx412dc8cxa4ia3adsf8gm5q4yscpp8rf78m178"; + version = "2.3.13"; + sha256 = "0d16jmls41cwyzg91fpd32dv8vvx1v3ilypv1wd7ya8j08fwfvdn"; buildDepends = [ text ]; testDepends = [ base16Bytestring HUnit text ]; meta = { diff --git a/pkgs/development/libraries/haskell/directory-tree/default.nix b/pkgs/development/libraries/haskell/directory-tree/default.nix index 5c8b357593e..343aeb014ad 100644 --- a/pkgs/development/libraries/haskell/directory-tree/default.nix +++ b/pkgs/development/libraries/haskell/directory-tree/default.nix @@ -2,9 +2,10 @@ cabal.mkDerivation (self: { pname = "directory-tree"; - version = "0.11.0"; - sha256 = "07vqwnzbwfjvlwcl50x5jl9yzvqfln0m4k4lam9r5n49wv7p01c9"; + version = "0.12.0"; + sha256 = "1idknm7fwci91fkwvzl35g0qd0jk1vb00ds2x82zjf2hdbkcc2gz"; buildDepends = [ filepath ]; + testDepends = [ filepath ]; meta = { homepage = "http://brandon.si/code/directory-tree-module-released/"; description = "A simple directory-like tree datatype, with useful IO functions"; diff --git a/pkgs/development/libraries/haskell/distributive/default.nix b/pkgs/development/libraries/haskell/distributive/default.nix index 053f938ae56..10f763ffa83 100644 --- a/pkgs/development/libraries/haskell/distributive/default.nix +++ b/pkgs/development/libraries/haskell/distributive/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "distributive"; - version = "0.4.3.1"; - sha256 = "17ny7nlxg6x08f88dyl15wsdhgi0cgafxdsl5wdw5vv6y0jsrx27"; + version = "0.4.4"; + sha256 = "0s2ln9jv7bh4ri2y31178pvjl8x6nik5d0klx7j2b77yjlsgblc2"; buildDepends = [ tagged transformers transformersCompat ]; testDepends = [ doctest filepath ]; meta = { diff --git a/pkgs/development/libraries/haskell/djinn/default.nix b/pkgs/development/libraries/haskell/djinn/default.nix new file mode 100644 index 00000000000..6e8a52bb78b --- /dev/null +++ b/pkgs/development/libraries/haskell/djinn/default.nix @@ -0,0 +1,19 @@ +{ cabal, haskeline, mtl }: + +cabal.mkDerivation (self: { + pname = "djinn"; + version = "2011.7.23"; + sha256 = "14748pqzrd1r9jg2vc9v232pi38q99l9zdlia6ashm2v871hp1xv"; + isLibrary = false; + isExecutable = true; + buildDepends = [ haskeline mtl ]; + preConfigure = self.stdenv.lib.optionalString self.stdenv.isDarwin '' + sed -i 's/-Wall -optl-Wl/-Wall/' djinn.cabal + ''; + meta = { + homepage = "http://www.augustsson.net/Darcs/Djinn/"; + description = "Generate Haskell code from a type"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix index 97a120f2123..badc718f32b 100644 --- a/pkgs/development/libraries/haskell/dns/default.nix +++ b/pkgs/development/libraries/haskell/dns/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "dns"; - version = "1.2.1"; - sha256 = "0xv8mj2x8ijqgi7gnh2shr7ns9qghiczm3lw9n37mxk02zbvw8h0"; + version = "1.2.3"; + sha256 = "0h03zh75yzrx08p99ll123qd9a7a2ccj9gad1f8y3340dz3pa7ld"; buildDepends = [ attoparsec attoparsecConduit binary blazeBuilder conduit conduitExtra iproute mtl network random resourcet diff --git a/pkgs/development/libraries/haskell/doctest-prop/default.nix b/pkgs/development/libraries/haskell/doctest-prop/default.nix new file mode 100644 index 00000000000..05376ee6bbc --- /dev/null +++ b/pkgs/development/libraries/haskell/doctest-prop/default.nix @@ -0,0 +1,14 @@ +{ cabal, doctest, HUnit, QuickCheck }: + +cabal.mkDerivation (self: { + pname = "doctest-prop"; + version = "0.2"; + sha256 = "09wxkhcmh297hqnx3g4x8ff0w5dcmls9y383417rc8wawf5q288n"; + buildDepends = [ HUnit QuickCheck ]; + testDepends = [ doctest HUnit QuickCheck ]; + meta = { + description = "Allow QuickCheck-style property testing within doctest"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/download-curl/default.nix b/pkgs/development/libraries/haskell/download-curl/default.nix index 935004a6bb0..6b9f1e2108b 100644 --- a/pkgs/development/libraries/haskell/download-curl/default.nix +++ b/pkgs/development/libraries/haskell/download-curl/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.1.4"; sha256 = "1wf3pf2k4i6jvpfsjlxdj6v53qd33jj1z1ipaf3p47glgx4xw3lm"; buildDepends = [ curl feed tagsoup xml ]; + jailbreak = true; meta = { homepage = "http://code.haskell.org/~dons/code/download-curl"; description = "High-level file download based on URLs"; diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix index 7b2023c0812..120fac409f0 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.2"; - sha256 = "0w0kfzij22209slddyzr2g77khcgpv4ridhvkgl8z3d5sp7ggby1"; + version = "0.2.0.3"; + sha256 = "17l0jjxi8lj17hbn73wg252gdpbnp81aay7xlmx42g99pj377bmb"; buildDepends = [ monoidExtras newtype semigroups ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/dynamic-cabal/default.nix b/pkgs/development/libraries/haskell/dynamic-cabal/default.nix new file mode 100644 index 00000000000..c2ecb09824f --- /dev/null +++ b/pkgs/development/libraries/haskell/dynamic-cabal/default.nix @@ -0,0 +1,20 @@ +{ cabal, dataDefault, doctest, filepath, ghcPaths, haskellGenerate +, haskellSrcExts, HUnit, tasty, tastyHunit, tastyTh, time, void +}: + +cabal.mkDerivation (self: { + pname = "dynamic-cabal"; + version = "0.3.1"; + sha256 = "0jjhz6h1ggznbvi4qgv0p5x1s7j0fgv1xvkfgid57jrjvdvd4gic"; + buildDepends = [ + dataDefault filepath ghcPaths haskellGenerate haskellSrcExts time + void + ]; + testDepends = [ doctest filepath HUnit tasty tastyHunit tastyTh ]; + meta = { + homepage = "http://github.com/bennofs/dynamic-cabal/"; + description = "dynamic-cabal"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix index 46348d7e4bb..75e29603e5e 100644 --- a/pkgs/development/libraries/haskell/either/default.nix +++ b/pkgs/development/libraries/haskell/either/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "either"; - version = "4.1.1"; - sha256 = "0wipgwrca7bm4rm843gc0p69f2hvm2z067mjrv8qvnivyxhy8i6k"; + version = "4.1.2"; + sha256 = "1c2dp22al9qq2w1xks5s3n8dcan9wpashvn24i4g8avs8yfrr5v4"; buildDepends = [ monadControl MonadRandom mtl semigroupoids semigroups transformers transformersBase diff --git a/pkgs/development/libraries/haskell/ekg-core/default.nix b/pkgs/development/libraries/haskell/ekg-core/default.nix new file mode 100644 index 00000000000..6c332f832cd --- /dev/null +++ b/pkgs/development/libraries/haskell/ekg-core/default.nix @@ -0,0 +1,14 @@ +{ cabal, text, unorderedContainers }: + +cabal.mkDerivation (self: { + pname = "ekg-core"; + version = "0.1.0.0"; + sha256 = "19ghqj9zbb198d45bw7k9mlf2z57yq74wgbkp62b9li2ndbcpdzh"; + buildDepends = [ text unorderedContainers ]; + meta = { + homepage = "https://github.com/tibbe/ekg-core"; + description = "Tracking of system metrics"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/ekg/default.nix b/pkgs/development/libraries/haskell/ekg/default.nix index 28ef546163a..3f564a72a0a 100644 --- a/pkgs/development/libraries/haskell/ekg/default.nix +++ b/pkgs/development/libraries/haskell/ekg/default.nix @@ -1,14 +1,14 @@ -{ cabal, aeson, filepath, network, snapCore, snapServer, text, time -, transformers, unorderedContainers +{ cabal, aeson, ekgCore, filepath, network, snapCore, snapServer +, text, time, transformers, unorderedContainers }: cabal.mkDerivation (self: { pname = "ekg"; - version = "0.3.1.4"; - sha256 = "0hr9962yx463rq53xfqfm7vlv9izn47v3css3m6n4v694qlyz95i"; + version = "0.4.0.0"; + sha256 = "1w448w17yp80zmb27yl90k3gz0nx3wxj52488lclmiapr6q4fgp8"; buildDepends = [ - aeson filepath network snapCore snapServer text time transformers - unorderedContainers + aeson ekgCore filepath network snapCore snapServer text time + transformers unorderedContainers ]; meta = { homepage = "https://github.com/tibbe/ekg"; diff --git a/pkgs/development/libraries/haskell/enummapset/default.nix b/pkgs/development/libraries/haskell/enummapset/default.nix index c43c246557b..2bd953e65e8 100644 --- a/pkgs/development/libraries/haskell/enummapset/default.nix +++ b/pkgs/development/libraries/haskell/enummapset/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.5.2.0"; sha256 = "065gxljrjw59rdf7abq0v0c29wg1ymg984ckixnjrcs1yks0c2js"; buildDepends = [ deepseq ]; + jailbreak = true; meta = { homepage = "https://github.com/michalt/enummapset"; description = "IntMap and IntSet with Enum keys/elements"; diff --git a/pkgs/development/libraries/haskell/enumset/default.nix b/pkgs/development/libraries/haskell/enumset/default.nix new file mode 100644 index 00000000000..0bb03c67898 --- /dev/null +++ b/pkgs/development/libraries/haskell/enumset/default.nix @@ -0,0 +1,14 @@ +{ cabal, dataAccessor, storableRecord }: + +cabal.mkDerivation (self: { + pname = "enumset"; + version = "0.0.4"; + sha256 = "1dzwxi7i757zdf68v470n8dwn1g8kg51w3c1mwqyxwq85650805w"; + buildDepends = [ dataAccessor storableRecord ]; + meta = { + description = "Sets of enumeration values represented by machine words"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ertes ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/errors/default.nix b/pkgs/development/libraries/haskell/errors/default.nix index 7207bfbb185..21ed85bb91f 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.6"; - sha256 = "1h8va76rhvs76ljdccxbmb659qk1slzkal118m85bw6lpy5wv6fi"; + version = "1.4.7"; + sha256 = "09g53dylwsw1phxq5zhkbq8pnpwqzipvqclmcrdypzkpwkmfncl7"; 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 9103480d48f..0538e2f1899 100644 --- a/pkgs/development/libraries/haskell/esqueleto/default.nix +++ b/pkgs/development/libraries/haskell/esqueleto/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "esqueleto"; - version = "1.3.10"; - sha256 = "0q333m7xaanxb1vzgf2yn6d7y3pgkbj9mjw5gnywms36v5zsfik7"; + version = "1.4.1.2"; + sha256 = "1qny5c0xy2vdsl4qmgqr83jxqw1r68r81xhmx236rhxcffs9yvw2"; buildDepends = [ conduit monadLogger persistent resourcet tagged text transformers unorderedContainers @@ -18,7 +18,7 @@ cabal.mkDerivation (self: { ]; meta = { homepage = "https://github.com/meteficha/esqueleto"; - description = "Bare bones, type-safe EDSL for SQL queries on persistent backends"; + description = "Type-safe EDSL for SQL queries on persistent backends"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.ocharles ]; diff --git a/pkgs/development/libraries/haskell/ex-pool/default.nix b/pkgs/development/libraries/haskell/ex-pool/default.nix index 9bf966e749a..b8e4e024afc 100644 --- a/pkgs/development/libraries/haskell/ex-pool/default.nix +++ b/pkgs/development/libraries/haskell/ex-pool/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "ex-pool"; - version = "0.1.0.2"; - sha256 = "11q63yfr59r6cfzi635xj75nhcc2yi83snc75k638wyamxgvxng4"; + version = "0.2"; + sha256 = "0da5grl2fdca24zhlngq2n16smdb4f5vvxqzc29ipsc3j7wkbmva"; buildDepends = [ exceptions hashable stm time transformers vector ]; diff --git a/pkgs/development/libraries/haskell/exceptions/default.nix b/pkgs/development/libraries/haskell/exceptions/default.nix index 5d58654e51d..1cde47f48e1 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.5"; - sha256 = "0l9gpifp23j6hvyq8p48rxsnv9adqbf7z096dzvd8v5xqqybgyxi"; + version = "0.6.1"; + sha256 = "09jv5jskv48fd5la1pdvafwc9j2jxj1ncf6yxzkwcjddynbkyszm"; buildDepends = [ mtl transformers ]; testDepends = [ mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers diff --git a/pkgs/development/libraries/haskell/explicit-exception/default.nix b/pkgs/development/libraries/haskell/explicit-exception/default.nix index 0f2385a004f..2542a4c1055 100644 --- a/pkgs/development/libraries/haskell/explicit-exception/default.nix +++ b/pkgs/development/libraries/haskell/explicit-exception/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "explicit-exception"; - version = "0.1.7.1"; - sha256 = "15p5pndam6byd3p8qlnn8pjdhb7rvn93fxa2m40x3wxh58ymkh14"; + version = "0.1.7.2"; + sha256 = "0zncj57mpngszl7jz3khhd4dajzis7aag0ad62hc8rkrv2j8f5q4"; isLibrary = true; isExecutable = true; buildDepends = [ transformers ]; diff --git a/pkgs/development/libraries/haskell/extensible-effects/default.nix b/pkgs/development/libraries/haskell/extensible-effects/default.nix index f97b5cd5e28..ba511f0b6a2 100644 --- a/pkgs/development/libraries/haskell/extensible-effects/default.nix +++ b/pkgs/development/libraries/haskell/extensible-effects/default.nix @@ -1,11 +1,12 @@ { cabal, HUnit, QuickCheck, testFramework, testFrameworkHunit -, testFrameworkQuickcheck2 +, testFrameworkQuickcheck2, transformers, transformersBase }: cabal.mkDerivation (self: { pname = "extensible-effects"; - version = "1.2.1"; - sha256 = "066977hjhcg44v47hkjpf2gs48xsry74l4h8hp753jsvbfsv0030"; + version = "1.6.0"; + sha256 = "08g2py6iywwpsr09v6hfhq6ihjp1yq3aibz8jlqhsmagjjjxgfsq"; + buildDepends = [ transformers transformersBase ]; testDepends = [ HUnit QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 diff --git a/pkgs/development/libraries/haskell/fay-base/default.nix b/pkgs/development/libraries/haskell/fay-base/default.nix index fae2c8ee93f..417a0516bd8 100644 --- a/pkgs/development/libraries/haskell/fay-base/default.nix +++ b/pkgs/development/libraries/haskell/fay-base/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "fay-base"; - version = "0.19.1.1"; - sha256 = "1qn48aj7j33gvb6vmz986cqi41zvh62sbmmvwgyhpmrhsfkm5wkz"; + version = "0.19.1.2"; + sha256 = "0y2gpyh0gama6mz0rfvqdgpf7wfwx7r8k0cdfh60kjcxr029dx5i"; buildDepends = [ fay ]; meta = { homepage = "https://github.com/faylang/fay-base"; diff --git a/pkgs/development/libraries/haskell/fay-text/default.nix b/pkgs/development/libraries/haskell/fay-text/default.nix new file mode 100644 index 00000000000..c8d9188d421 --- /dev/null +++ b/pkgs/development/libraries/haskell/fay-text/default.nix @@ -0,0 +1,14 @@ +{ cabal, fay, fayBase, text }: + +cabal.mkDerivation (self: { + pname = "fay-text"; + version = "0.3.0.2"; + sha256 = "12hgamqbrflmnr3ri0ajvzf6al5nn4adcdmv6ag6h5mrsik2sklf"; + buildDepends = [ fay fayBase text ]; + meta = { + homepage = "https://github.com/faylang/fay-text"; + description = "Fay Text type represented as JavaScript strings"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix index f7bf07b4fba..d32a5759780 100644 --- a/pkgs/development/libraries/haskell/fay/default.nix +++ b/pkgs/development/libraries/haskell/fay/default.nix @@ -1,23 +1,21 @@ -{ 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 +{ cabal, aeson, attoparsec, dataDefault, filepath, ghcPaths, groom +, haskellNames, haskellPackages, haskellSrcExts, languageEcmascript +, mtl, optparseApplicative, safe, sourcemap, split, spoon, syb +, tasty, tastyHunit, tastyTh, text, transformers, uniplate , unorderedContainers, utf8String, vector }: cabal.mkDerivation (self: { pname = "fay"; - version = "0.19.2"; - sha256 = "08lq2x87gsf5szdj613k9h3qxzpb99hjhxnq3vggs2kf0ijp6xmh"; + version = "0.20.0.4"; + sha256 = "0cxcd4nxnq8nl03xgxa1nb0932hq4dz1lxpp3gqqs5k5wvs62303"; 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 + aeson attoparsec dataDefault filepath ghcPaths groom haskellNames + haskellPackages haskellSrcExts languageEcmascript mtl + optparseApplicative safe sourcemap split spoon syb tasty tastyHunit + tastyTh text transformers uniplate unorderedContainers utf8String vector ]; meta = { diff --git a/pkgs/development/libraries/haskell/fb/default.nix b/pkgs/development/libraries/haskell/fb/default.nix index 89f8a2121f8..02f9f03588a 100644 --- a/pkgs/development/libraries/haskell/fb/default.nix +++ b/pkgs/development/libraries/haskell/fb/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "fb"; - version = "1.0"; - sha256 = "1pkjpzhdysq5vn302wipz62w6v9fibpvd4smaylv8wgn09si91ji"; + version = "1.0.1"; + sha256 = "0xhwv8fmhb1an15fnfjxzq0ijnhxxmfjwzd99dq1lsm0f7gd4hfi"; buildDepends = [ aeson attoparsec base16Bytestring base64Bytestring cereal conduit conduitExtra cryptoApi cryptohash cryptohashCryptoapi dataDefault diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix index f9c7663e321..26029ed2c21 100644 --- a/pkgs/development/libraries/haskell/fclabels/default.nix +++ b/pkgs/development/libraries/haskell/fclabels/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "fclabels"; - version = "2.0.1"; - sha256 = "0gx0vqdxx797zh69xy2s62kyfsp9m48dfpbjykllg4fsk0x60wav"; + version = "2.0.1.1"; + sha256 = "1r798fbdk4xzw649la9disnk1kngy3cmzbi3k8afiy8q6v1fbpwh"; buildDepends = [ mtl transformers ]; meta = { homepage = "https://github.com/sebastiaanvisser/fclabels"; diff --git a/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix b/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix new file mode 100644 index 00000000000..d475a9cb312 --- /dev/null +++ b/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix @@ -0,0 +1,15 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "fgl"; + version = "5.5.0.0"; + sha256 = "1kdqxbpsaka97rx0c7czlc1nfi72mdxs46gnqa8p0wxn1vx437g3"; + buildDepends = [ mtl ]; + meta = { + homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell"; + description = "Martin Erwig's Functional Graph Library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix b/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix new file mode 100644 index 00000000000..b9a582fd7b5 --- /dev/null +++ b/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix @@ -0,0 +1,15 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "fgl"; + version = "5.5.0.1"; + sha256 = "0qw70f5hfrxmrx49wx8vk2f5cam7jbpb20mp4i0ybcwdld5ncqda"; + buildDepends = [ mtl ]; + meta = { + homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell"; + description = "Martin Erwig's Functional Graph Library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/file-embed/default.nix b/pkgs/development/libraries/haskell/file-embed/default.nix index 7aa1b78a03e..a42e963d558 100644 --- a/pkgs/development/libraries/haskell/file-embed/default.nix +++ b/pkgs/development/libraries/haskell/file-embed/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "file-embed"; - version = "0.0.6"; - sha256 = "0ag3g8mv8cw8km785kskz8kv38zs8gimrc3lr9dvkc1qnp2fdmgz"; + version = "0.0.7"; + sha256 = "0mj8f70f9k78wjzcx59w68szajafmm119rcrsspmxsygglh8ji2g"; buildDepends = [ filepath ]; testDepends = [ filepath HUnit ]; meta = { diff --git a/pkgs/development/libraries/haskell/filepath/default.nix b/pkgs/development/libraries/haskell/filepath/1.3.0.2.nix similarity index 100% rename from pkgs/development/libraries/haskell/filepath/default.nix rename to pkgs/development/libraries/haskell/filepath/1.3.0.2.nix diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix index d0056dd9c35..4aebded770e 100644 --- a/pkgs/development/libraries/haskell/filestore/default.nix +++ b/pkgs/development/libraries/haskell/filestore/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "filestore"; - version = "0.6.0.1"; - sha256 = "1la30bimcjngcv5dyx1a9x8lr8c4zs0dp4kzh8y5mjf8snky1avf"; + version = "0.6.0.2"; + sha256 = "0dbn358gxg13lxlpqyczcn5g5kvzrz7lv17qsmr53hvmxz8mricr"; buildDepends = [ Diff filepath parsec split time utf8String xml ]; testDepends = [ Diff filepath HUnit mtl time ]; jailbreak = true; diff --git a/pkgs/development/libraries/haskell/fmlist/default.nix b/pkgs/development/libraries/haskell/fmlist/default.nix new file mode 100644 index 00000000000..8dcbb7fff18 --- /dev/null +++ b/pkgs/development/libraries/haskell/fmlist/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "fmlist"; + version = "0.8"; + sha256 = "1knr9yh58fwjpkm37hvrqghlchf5qibwf9q52app6zh3ys999rrs"; + meta = { + description = "FoldMap lists"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix index 926c2a812a0..5224bf11f29 100644 --- a/pkgs/development/libraries/haskell/foldl/default.nix +++ b/pkgs/development/libraries/haskell/foldl/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "foldl"; - version = "1.0.3"; - sha256 = "0jl50bh7k8wp0nz0s0sb2zwh92yrgsm2l6szib41g7zq34mwamn9"; + version = "1.0.4"; + sha256 = "0l5gyaw2rb0wfdm5q13vsxfr0z2y9ad5nsjh605p1jp8i0rgwgkv"; buildDepends = [ primitive text transformers vector ]; meta = { description = "Composable, streaming, and efficient left folds"; diff --git a/pkgs/development/libraries/haskell/free-game/1.0.5.nix b/pkgs/development/libraries/haskell/free-game/1.0.5.nix new file mode 100644 index 00000000000..efe269db26c --- /dev/null +++ b/pkgs/development/libraries/haskell/free-game/1.0.5.nix @@ -0,0 +1,23 @@ +{ cabal, boundingboxes, colors, controlBool, filepath, free +, freetype2, GLFWB, hashable, JuicyPixels, JuicyPixelsUtil, lens +, linear, mtl, OpenGL, OpenGLRaw, random, reflection, transformers +, vector, void +}: + +cabal.mkDerivation (self: { + pname = "free-game"; + version = "1.0.5"; + sha256 = "048hmb4zbn67ycdwy7alhfakdyv405ck79bzrxv2ra6w1v5b3yvf"; + buildDepends = [ + boundingboxes colors controlBool filepath free freetype2 GLFWB + hashable JuicyPixels JuicyPixelsUtil lens linear mtl OpenGL + OpenGLRaw random reflection transformers vector void + ]; + jailbreak = true; + meta = { + homepage = "https://github.com/fumieval/free-game"; + description = "Create games for free"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/free-game/1.1.nix b/pkgs/development/libraries/haskell/free-game/1.1.nix new file mode 100644 index 00000000000..b19e3202741 --- /dev/null +++ b/pkgs/development/libraries/haskell/free-game/1.1.nix @@ -0,0 +1,23 @@ +{ cabal, boundingboxes, colors, controlBool, filepath, free +, freetype2, GLFWB, hashable, JuicyPixels, JuicyPixelsUtil, lens +, linear, mtl, OpenGL, OpenGLRaw, random, reflection, transformers +, vector, void +}: + +cabal.mkDerivation (self: { + pname = "free-game"; + version = "1.1"; + sha256 = "0id3vn2j44gd8krl5icacwxgx00h6r89yncjg10nyyb90rymvxzz"; + buildDepends = [ + boundingboxes colors controlBool filepath free freetype2 GLFWB + hashable JuicyPixels JuicyPixelsUtil lens linear mtl OpenGL + OpenGLRaw random reflection transformers vector void + ]; + jailbreak = true; + meta = { + homepage = "https://github.com/fumieval/free-game"; + description = "Create games for free"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/free/default.nix b/pkgs/development/libraries/haskell/free/default.nix index 1c7c236ba64..9d84bf87435 100644 --- a/pkgs/development/libraries/haskell/free/default.nix +++ b/pkgs/development/libraries/haskell/free/default.nix @@ -1,15 +1,16 @@ -{ cabal, bifunctors, comonad, distributive, mtl, profunctors -, semigroupoids, semigroups, transformers +{ cabal, bifunctors, comonad, distributive, mtl, preludeExtras +, profunctors, semigroupoids, semigroups, transformers }: cabal.mkDerivation (self: { pname = "free"; - version = "4.6.1"; - sha256 = "0xmnxp6x7b6pp2ap7jrjhz00cm30v334i9dcxc14d3r070h7l73w"; + version = "4.7.1"; + sha256 = "14qvc153g7n8fkl2giyyya8l7fs4limgnm18hdw5dpj841kwxgzm"; buildDepends = [ - bifunctors comonad distributive mtl profunctors semigroupoids - semigroups transformers + bifunctors comonad distributive mtl preludeExtras profunctors + semigroupoids semigroups transformers ]; + jailbreak = true; meta = { homepage = "http://github.com/ekmett/free/"; description = "Monads for free"; diff --git a/pkgs/development/libraries/haskell/freetype2/default.nix b/pkgs/development/libraries/haskell/freetype2/default.nix new file mode 100644 index 00000000000..145ae4a2d79 --- /dev/null +++ b/pkgs/development/libraries/haskell/freetype2/default.nix @@ -0,0 +1,14 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "freetype2"; + version = "0.1.1"; + sha256 = "16ayyqvbl278z68ssfbv2nvbyxs7585zmnk2w53vlxvj0k9zj66s"; + isLibrary = true; + isExecutable = true; + meta = { + description = "Haskell binding for FreeType 2 library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/fsnotify/default.nix b/pkgs/development/libraries/haskell/fsnotify/default.nix index 1ef55d105f7..3d308f6a88f 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/fuzzcheck/default.nix b/pkgs/development/libraries/haskell/fuzzcheck/default.nix new file mode 100644 index 00000000000..a1da7f8ebbf --- /dev/null +++ b/pkgs/development/libraries/haskell/fuzzcheck/default.nix @@ -0,0 +1,19 @@ +{ cabal, hspec, hspecExpectations, HUnit, liftedBase, monadControl +, QuickCheck, random, transformers +}: + +cabal.mkDerivation (self: { + pname = "fuzzcheck"; + version = "0.1.1"; + sha256 = "0qfr4f0b50l368b45yzwhqd4g2y1kvfrfj4hr84cdxcwdrwn9mpc"; + buildDepends = [ + liftedBase monadControl QuickCheck random transformers + ]; + testDepends = [ hspec hspecExpectations HUnit QuickCheck ]; + meta = { + homepage = "https://github.com/fpco/fuzzcheck"; + description = "A simple checker for stress testing monadic code"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/geniplate/default.nix b/pkgs/development/libraries/haskell/geniplate/default.nix index eff79afa416..bebc611ddaa 100644 --- a/pkgs/development/libraries/haskell/geniplate/default.nix +++ b/pkgs/development/libraries/haskell/geniplate/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "geniplate"; - version = "0.6.0.3"; - sha256 = "1n73p57gkn9qf7jn54izypc7zycd9i6y9z9i1gc8yn1wd8sv7vkn"; + version = "0.6.0.4"; + sha256 = "1sw1bs3nzbdmvphy5g65pl40y8wdqkgvszx1i6viqjymjq96xv20"; buildDepends = [ mtl ]; meta = { description = "Use template Haskell to generate Uniplate-like functions"; diff --git a/pkgs/development/libraries/haskell/ghc-events/default.nix b/pkgs/development/libraries/haskell/ghc-events/default.nix index a13f56e4b53..4f908200c88 100644 --- a/pkgs/development/libraries/haskell/ghc-events/default.nix +++ b/pkgs/development/libraries/haskell/ghc-events/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "ghc-events"; - version = "0.4.2.0"; - sha256 = "0209r9g5w4ifsaw3dkfra6kma1vyk50dc306an72mcwnp4l7dv4l"; + version = "0.4.3.0"; + sha256 = "128p651hp8v1i0iaccmfh3ap6lajcrzdihjb853s71pgnpal6izr"; isLibrary = true; isExecutable = true; buildDepends = [ binary mtl ]; diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix index 185f70785e5..b83d9de4552 100644 --- a/pkgs/development/libraries/haskell/ghc-mod/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix @@ -1,22 +1,24 @@ -{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcSybUtils -, hlint, hspec, ioChoice, syb, time, transformers +{ cabal, Cabal, convertible, deepseq, doctest, emacs, filepath +, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers }: cabal.mkDerivation (self: { pname = "ghc-mod"; - version = "4.0.2"; - sha256 = "10ndlydx0ymz8fbcgjjnzyak7lly34012bsghwj0i0dc5ja1pic8"; + version = "4.1.1"; + sha256 = "0jsm881khbpa316rvka2ixzmm4kim7w9gbriz94m08b3yj3f00q9"; isLibrary = true; isExecutable = true; buildDepends = [ - Cabal convertible filepath ghcSybUtils hlint ioChoice syb time - transformers + Cabal convertible deepseq filepath ghcSybUtils hlint ioChoice syb + time transformers ]; testDepends = [ - Cabal convertible doctest filepath ghcSybUtils hlint hspec ioChoice - syb time transformers + Cabal convertible deepseq doctest filepath ghcSybUtils hlint hspec + ioChoice syb time transformers ]; buildTools = [ emacs ]; + doCheck = false; + configureFlags = "--datasubdir=${self.pname}-${self.version}"; postInstall = '' cd $out/share/$pname-$version make diff --git a/pkgs/development/libraries/haskell/ghc-mtl/default.nix b/pkgs/development/libraries/haskell/ghc-mtl/default.nix index 592961aa554..29e00d8a2d3 100644 --- a/pkgs/development/libraries/haskell/ghc-mtl/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mtl/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "ghc-mtl"; - version = "1.2.0.0"; - sha256 = "0fk3adc56nhi46nf2w5ybp3cd9l13qqbpd5nbhfhbqj3g73j8p5a"; + version = "1.2.1.0"; + sha256 = "0h6r6gip9nsjlsq88wj105hhqliy7ac2dmmndsfzbjz07b03cklk"; buildDepends = [ exceptions extensibleExceptions mtl ]; meta = { homepage = "http://hub.darcs.net/jcpetruzza/ghc-mtl"; diff --git a/pkgs/development/libraries/haskell/ghc-vis/default.nix b/pkgs/development/libraries/haskell/ghc-vis/default.nix index a768a101145..40700b52f61 100644 --- a/pkgs/development/libraries/haskell/ghc-vis/default.nix +++ b/pkgs/development/libraries/haskell/ghc-vis/default.nix @@ -4,12 +4,13 @@ cabal.mkDerivation (self: { pname = "ghc-vis"; - version = "0.7.2.1"; - sha256 = "160b45bgiz2ckva70dnmkf6i9bvffaavm5wzia2lk8c65pnvc9ih"; + version = "0.7.2.2"; + sha256 = "0abk76cy9qiblyways1r7jfsj996sj4laawzaz1j9p546plfkbnj"; buildDepends = [ cairo deepseq fgl ghcHeapView graphviz gtk mtl svgcairo text transformers xdot ]; + jailbreak = true; postInstall = '' ensureDir "$out/share/ghci" ln -s "$out/share/$pname-$version/ghci" "$out/share/ghci/$pname" diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix index 5fd23514583..41ee872bb31 100644 --- a/pkgs/development/libraries/haskell/github/default.nix +++ b/pkgs/development/libraries/haskell/github/default.nix @@ -5,17 +5,14 @@ cabal.mkDerivation (self: { pname = "github"; - version = "0.7.4"; - sha256 = "1yalhixisjv1n9ihik3h6ya25f0066dd422nbpfysj9093hv3a5w"; + version = "0.8"; + sha256 = "0lzz7q2gjiq4z8yi1sb981m220qnwjizk9hqv09yfj5a4grqfchf"; 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/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix index 905d02b7011..6c30ca18b88 100644 --- a/pkgs/development/libraries/haskell/gitit/default.nix +++ b/pkgs/development/libraries/haskell/gitit/default.nix @@ -2,7 +2,7 @@ , filepath, filestore, ghcPaths, happstackServer, highlightingKate , hslogger, HStringTemplate, HTTP, json, mtl, network, pandoc , pandocTypes, parsec, random, recaptcha, safe, SHA, syb, tagsoup -, text, time, url, utf8String, xhtml, xml, xssSanitize, zlib, fetchurl +, text, time, url, utf8String, xhtml, xml, xssSanitize, zlib, fetchpatch }: cabal.mkDerivation (self: { @@ -19,10 +19,14 @@ cabal.mkDerivation (self: { zlib ]; jailbreak = true; - patches = [ (fetchurl { url = "https://github.com/jgm/gitit/commit/48155008397bdaed4f97c5678d83c70d4bc3f0ff.patch"; - sha256 = "0xdg9frr8lany8ry6vj4vpskmhkpww8jswnb05pzl8a4xfqxh9gd"; - }) - ]; + patches = [ (fetchpatch { + url = "https://github.com/jgm/gitit/commit/48155008397bdaed4f97c5678d83c70d4bc3f0ff.patch"; + sha256 = "16n372wrikwb3g4pb3zljxnp19in0828wp40diqgkplhlnwww6nw"; + }) + ]; + preConfigure = '' + sed -i -e 's|network .*< 2.5|network|' gitit.cabal + ''; meta = { homepage = "http://gitit.net"; description = "Wiki using happstack, git or darcs, and pandoc"; diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix index 9ae07187f5a..25e668081d7 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.3"; - sha256 = "0hn55x0bzc6xxsd5fhlnh2mpdn8n80295i2irgbgxqc1wn226frc"; + version = "0.12.5.4"; + sha256 = "1jbqfcsmsghq67lwnk6yifs34lxvh6xfbzxzfryalifb4zglccz6"; 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 4a34c7195c2..3ae49673078 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.2"; - sha256 = "1cpibilv027rfx7xz957f1d7wy6b5z6dgfjrw425ck497r8gfgp4"; + version = "1.8.2.1"; + sha256 = "0ls8rlwrbpisrmq2xigf9926pak028dmld6shrblcmdbykaz55ha"; 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 223a72ec381..5fff36e66ea 100644 --- a/pkgs/development/libraries/haskell/gloss/default.nix +++ b/pkgs/development/libraries/haskell/gloss/default.nix @@ -2,10 +2,9 @@ cabal.mkDerivation (self: { pname = "gloss"; - version = "1.8.1.2"; - sha256 = "1ky1gckvyww855dy3fzllf1ixbmc3jpdvz85hx719pcygy7qh71m"; + version = "1.8.2.1"; + sha256 = "0wnrss7j7zf4lbmr5rryx7m5qb4pqh7vvz11ksbsfn3d3hf285y2"; buildDepends = [ bmp GLUT OpenGL ]; - jailbreak = true; meta = { homepage = "http://gloss.ouroborus.net"; description = "Painless 2D vector graphics, animations and simulations"; diff --git a/pkgs/development/libraries/haskell/graphscc/default.nix b/pkgs/development/libraries/haskell/graphscc/default.nix new file mode 100644 index 00000000000..3f04e668a8f --- /dev/null +++ b/pkgs/development/libraries/haskell/graphscc/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "GraphSCC"; + version = "1.0.4"; + sha256 = "1wbcx3wb02adb7l4nchxla3laliz0h5q074vfw4z0ic833k977bq"; + meta = { + description = "Tarjan's algorithm for computing the strongly connected components of a graph"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix index 0112f6e419e..18ef54746a9 100644 --- a/pkgs/development/libraries/haskell/graphviz/default.nix +++ b/pkgs/development/libraries/haskell/graphviz/default.nix @@ -4,19 +4,15 @@ cabal.mkDerivation (self: { pname = "graphviz"; - version = "2999.16.0.0"; - sha256 = "1g4q4wyj5amz9xvgnqn143p5nq6m4a0lggxz7jn9l2hwp41bx1g8"; + version = "2999.17.0.1"; + sha256 = "0s6l1mlqvllrlx7vc06lgcs68ajhfk98awm63ab1dkqmcnj23ixv"; + isLibrary = true; + isExecutable = true; buildDepends = [ colour dlist fgl filepath polyparse temporary text transformers wlPprintText ]; - testDepends = [ - colour dlist fgl filepath polyparse QuickCheck temporary text - transformers wlPprintText - ]; - patchPhase = '' - sed -i -e 's|polyparse.*,|polyparse,|' -e 's|dlist ==.*|dlist|' -e 's|temporary.*,|temporary,|' graphviz.cabal - ''; + testDepends = [ fgl filepath QuickCheck text ]; doCheck = false; meta = { homepage = "http://projects.haskell.org/graphviz/"; diff --git a/pkgs/development/libraries/haskell/groom/default.nix b/pkgs/development/libraries/haskell/groom/default.nix new file mode 100644 index 00000000000..d3772b022d7 --- /dev/null +++ b/pkgs/development/libraries/haskell/groom/default.nix @@ -0,0 +1,13 @@ +{ cabal, haskellSrcExts }: + +cabal.mkDerivation (self: { + pname = "groom"; + version = "0.1.2"; + sha256 = "045hzpnf17rp1ib6q3gcznl9b7ivz5zmv0gh7qfg726kr8i030hf"; + buildDepends = [ haskellSrcExts ]; + meta = { + description = "Pretty printing for well-behaved Show instances"; + license = self.stdenv.lib.licenses.publicDomain; + 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 index f55d9f2edef..21a06638f68 100644 --- a/pkgs/development/libraries/haskell/gtk-traymanager/default.nix +++ b/pkgs/development/libraries/haskell/gtk-traymanager/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "gtk-traymanager"; - version = "0.1.3"; - sha256 = "07671f3j3r07djgvrlpbdaqqnm2yc7sc5f5isjn5nczrwh8n0sj4"; + version = "0.1.4"; + sha256 = "0dprxds49ljn0n94ca423gvh5ks2jmb4qx3lkqwpxqbcp0j8il7p"; buildDepends = [ glib gtk ]; pkgconfigDepends = [ gtk x11 ]; meta = { diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix index 081573e7223..98d7f5b96cd 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.6"; - sha256 = "06i6y7psl8fd7cy7jn0aqp98k876spr5vjgjxs8730pw3x17z6ld"; + version = "0.12.5.7"; + sha256 = "0hax4ixdz523753rc774c8g76bjlj56lsabyl5nwkpnppffpa73w"; buildDepends = [ cairo glib mtl pango ]; buildTools = [ gtk2hsBuildtools ]; extraLibraries = [ libc pkgconfig ]; diff --git a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix index 821b328b0a9..52bdebd8a40 100644 --- a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix +++ b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix @@ -1,12 +1,12 @@ -{ cabal, alex, filepath, happy, random }: +{ cabal, alex, filepath, happy, hashtables, random }: cabal.mkDerivation (self: { pname = "gtk2hs-buildtools"; - version = "0.12.5.1"; - sha256 = "1zjm7y38089b57q3csgq7ydfm104ffhvsycszddkj0cgfgafshfm"; + version = "0.12.5.2"; + sha256 = "1w4mfwkiqil9xd1xl4himb6vnl66hxb7a4vch6wh3bfad880qyiw"; isLibrary = false; isExecutable = true; - buildDepends = [ filepath random ]; + buildDepends = [ filepath hashtables random ]; buildTools = [ alex happy ]; meta = { homepage = "http://projects.haskell.org/gtk2hs/"; diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix index 5e40bb851f0..06e835b9ab5 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.5.1.0"; - sha256 = "0p78wscz9gwg1as49wjl49ydzbv972w6wmbmvhw1rfb9d5xana1i"; + version = "4.5.3.0"; + sha256 = "11ibpjff1zkihpxydlzvvzbgd1vxswi4c7g3lr0hhaaw89bikypy"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix index 445fb67386e..c3e58cf34dc 100644 --- a/pkgs/development/libraries/haskell/hamlet/default.nix +++ b/pkgs/development/libraries/haskell/hamlet/default.nix @@ -1,20 +1,14 @@ -{ cabal, blazeBuilder, blazeHtml, blazeMarkup, failure, hspec -, HUnit, parsec, shakespeare, systemFileio, systemFilepath, text -, time -}: +{ cabal, shakespeare }: cabal.mkDerivation (self: { pname = "hamlet"; - version = "1.1.9.2"; - sha256 = "122wfkk23a2bvz29hrgxj24k6cf315fwdbz70ih3nclawh0bhani"; - buildDepends = [ - blazeBuilder blazeHtml blazeMarkup failure parsec shakespeare - systemFileio systemFilepath text time - ]; - testDepends = [ blazeHtml blazeMarkup hspec HUnit parsec text ]; + version = "1.2.0"; + sha256 = "0rla3ap3malk8j6mh07fr2aqvbscpy743wrfq3skgjv3j4jlpjfi"; + buildDepends = [ shakespeare ]; + noHaddock = true; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; - description = "Haml-like template files that are compile-time checked"; + description = "Haml-like template files that are compile-time checked (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/happstack/happstack-hamlet.nix b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix index c191c428780..d8a1b0ef6fc 100644 --- a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix +++ b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix @@ -1,10 +1,10 @@ -{ cabal, hamlet, happstackServer, text }: +{ cabal, happstackServer, shakespeare, text }: cabal.mkDerivation (self: { pname = "happstack-hamlet"; - version = "7.0.3"; - sha256 = "0z4phykm2wxpdga47sdg76v7vmy32kav4nscizlkl648qjrx9k3r"; - buildDepends = [ hamlet happstackServer text ]; + version = "7.0.4"; + sha256 = "1l12gyyqzblb9psk6692r9xw640jxzyxqldfyg2yrzz8y0zi649a"; + buildDepends = [ happstackServer shakespeare text ]; meta = { homepage = "http://www.happstack.com/"; description = "Support for Hamlet HTML templates in Happstack"; diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix index 4b54a002ab0..e59bccaf6b5 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.4"; - sha256 = "1k9614f0x5ravblb00xiy8z2nqi4k9jhp2vzm1vdpx9q8sg47h1p"; + version = "7.3.6"; + sha256 = "0js1rzg1zpqg9mbi0kdzb5i8ggsrq4l8p0c05k85ppw6h5lwkayd"; buildDepends = [ base64Bytestring blazeHtml extensibleExceptions filepath hslogger html monadControl mtl network parsec sendfile syb systemFilepath diff --git a/pkgs/development/libraries/haskell/hashable/1.2.1.0.nix b/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix similarity index 87% rename from pkgs/development/libraries/haskell/hashable/1.2.1.0.nix rename to pkgs/development/libraries/haskell/hashable/1.2.2.0.nix index 092a3f69156..2ae7f353992 100644 --- a/pkgs/development/libraries/haskell/hashable/1.2.1.0.nix +++ b/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hashable"; - version = "1.2.1.0"; - sha256 = "09m1glpcxm3f6s9cwz8xzljy6j0n271cym4d9dllw5rpzrwp9h2f"; + version = "1.2.2.0"; + sha256 = "08cfm1rzhf3d8dzn0iqadfs35151ff6szhnh4bwrpxcs6sq90fh3"; buildDepends = [ text ]; testDepends = [ HUnit QuickCheck random testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/haskeline/0.7.1.1.nix b/pkgs/development/libraries/haskell/haskeline/0.7.1.1.nix deleted file mode 100644 index 2799b732292..00000000000 --- a/pkgs/development/libraries/haskell/haskeline/0.7.1.1.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ cabal, filepath, terminfo, transformers, utf8String }: - -cabal.mkDerivation (self: { - pname = "haskeline"; - version = "0.7.1.1"; - sha256 = "1xwbjrak0jicbckk609sqwdlizpkn5zab0kqzrcw9swg1fxpwx5m"; - buildDepends = [ filepath terminfo transformers utf8String ]; - configureFlags = "-fterminfo"; - meta = { - homepage = "http://trac.haskell.org/haskeline"; - description = "A command-line interface for user input, written in Haskell"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/haskeline/0.7.1.2.nix b/pkgs/development/libraries/haskell/haskeline/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/haskeline/0.7.1.2.nix rename to pkgs/development/libraries/haskell/haskeline/default.nix diff --git a/pkgs/development/libraries/haskell/haskell-generate/default.nix b/pkgs/development/libraries/haskell/haskell-generate/default.nix new file mode 100644 index 00000000000..b650714127c --- /dev/null +++ b/pkgs/development/libraries/haskell/haskell-generate/default.nix @@ -0,0 +1,15 @@ +{ cabal, doctest, filepath, haskellSrcExts, transformers }: + +cabal.mkDerivation (self: { + pname = "haskell-generate"; + version = "0.2"; + sha256 = "0bkaarc40lcw3v2y6qdf91rx21v3w82y62kaadhmmh5ikq99pybw"; + buildDepends = [ haskellSrcExts transformers ]; + testDepends = [ doctest filepath ]; + meta = { + homepage = "http://github.com/bennofs/haskell-generate/"; + description = "haskell-generate"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/haskell-names/default.nix b/pkgs/development/libraries/haskell/haskell-names/default.nix index 74cfc453099..18720818459 100644 --- a/pkgs/development/libraries/haskell/haskell-names/default.nix +++ b/pkgs/development/libraries/haskell/haskell-names/default.nix @@ -1,17 +1,16 @@ -{ cabal, aeson, Cabal, dataLens, dataLensTemplate, filemanip -, filepath, haskellPackages, haskellSrcExts, hseCpp, mtl -, prettyShow, tagged, tasty, tastyGolden, transformers -, traverseWithClass, typeEq, uniplate, utf8String +{ cabal, aeson, Cabal, dataLensLight, filemanip, filepath +, haskellPackages, haskellSrcExts, hseCpp, mtl, prettyShow, tagged +, tasty, tastyGolden, transformers, traverseWithClass, typeEq +, uniplate, utf8String }: cabal.mkDerivation (self: { pname = "haskell-names"; - version = "0.3.3"; - sha256 = "1f40dyrdb9c5iysmclql75l86zg3iisnyyiq5fkgixdafzsq31ir"; + version = "0.4"; + sha256 = "02cbs3bwakm9bwh4yy242msh5hibxfr9dsc6a0nbpihj1fhbv6b4"; buildDepends = [ - aeson Cabal dataLens dataLensTemplate filepath haskellPackages - haskellSrcExts hseCpp mtl tagged transformers traverseWithClass - typeEq uniplate + aeson Cabal dataLensLight filepath haskellPackages haskellSrcExts + hseCpp mtl tagged transformers traverseWithClass typeEq uniplate ]; testDepends = [ aeson Cabal filemanip filepath haskellPackages haskellSrcExts diff --git a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix b/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix index e87d59582f2..369d7fbb8c8 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix @@ -1,7 +1,7 @@ {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, editline, haskellSrc, html, parallel, regexBase, regexCompat, regexPosix, stm, time, xhtml, zlib, parsec, network, - cabalInstall, alex, happy, haddock, ghc}: + cabalInstall, alex, happy, ghc}: cabal.mkDerivation (self : { pname = "haskell-platform"; @@ -10,6 +10,7 @@ cabal.mkDerivation (self : { url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz"; sha256 = "e0469fac9b1d091d8299ae16a4e2e7fcd504285bba066b17153a0f0104a049bd"; }; + isLibrary = false; propagatedBuildInputs = [ GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline haskellSrc html parallel regexBase regexCompat regexPosix @@ -18,7 +19,9 @@ cabal.mkDerivation (self : { ]; meta = { description = "Haskell Platform meta package"; - maintainers = [self.stdenv.lib.maintainers.andres]; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [andres simons]; + broken = true; # cgi and cabal-install won't compile }; }) - diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix index fc7de20f6c1..65395662a89 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix @@ -1,24 +1,27 @@ {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix, stm, xhtml, zlib, parsec, - cabalInstall, alex, happy, haddock, ghc}: + cabalInstall, alex, happy, ghc}: cabal.mkDerivation (self : { pname = "haskell-platform"; version = "2010.1.0.0"; src = fetchurl { url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz"; - sha256 = "64c9fec5cdc4b6f515b7f296d59984d2dee05927b7e24ea67324ad5f4ac3e994"; + sha256 = "0cadj0ql2i5d5njwcbhmjkf4qrkfmxirg5vjv1wlx3ayzbynbrp4"; }; + isLibrary = false; propagatedBuildInputs = [ GLUT HTTP HUnit OpenGL QuickCheck cgi fgl haskellSrc html network parallel regexBase regexCompat regexPosix stm xhtml zlib parsec - cabalInstall alex happy ghc haddock + cabalInstall alex happy ghc ]; meta = { description = "Haskell Platform meta package"; - maintainers = [self.stdenv.lib.maintainers.andres]; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [andres simons]; + broken = true; # cgi libary doesn't compile }; }) - diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix index 8f00f5fb48b..b9a3a841af5 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix @@ -1,7 +1,7 @@ {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix, stm, xhtml, zlib, mtl, parsec, deepseq, - cabalInstall, alex, happy, haddock, ghc}: + cabalInstall, alex, happy, ghc}: cabal.mkDerivation (self : { pname = "haskell-platform"; @@ -10,14 +10,17 @@ cabal.mkDerivation (self : { url = "http://pkgs.fedoraproject.org/repo/pkgs/haskell-platform/haskell-platform-2010.2.0.0.tar.gz/9c9c6422ebfe1a5e78e69ae017f4d54b/haskell-platform-2010.2.0.0.tar.gz"; sha256 = "c0b0b45151e74cff759ae25083c2ff7a7af4d2f74c19294b78730c879864f3c0"; }; + isLibrary = false; propagatedBuildInputs = [ GLUT HTTP HUnit OpenGL QuickCheck cgi fgl haskellSrc html network parallel regexBase regexCompat regexPosix stm xhtml zlib mtl parsec deepseq - cabalInstall alex happy ghc haddock + cabalInstall alex happy ghc ]; meta = { description = "Haskell Platform meta package"; - maintainers = [self.stdenv.lib.maintainers.andres]; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [andres simons]; }; }) diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix index 8eb1b457aa3..4a9752a0611 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix @@ -1,7 +1,7 @@ {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix, stm, syb, deepseq, text, transformers, mtl, xhtml, zlib, - cabalInstall, alex, happy, haddock, ghc}: + cabalInstall, alex, happy, ghc}: cabal.mkDerivation (self : { pname = "haskell-platform"; @@ -11,16 +11,18 @@ cabal.mkDerivation (self : { url = "http://lambda.haskell.org/hp-tmp/${self.version}/cabal/${self.pname}-${self.version}.tar.gz"; sha256 = "01ppv8jdyvbngml9vgvrvnani6fj1nbk8mqmrkd8c508l7q9g6vb"; }; + isLibrary = false; propagatedBuildInputs = [ GLUT HTTP HUnit OpenGL QuickCheck cgi fgl haskellSrc html network parallel parsec regexBase regexCompat regexPosix stm syb deepseq text transformers mtl xhtml zlib - cabalInstall alex happy ghc haddock + cabalInstall alex happy ghc ]; noHaddock = true; meta = { description = "Haskell Platform meta package"; - maintainers = [self.stdenv.lib.maintainers.andres]; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [andres simons]; }; }) - diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix index da70d32861d..cae4cc6796c 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix @@ -1,7 +1,7 @@ {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix, stm, syb, deepseq, text, transformers, mtl, xhtml, zlib, - cabalInstall, alex, happy, haddock, ghc}: + cabalInstall, alex, happy, ghc}: # This is just a meta-package. Because upstream fails to provide proper versioned # release tarballs that can be used for the purpose of verifying this package, we @@ -14,11 +14,12 @@ cabal.mkDerivation (self : { cabalFile = ./haskell-platform-2011.2.0.1.cabal; setupFile = ./Setup.hs; src = null; + isLibrary = false; propagatedBuildInputs = [ GLUT HTTP HUnit OpenGL QuickCheck cgi fgl haskellSrc html network parallel parsec regexBase regexCompat regexPosix stm syb deepseq text transformers mtl xhtml zlib - cabalInstall alex happy ghc haddock + cabalInstall alex happy ghc ]; unpackPhase = '' sourceRoot=haskell-platform @@ -30,7 +31,8 @@ cabal.mkDerivation (self : { noHaddock = true; meta = { description = "Haskell Platform meta package"; - maintainers = [self.stdenv.lib.maintainers.andres]; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [andres simons]; }; }) - diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix index 8dd833a7bf0..61aa32aff45 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix @@ -1,7 +1,7 @@ {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix, stm, syb, deepseq, text, transformers, mtl, xhtml, zlib, - cabalInstall, alex, happy, haddock, ghc}: + cabalInstall, alex, happy, ghc}: # This is just a meta-package. Because upstream fails to provide proper versioned # release tarballs that can be used for the purpose of verifying this package, we @@ -14,11 +14,12 @@ cabal.mkDerivation (self : { cabalFile = ./haskell-platform-2011.4.0.0.cabal; setupFile = ./Setup.hs; src = null; + isLibrary = false; propagatedBuildInputs = [ GLUT HTTP HUnit OpenGL QuickCheck cgi fgl haskellSrc html network parallel parsec regexBase regexCompat regexPosix stm syb deepseq text transformers mtl xhtml zlib - cabalInstall alex happy ghc haddock + cabalInstall alex happy ghc ]; unpackPhase = '' sourceRoot=haskell-platform @@ -33,10 +34,6 @@ cabal.mkDerivation (self : { description = "Haskell Platform meta package"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ - self.stdenv.lib.maintainers.andres - self.stdenv.lib.maintainers.simons - ]; + maintainers = with self.stdenv.lib.maintainers; [andres simons]; }; }) - diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix index be2aa50e396..9873342fa8d 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix @@ -1,7 +1,7 @@ {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix, stm, syb, deepseq, text, transformers, mtl, xhtml, zlib, random, - cabalInstall, alex, happy, haddock, ghc}: + cabalInstall, alex, happy, ghc}: # This is just a meta-package. Because upstream fails to provide proper versioned # release tarballs that can be used for the purpose of verifying this package, we @@ -14,11 +14,12 @@ cabal.mkDerivation (self : { cabalFile = ./haskell-platform-2012.2.0.0.cabal; setupFile = ./Setup.hs; src = null; + isLibrary = false; propagatedBuildInputs = [ GLUT HTTP HUnit OpenGL QuickCheck cgi fgl haskellSrc html network parallel parsec regexBase regexCompat regexPosix stm syb deepseq text transformers mtl xhtml zlib random - cabalInstall alex happy ghc haddock + cabalInstall alex happy ghc ]; unpackPhase = '' sourceRoot=haskell-platform @@ -33,10 +34,6 @@ cabal.mkDerivation (self : { description = "Haskell Platform meta package"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ - self.stdenv.lib.maintainers.andres - self.stdenv.lib.maintainers.simons - ]; + maintainers = with self.stdenv.lib.maintainers; [andres simons]; }; }) - diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix index c9f269eebef..e54f9264159 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix @@ -2,7 +2,7 @@ haskellSrc, html, network, parallel, parsec, primitive, regexBase, regexCompat, regexPosix, split, stm, syb, deepseq, text, transformers, mtl, vector, xhtml, zlib, random, - cabalInstall, alex, happy, haddock, ghc}: + cabalInstall, alex, happy, ghc}: # This is just a meta-package. Because upstream fails to provide proper versioned # release tarballs that can be used for the purpose of verifying this package, we @@ -15,12 +15,13 @@ cabal.mkDerivation (self : { cabalFile = ./haskell-platform-2012.4.0.0.cabal; setupFile = ./Setup.hs; src = null; + isLibrary = false; propagatedBuildInputs = [ GLUT HTTP HUnit OpenGL QuickCheck async cgi fgl haskellSrc html network parallel parsec primitive regexBase regexCompat regexPosix split stm syb deepseq text transformers mtl vector xhtml zlib random - cabalInstall alex happy ghc haddock + cabalInstall alex happy ghc ]; unpackPhase = '' sourceRoot=haskell-platform @@ -35,10 +36,6 @@ cabal.mkDerivation (self : { description = "Haskell Platform meta package"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ - self.stdenv.lib.maintainers.andres - self.stdenv.lib.maintainers.simons - ]; + maintainers = with self.stdenv.lib.maintainers; [andres simons]; }; }) - 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 f209c39d438..c7ce9b09815 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 @@ -3,7 +3,7 @@ , hashable, html, HTTP, HUnit, mtl, network, OpenGL, OpenGLRaw, parallel , parsec, QuickCheck, random, regexBase, regexCompat, regexPosix, split, stm , syb, text, transformers, unorderedContainers, vector, xhtml, zlib -, cabalInstall, alex, haddock, happy, primitive, ghc +, cabalInstall, alex, happy, primitive, ghc }: # This is just a meta-package. Because upstream fails to provide proper versioned @@ -17,12 +17,13 @@ cabal.mkDerivation (self : { cabalFile = ./haskell-platform-2013.2.0.0.cabal; setupFile = ./Setup.hs; src = null; + isLibrary = false; propagatedBuildInputs = [ async attoparsec caseInsensitive cgi fgl GLUT GLURaw haskellSrc hashable html HTTP HUnit mtl network OpenGL OpenGLRaw parallel parsec QuickCheck random regexBase regexCompat regexPosix split stm syb text transformers unorderedContainers vector xhtml zlib - cabalInstall alex haddock happy primitive ghc + cabalInstall alex happy primitive ghc ]; unpackPhase = '' sourceRoot=haskell-platform @@ -30,7 +31,6 @@ 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 = { @@ -38,9 +38,6 @@ cabal.mkDerivation (self : { description = "Haskell Platform meta package"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ - self.stdenv.lib.maintainers.andres - self.stdenv.lib.maintainers.simons - ]; + maintainers = with self.stdenv.lib.maintainers; [andres simons]; }; }) diff --git a/pkgs/development/libraries/haskell/haskell-platform/default.nix b/pkgs/development/libraries/haskell/haskell-platform/default.nix new file mode 100644 index 00000000000..b222df29b5a --- /dev/null +++ b/pkgs/development/libraries/haskell/haskell-platform/default.nix @@ -0,0 +1,310 @@ +{ pkgs }: + +let + haskellPlatformPackages_2013_2_0_0 = pkgs.haskell.packages_ghc763.override { + extension = self : super : { + async = self.async_2_0_1_4; + attoparsec = self.attoparsec_0_10_4_0; + caseInsensitive = self.caseInsensitive_1_0_0_1; + cgi = self.cgi_3001_1_7_5; + fgl = self.fgl_5_4_2_4; + GLUT = self.GLUT_2_4_0_0; + GLURaw = self.GLURaw_1_3_0_0; + haskellSrc = self.haskellSrc_1_0_1_5; + hashable = self.hashable_1_1_2_5; + html = self.html_1_0_1_2; + HTTP = self.HTTP_4000_2_8; + HUnit = self.HUnit_1_2_5_2; + mtl = self.mtl_2_1_2; + network = self.network_2_4_1_2; + OpenGL = self.OpenGL_2_8_0_0; + OpenGLRaw = self.OpenGLRaw_1_3_0_0; + parallel = self.parallel_3_2_0_3; + parsec = self.parsec_3_1_3; + QuickCheck = self.QuickCheck_2_6; + random = self.random_1_0_1_1; + regexBase = self.regexBase_0_93_2; + regexCompat = self.regexCompat_0_95_1; + regexPosix = self.regexPosix_0_95_2; + split = self.split_0_2_2; + stm = self.stm_2_4_2; + syb = self.syb_0_4_0; + text = self.text_0_11_3_1; + transformers = self.transformers_0_3_0_0; + unorderedContainers = self.unorderedContainers_0_2_3_0; + vector = self.vector_0_10_0_1; + xhtml = self.xhtml_3000_2_1; + zlib = self.zlib_0_5_4_1; + cabalInstall = self.cabalInstall_1_16_0_2; + alex = self.alex_3_0_5; + happy = self.happy_1_18_10; + primitive = self.primitive_0_5_0_1; # semi-official, but specified + }; + }; + + haskellPlatformPackages_2012_4_0_0 = pkgs.haskell.packages_ghc742.override { + extension = self : super : { + async = self.async_2_0_1_3; + cgi = self.cgi_3001_1_7_4; + fgl = self.fgl_5_4_2_4; + GLUT = self.GLUT_2_1_2_1; + haskellSrc = self.haskellSrc_1_0_1_5; + html = self.html_1_0_1_2; + HTTP = super.HTTP_4000_2_5.override { network = self.network_2_3_1_0; }; + HUnit = self.HUnit_1_2_5_1; + mtl = self.mtl_2_1_2; + network = self.network_2_3_1_0; + OpenGL = self.OpenGL_2_2_3_1; + parallel = self.parallel_3_2_0_3; + parsec = self.parsec_3_1_3; + QuickCheck = self.QuickCheck_2_5_1_1; + random = self.random_1_0_1_1; + regexBase = self.regexBase_0_93_2; + regexCompat = self.regexCompat_0_95_1; + regexPosix = self.regexPosix_0_95_2; + split = self.split_0_2_1_1; + stm = self.stm_2_4; + syb = self.syb_0_3_7; + text = self.text_0_11_2_3; + transformers = self.transformers_0_3_0_0; + vector = self.vector_0_10_0_1; + xhtml = self.xhtml_3000_2_1; + zlib = self.zlib_0_5_4_0; + cabalInstall = self.cabalInstall_0_14_0; + alex = self.alex_3_0_2; + happy = self.happy_1_18_10; + primitive = self.primitive_0_5_0_1; # semi-official, but specified + }; + }; + + haskellPlatformPackages_2012_2_0_0 = pkgs.haskell.packages_ghc742.override { + ghcPath = ../../../compilers/ghc/7.4.1.nix; + extension = self : super : { + cgi = self.cgi_3001_1_7_4; + fgl = self.fgl_5_4_2_4; + GLUT = self.GLUT_2_1_2_1; + haskellSrc = self.haskellSrc_1_0_1_5; + html = self.html_1_0_1_2; + HTTP = self.HTTP_4000_2_3; + HUnit = self.HUnit_1_2_4_2; + mtl = self.mtl_2_1_1; + network = self.network_2_3_0_13; + OpenGL = self.OpenGL_2_2_3_1; + parallel = self.parallel_3_2_0_2; + parsec = self.parsec_3_1_2; + QuickCheck = self.QuickCheck_2_4_2; + random = self.random_1_0_1_1; + regexBase = self.regexBase_0_93_2; + regexCompat = self.regexCompat_0_95_1; + regexPosix = self.regexPosix_0_95_1; + stm = self.stm_2_3; + syb = self.syb_0_3_6_1; + text = self.text_0_11_2_0; + transformers = self.transformers_0_3_0_0; + xhtml = self.xhtml_3000_2_1; + zlib = self.zlib_0_5_3_3; + cabalInstall = self.cabalInstall_0_14_0; + alex = self.alex_3_0_1; + happy = self.happy_1_18_9; + }; + }; + + haskellPlatformPackages_2011_4_0_0 = pkgs.haskell.packages_ghc704.override { + extension = self : super : { + cgi = self.cgi_3001_1_7_4; + fgl = self.fgl_5_4_2_4; + GLUT = self.GLUT_2_1_2_1; + haskellSrc = self.haskellSrc_1_0_1_4; + html = self.html_1_0_1_2; + HUnit = self.HUnit_1_2_4_2; + network = self.network_2_3_0_5; + OpenGL = self.OpenGL_2_2_3_0; + parallel = self.parallel_3_1_0_1; + parsec = self.parsec_3_1_1; + QuickCheck = self.QuickCheck_2_4_1_1; + regexBase = self.regexBase_0_93_2; + regexCompat = self.regexCompat_0_95_1; + regexPosix = self.regexPosix_0_95_1; + stm = self.stm_2_2_0_1; + syb = self.syb_0_3_3; + xhtml = self.xhtml_3000_2_0_4; + zlib = self.zlib_0_5_3_1; + HTTP = self.HTTP_4000_1_2; + deepseq = self.deepseq_1_1_0_2; + text = self.text_0_11_1_5; + transformers = self.transformers_0_2_2_0; + mtl = self.mtl_2_0_1_0; + cabalInstall = self.cabalInstall_0_10_2; + alex = self.alex_2_3_5; + happy = self.happy_1_18_6; + }; + }; + + haskellPlatformPackages_2011_2_0_1 = pkgs.haskell.packages_ghc704.override { + ghcPath = ../../../compilers/ghc/7.0.3.nix; + extension = self : super : { + cgi = self.cgi_3001_1_7_4; + fgl = self.fgl_5_4_2_3; + GLUT = self.GLUT_2_1_2_1; + haskellSrc = self.haskellSrc_1_0_1_4; + html = self.html_1_0_1_2; + HUnit = self.HUnit_1_2_2_3; + network = self.network_2_3_0_2; + OpenGL = self.OpenGL_2_2_3_0; + parallel = self.parallel_3_1_0_1; + parsec = self.parsec_3_1_1; + QuickCheck = self.QuickCheck_2_4_0_1; + regexBase = self.regexBase_0_93_2; + regexCompat = self.regexCompat_0_93_1; + regexPosix = self.regexPosix_0_94_4; + stm = self.stm_2_2_0_1; + syb = self.syb_0_3; + xhtml = self.xhtml_3000_2_0_1; + zlib = self.zlib_0_5_3_1; + HTTP = self.HTTP_4000_1_1; + deepseq = self.deepseq_1_1_0_2; + text = self.text_0_11_0_6; + transformers = self.transformers_0_2_2_0; + mtl = self.mtl_2_0_1_0; + cabalInstall = self.cabalInstall_0_10_2; + alex = self.alex_2_3_5; + happy = self.happy_1_18_6; + }; + }; + + haskellPlatformPackages_2011_2_0_0 = pkgs.haskell.packages_ghc704.override { + ghcPath = ../../../compilers/ghc/7.0.2.nix; + extension = self : super : { + cgi = self.cgi_3001_1_7_4; + fgl = self.fgl_5_4_2_3; + GLUT = self.GLUT_2_1_2_1; + haskellSrc = self.haskellSrc_1_0_1_4; + html = self.html_1_0_1_2; + HUnit = self.HUnit_1_2_2_3; + network = self.network_2_3_0_2; + OpenGL = self.OpenGL_2_2_3_0; + parallel = self.parallel_3_1_0_1; + parsec = self.parsec_3_1_1; + QuickCheck = self.QuickCheck_2_4_0_1; + regexBase = self.regexBase_0_93_2; + regexCompat = self.regexCompat_0_93_1; + regexPosix = self.regexPosix_0_94_4; + stm = self.stm_2_2_0_1; + syb = self.syb_0_3; + xhtml = self.xhtml_3000_2_0_1; + zlib = self.zlib_0_5_3_1; + HTTP = self.HTTP_4000_1_1; + deepseq = self.deepseq_1_1_0_2; + text = self.text_0_11_0_5; + transformers = self.transformers_0_2_2_0; + mtl = self.mtl_2_0_1_0; + cabalInstall = self.cabalInstall_0_10_2; + alex = self.alex_2_3_5; + happy = self.happy_1_18_6; + }; + }; + + haskellPlatformPackages_2010_2_0_0 = pkgs.haskell.packages_ghc6123.override { + extension = self : super : { + cgi = self.cgi_3001_1_7_3; + fgl = self.fgl_5_4_2_3; + GLUT = self.GLUT_2_1_2_1; + haskellSrc = self.haskellSrc_1_0_1_3; + html = self.html_1_0_1_2; + HUnit = self.HUnit_1_2_2_1; + mtl = self.mtl_1_1_0_2; + network = self.network_2_2_1_7; + OpenGL = self.OpenGL_2_2_3_0; + parallel = self.parallel_2_2_0_1; + parsec = self.parsec_2_1_0_1; + QuickCheck = self.QuickCheck_2_1_1_1; + regexBase = self.regexBase_0_93_2; + regexCompat = self.regexCompat_0_93_1; + regexPosix = self.regexPosix_0_94_2; + stm = self.stm_2_1_2_1; + xhtml = self.xhtml_3000_2_0_1; + zlib = self.zlib_0_5_2_0; + HTTP = self.HTTP_4000_0_9; + deepseq = self.deepseq_1_1_0_0; + text = self.text_0_11_0_5; + cabalInstall = self.cabalInstall_0_8_2; + alex = self.alex_2_3_3; + happy = self.happy_1_18_5; + }; + }; + + haskellPlatformPackages_2010_1_0_0 = pkgs.haskell.packages_ghc6123.override { + extension = self : super : { + haskellSrc = self.haskellSrc_1_0_1_3; + html = self.html_1_0_1_2; + fgl = self.fgl_5_4_2_2; + cabalInstall = self.cabalInstall_0_8_0; + GLUT = self.GLUT_2_1_2_1; + OpenGL = self.OpenGL_2_2_3_0; + zlib = self.zlib_0_5_2_0; + alex = self.alex_2_3_2; + cgi = self.cgi_3001_1_7_2; + QuickCheck = self.QuickCheck_2_1_1_1; + HTTP = self.HTTP_4000_0_9; + deepseq = self.deepseq_1_1_0_0; + HUnit = self.HUnit_1_2_2_1; + network = self.network_2_2_1_7; + parallel = self.parallel_2_2_0_1; + parsec = self.parsec_2_1_0_1; + regexBase = self.regexBase_0_93_1; + regexCompat = self.regexCompat_0_92; + regexPosix = self.regexPosix_0_94_1; + stm = self.stm_2_1_1_2; + xhtml = self.xhtml_3000_2_0_1; + happy = self.happy_1_18_4; + }; + }; + + haskellPlatformPackages_2009_2_0_2 = pkgs.haskell.packages_ghc6104.override { + extension = self : super : { + time = self.time_1_1_2_4; + cgi = self.cgi_3001_1_7_1; + editline = self.editline_0_2_1_0; + fgl = self.fgl_5_4_2_2; + GLUT = self.GLUT_2_1_1_2; + haskellSrc = self.haskellSrc_1_0_1_3; + html = self.html_1_0_1_2; + HUnit = self.HUnit_1_2_0_3; + network = self.network_2_2_1_4; + OpenGL = self.OpenGL_2_2_1_1; + parallel = self.parallel_1_1_0_1; + parsec = self.parsec_2_1_0_1; + QuickCheck = self.QuickCheck_1_2_0_0; + regexBase = self.regexBase_0_72_0_2; + regexCompat = self.regexCompat_0_71_0_1; + regexPosix = self.regexPosix_0_72_0_3; + stm = self.stm_2_1_1_2; + xhtml = self.xhtml_3000_2_0_1; + zlib = self.zlib_0_5_0_0; + HTTP = self.HTTP_4000_0_6; + cabalInstall = self.cabalInstall_0_6_2; + alex = self.alex_2_3_1; + happy = self.happy_1_18_4; + }; + }; + +in +{ + "2013_2_0_0" = haskellPlatformPackages_2013_2_0_0.callPackage ./2013.2.0.0.nix {}; + + "2012_4_0_0" = haskellPlatformPackages_2012_4_0_0.callPackage ./2012.4.0.0.nix {}; + + "2012_2_0_0" = haskellPlatformPackages_2012_2_0_0.callPackage ./2012.2.0.0.nix {}; + + "2011_4_0_0" = haskellPlatformPackages_2011_4_0_0.callPackage ./2011.4.0.0.nix {}; + + "2011_2_0_1" = haskellPlatformPackages_2011_2_0_1.callPackage ./2011.2.0.1.nix {}; + + "2011_2_0_0" = haskellPlatformPackages_2011_2_0_0.callPackage ./2011.2.0.0.nix {}; + + "2010_2_0_0" = haskellPlatformPackages_2010_2_0_0.callPackage ./2010.2.0.0.nix {}; + + "2010_1_0_0" = haskellPlatformPackages_2010_1_0_0.callPackage ./2010.1.0.0.nix {}; + + "2009_2_0_2" = haskellPlatformPackages_2009_2_0_2.callPackage ./2009.2.0.2.nix {}; +} diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix index 270353b7f76..b5522101764 100644 --- a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix +++ b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix @@ -1,14 +1,15 @@ -{ cabal, cpphs, filepath, happy, smallcheck, tasty, tastyHunit -, tastySmallcheck +{ cabal, cpphs, filemanip, filepath, happy, mtl, smallcheck, syb +, tasty, tastyGolden, tastySmallcheck }: cabal.mkDerivation (self: { pname = "haskell-src-exts"; - version = "1.14.0.1"; - sha256 = "1bsqjj4hy8mqprs44yfy1c96678w9q708yc40g5ygqfyhg0hd29s"; + version = "1.15.0.1"; + sha256 = "0xp5i06c478vn5m504ax5dfa7p5zc0kflbdkm2ijdzc779lpbx45"; buildDepends = [ cpphs ]; testDepends = [ - filepath smallcheck tasty tastyHunit tastySmallcheck + filemanip filepath mtl smallcheck syb tasty tastyGolden + tastySmallcheck ]; buildTools = [ happy ]; doCheck = false; diff --git a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix index cad077f7c9c..b54b1ff753d 100644 --- a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix +++ b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "haskell-src-meta"; - version = "0.6.0.5"; - sha256 = "1cx3fkhmyhj18b4nm460xrcb1w53qw198gkqb38cjyafr2frlbyh"; + version = "0.6.0.7"; + sha256 = "0cxqh35cd2j6ljsmgjisgm9pn26rj01x43mkn9jk6qs1fbqspb4d"; buildDepends = [ haskellSrcExts syb thOrphans uniplate ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/hcltest/default.nix b/pkgs/development/libraries/haskell/hcltest/default.nix new file mode 100644 index 00000000000..170c885d240 --- /dev/null +++ b/pkgs/development/libraries/haskell/hcltest/default.nix @@ -0,0 +1,22 @@ +{ cabal, dlist, doctest, either, filepath, free, lens, mmorph +, monadControl, mtl, optparseApplicative, randomShuffle, split, stm +, tagged, tasty, temporary, text, transformers, transformersBase +}: + +cabal.mkDerivation (self: { + pname = "hcltest"; + version = "0.3.1"; + sha256 = "0qnf6ib01njcbjfbwxff8y4sqmrj6nyy9y9hb0l0kw21cxsgl7c9"; + buildDepends = [ + dlist either filepath free lens mmorph monadControl mtl + optparseApplicative randomShuffle split stm tagged tasty temporary + text transformers transformersBase + ]; + testDepends = [ doctest filepath ]; + meta = { + homepage = "http://github.com/bennofs/hcltest/"; + description = "A testing library for command line applications"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix index 77ebf3fd9af..faf5212a794 100644 --- a/pkgs/development/libraries/haskell/heist/default.nix +++ b/pkgs/development/libraries/haskell/heist/default.nix @@ -13,6 +13,7 @@ cabal.mkDerivation (self: { filepath hashable MonadCatchIOTransformers mtl random text time transformers unorderedContainers vector xmlhtml ]; + jailbreak = true; meta = { homepage = "http://snapframework.com/"; description = "An Haskell template system supporting both HTML5 and XML"; diff --git a/pkgs/development/libraries/haskell/hfsevents/default.nix b/pkgs/development/libraries/haskell/hfsevents/default.nix new file mode 100644 index 00000000000..3f4b1355c61 --- /dev/null +++ b/pkgs/development/libraries/haskell/hfsevents/default.nix @@ -0,0 +1,16 @@ +{ cabal, cereal, gccApple, mtl, text }: + +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/hgal/default.nix b/pkgs/development/libraries/haskell/hgal/default.nix new file mode 100644 index 00000000000..b8d86d5d303 --- /dev/null +++ b/pkgs/development/libraries/haskell/hgal/default.nix @@ -0,0 +1,14 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "hgal"; + version = "2.0.0.2"; + sha256 = "17qw8izy54042g56mp3hdbmqcyk95cdarg58xggniwd85q2l5dpi"; + buildDepends = [ mtl ]; + meta = { + description = "library for computation automorphism group and canonical labelling of a graph"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ianwookim ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix index 497d1083f55..0f984c50e5f 100644 --- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix +++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix @@ -1,14 +1,15 @@ -{ cabal, blazeHtml, filepath, mtl, parsec, regexPcre }: +{ cabal, blazeHtml, filepath, mtl, parsec, regexPcre, utf8String }: cabal.mkDerivation (self: { pname = "highlighting-kate"; - version = "0.5.6.1"; - sha256 = "0hwzybihx5znd2z00kqcffqmng7vwynmav0x0zf2b9g415c2lx23"; + version = "0.5.8.1"; + sha256 = "10hbsra6ifjj765shf6x4c8kgb5bmv3zcgya3lcswvwa9xn78h9p"; 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"; + buildDepends = [ + blazeHtml filepath mtl parsec regexPcre utf8String + ]; + prePatch = "sed -i -e 's|regex-pcre-builtin >= .*|regex-pcre|' highlighting-kate.cabal"; meta = { homepage = "http://github.com/jgm/highlighting-kate"; description = "Syntax highlighting"; diff --git a/pkgs/development/libraries/haskell/hinotify/default.nix b/pkgs/development/libraries/haskell/hinotify/default.nix index bd706339c02..d33a294effd 100644 --- a/pkgs/development/libraries/haskell/hinotify/default.nix +++ b/pkgs/development/libraries/haskell/hinotify/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "hinotify"; - version = "0.3.6"; - sha256 = "0vzn9z90z9zk7g9pvbrgm6xyb4b5x2dai1c70fvmdi3w4h2x17zw"; + version = "0.3.7"; + sha256 = "0i7mxg9ilzcgijda6j3ya5xnpbxa3wm9xswdfif95jim9w82sw0b"; meta = { homepage = "https://github.com/kolmodin/hinotify.git"; description = "Haskell binding to inotify"; diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix index 09fdfe232a6..a29235d8512 100644 --- a/pkgs/development/libraries/haskell/hint/default.nix +++ b/pkgs/development/libraries/haskell/hint/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hint"; - version = "0.4.1.0"; - sha256 = "1hc66yfzg9jrm5h3hd52rm4ca8ha0j93rhjpjh6hhzr4a40jv0pl"; + version = "0.4.2.0"; + sha256 = "08cq9zyyry7cxc30jmsdgrnvw6v2jbxnxcwcjs3bh77rds947mmd"; buildDepends = [ exceptions extensibleExceptions filepath ghcMtl ghcPaths mtl random utf8String diff --git a/pkgs/development/libraries/haskell/hit/default.nix b/pkgs/development/libraries/haskell/hit/default.nix index abfe150c163..9e1a48d94e6 100644 --- a/pkgs/development/libraries/haskell/hit/default.nix +++ b/pkgs/development/libraries/haskell/hit/default.nix @@ -1,22 +1,22 @@ -{ cabal, attoparsec, bytedump, cryptohash, HUnit, mtl, parsec -, patience, QuickCheck, random, systemFileio, systemFilepath -, testFramework, testFrameworkQuickcheck2, time, vector, zlib -, zlibBindings +{ cabal, attoparsec, bytedump, cryptohash, hourglass, HUnit, mtl +, parsec, patience, QuickCheck, random, systemFileio +, systemFilepath, testFramework, testFrameworkQuickcheck2, vector +, zlib, zlibBindings }: cabal.mkDerivation (self: { pname = "hit"; - version = "0.5.5"; - sha256 = "18k2fgwflzs2lpkhxg2xvni3l9cdn3hk9ajrd4flz12j7vp0ga4c"; + version = "0.6.0"; + sha256 = "1haslqhnpfdll5cl3vq1y03h916lydhc9mq4gagm9qzjfjqv54k2"; isLibrary = true; isExecutable = true; buildDepends = [ - attoparsec cryptohash mtl parsec patience random systemFileio - systemFilepath time vector zlib zlibBindings + attoparsec cryptohash hourglass mtl parsec patience random + systemFileio systemFilepath vector zlib zlibBindings ]; testDepends = [ - bytedump HUnit QuickCheck testFramework testFrameworkQuickcheck2 - time + bytedump hourglass HUnit QuickCheck testFramework + testFrameworkQuickcheck2 ]; meta = { homepage = "http://github.com/vincenthz/hit"; diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix index 7e57f0d21e1..5c0c94b2678 100644 --- a/pkgs/development/libraries/haskell/hledger-lib/default.nix +++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix @@ -1,20 +1,19 @@ -{ cabal, cmdargs, csv, dataPprint, filepath, HUnit, mtl, parsec -, prettyShow, regexpr, regexTdfa, safe, split, testFramework +{ cabal, cmdargs, csv, filepath, HUnit, mtl, parsec, prettyShow +, regexpr, regexTdfa, safe, split, testFramework , testFrameworkHunit, time, transformers, utf8String }: cabal.mkDerivation (self: { pname = "hledger-lib"; - version = "0.22.1"; - sha256 = "0kaa778swx4vw0rkhxd3h9h9qj13rzz24x92z139vad1n722gcw1"; + version = "0.23.2"; + sha256 = "1z9gxbah649r9vzq012mqnk07rfnd6c4ik82klksk0zzd4yxf07d"; buildDepends = [ - cmdargs csv dataPprint filepath HUnit mtl parsec prettyShow regexpr - regexTdfa safe split time transformers utf8String + cmdargs csv filepath HUnit mtl parsec prettyShow regexpr regexTdfa + safe split time transformers utf8String ]; testDepends = [ - cmdargs csv dataPprint filepath HUnit mtl parsec prettyShow regexpr - regexTdfa safe split testFramework testFrameworkHunit time - transformers + cmdargs csv filepath HUnit mtl parsec prettyShow regexpr regexTdfa + safe split testFramework testFrameworkHunit time transformers ]; meta = { homepage = "http://hledger.org"; diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix index 58328ae9cf5..675e6b32fb5 100644 --- a/pkgs/development/libraries/haskell/hledger-web/default.nix +++ b/pkgs/development/libraries/haskell/hledger-web/default.nix @@ -1,28 +1,28 @@ { cabal, blazeHtml, blazeMarkup, clientsession, cmdargs -, dataDefault, filepath, hamlet, hjsmin, hledger, hledgerLib, hspec -, httpClient, httpConduit, HUnit, json, networkConduit, parsec -, regexpr, safe, shakespeareText, text, time, transformers, wai -, waiExtra, waiHandlerLaunch, warp, yaml, yesod, yesodCore -, yesodStatic, yesodTest +, conduitExtra, dataDefault, filepath, hamlet, hjsmin, hledger +, hledgerLib, hspec, httpClient, httpConduit, HUnit, json +, networkConduit, parsec, regexpr, safe, shakespeare +, shakespeareText, text, time, transformers, wai, waiExtra +, waiHandlerLaunch, warp, yaml, yesod, yesodCore, yesodStatic +, yesodTest }: cabal.mkDerivation (self: { pname = "hledger-web"; - version = "0.22.4"; - sha256 = "07xz6ijg3nzzjair5gdjjryv5hs2rxws4maz22rrqnpf8wwjjc54"; + version = "0.23.2"; + sha256 = "1n4n2zj6nqwvwmb6cxr16x2fnmzs7v21snjhq2nnvlik613rnnq7"; isLibrary = true; isExecutable = true; buildDepends = [ - blazeHtml blazeMarkup clientsession cmdargs dataDefault filepath - hamlet hjsmin hledger hledgerLib httpClient httpConduit HUnit json - networkConduit parsec regexpr safe shakespeareText text time - transformers wai waiExtra waiHandlerLaunch warp yaml yesod - yesodCore yesodStatic + blazeHtml blazeMarkup clientsession cmdargs conduitExtra + dataDefault filepath hamlet hjsmin hledger hledgerLib httpClient + httpConduit HUnit json networkConduit parsec regexpr safe + shakespeare shakespeareText text time transformers wai waiExtra + waiHandlerLaunch warp yaml yesod 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/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix index 17db5432991..331e857ee14 100644 --- a/pkgs/development/libraries/haskell/hledger/default.nix +++ b/pkgs/development/libraries/haskell/hledger/default.nix @@ -1,23 +1,24 @@ -{ cabal, cmdargs, csv, dataPprint, filepath, haskeline, hledgerLib -, HUnit, mtl, parsec, prettyShow, regexpr, safe, shakespeareText +{ cabal, cmdargs, csv, filepath, haskeline, hledgerLib, HUnit, mtl +, parsec, prettyShow, regexpr, safe, shakespeare, shakespeareText , split, tabular, testFramework, testFrameworkHunit, text, time -, transformers, utf8String +, transformers, utf8String, wizards }: cabal.mkDerivation (self: { pname = "hledger"; - version = "0.22.1"; - sha256 = "1mlh5dlbfkqz41i7zaa4cybf75cg5mrp6sj48kwns0liaqyvav58"; + version = "0.23.2"; + sha256 = "1q57mb37qkngdvivaj4dykrkg4sb2pchg2ssdxx8ss4zhbsrk713"; isLibrary = true; isExecutable = true; buildDepends = [ - cmdargs dataPprint filepath haskeline hledgerLib HUnit mtl parsec - regexpr safe shakespeareText split tabular text time utf8String + cmdargs filepath haskeline hledgerLib HUnit mtl parsec prettyShow + regexpr safe shakespeare shakespeareText split tabular text time + utf8String wizards ]; testDepends = [ - cmdargs csv dataPprint filepath haskeline hledgerLib HUnit mtl - parsec prettyShow regexpr safe shakespeareText split tabular - testFramework testFrameworkHunit text time transformers + cmdargs csv filepath haskeline hledgerLib HUnit mtl parsec + prettyShow regexpr safe shakespeare shakespeareText split tabular + testFramework testFrameworkHunit text time transformers wizards ]; meta = { homepage = "http://hledger.org"; diff --git a/pkgs/development/libraries/haskell/hmatrix-special/default.nix b/pkgs/development/libraries/haskell/hmatrix-special/default.nix new file mode 100644 index 00000000000..4e9fccbdcd8 --- /dev/null +++ b/pkgs/development/libraries/haskell/hmatrix-special/default.nix @@ -0,0 +1,14 @@ +{ cabal, hmatrix }: + +cabal.mkDerivation (self: { + pname = "hmatrix-special"; + version = "0.2.0"; + sha256 = "0lp8mvagbzayq3r08wgk498n6d9vgb1skb8wzrzi5a1fc5j8m0wj"; + buildDepends = [ hmatrix ]; + meta = { + homepage = "http://perception.inf.um.es/hmatrix"; + description = "Interface to GSL special functions"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/holy-project/default.nix b/pkgs/development/libraries/haskell/holy-project/default.nix new file mode 100644 index 00000000000..4e751d9c003 --- /dev/null +++ b/pkgs/development/libraries/haskell/holy-project/default.nix @@ -0,0 +1,30 @@ +{ cabal, aeson, ansiTerminal, Cabal, filepath, hastache +, httpConduit, HUnit, lens, QuickCheck, random, smallcheck, split +, syb, tasty, tastyHunit, tastyQuickcheck, tastySmallcheck, text +, time +, fetchpatch}: + +cabal.mkDerivation (self: { + pname = "holy-project"; + version = "0.1.1.0"; + sha256 = "1dsyhgjcp54199zfazzzwsggxpj2dsbzfb64v6l3jz7qaapxnj9i"; + isLibrary = true; + isExecutable = true; + patches = [ (fetchpatch { url = "https://github.com/yogsototh/holy-project/pull/3.patch"; sha256 = "1ndyhfrsvn94zxzyq1w4504gz91yfv33375933qmz3wdfkc3rqf0"; }) ]; + buildDepends = [ + aeson ansiTerminal Cabal filepath hastache httpConduit HUnit lens + QuickCheck random smallcheck split syb tasty tastyHunit + tastyQuickcheck tastySmallcheck text time + ]; + testDepends = [ + Cabal HUnit QuickCheck smallcheck tasty tastyHunit tastyQuickcheck + tastySmallcheck + ]; + meta = { + homepage = "http://github.com/yogsototh/holy-project"; + description = "Start your Haskell project with cabal, git and tests"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.tomberek ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix index 995a4ef5d9a..9c3ed9e778c 100644 --- a/pkgs/development/libraries/haskell/hoogle/default.nix +++ b/pkgs/development/libraries/haskell/hoogle/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "hoogle"; - version = "4.2.31"; - sha256 = "176lyj236ncq0lg7vbl4bbm1a98ficj82aranrhyxdjzmbk3i67x"; + version = "4.2.32"; + sha256 = "1rhr7xh4x9fgflcszbsl176r8jq6rm81bwzmbz73f3pa1zf1v0zc"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff b/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff new file mode 100644 index 00000000000..df507c5a470 --- /dev/null +++ b/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff @@ -0,0 +1,28 @@ +diff --git a/src/CmdLine/All.hs b/src/CmdLine/All.hs +index 94b1d48..f41f270 100644 +--- a/src/CmdLine/All.hs ++++ b/src/CmdLine/All.hs +@@ -86,8 +86,10 @@ guessLocal = do + ghc <- findExecutable "ghc" + home <- getHomeDirectory + lib <- getLibDir ++ path <- lookup "HOOGLE_DOC_PATH" <$> getEnvironment + let xs = [takeDirectory (takeDirectory lib) "doc" {- Windows, installed with Cabal -} ] ++ + [takeDirectory (takeDirectory ghc) "doc/html/libraries" | Just ghc <- [ghc] {- Windows, installed by GHC -} ] ++ ++ maybeToList path ++ + [home ".cabal/share/doc" {- Linux -} ] + filterM doesDirectoryExist xs + +diff --git a/src/Hoogle/Language/Haskell.hs b/src/Hoogle/Language/Haskell.hs +index b037f11..f2ac047 100644 +--- a/src/Hoogle/Language/Haskell.hs ++++ b/src/Hoogle/Language/Haskell.hs +@@ -112,7 +112,7 @@ setPriority pkg mod x = x{itemPriority = pri} + + setModuleURL (Just pkg) _ x | itemLevel x == 1 = x{itemURL=if null $ itemURL x then f $ itemName x else itemURL x} + where f xs = if "http://hackage.haskell.org/package/" `isPrefixOf` itemURL pkg +- then "http://hackage.haskell.org/packages/archive/" ++ itemName pkg ++ "/latest/doc/html/" ++ file ++ then "http://hackage.haskell.org/package/" ++ itemName pkg ++ "/docs/" ++ file + else takeDirectory (itemURL pkg) ++ "/" ++ file + where file = reps '.' '-' xs ++ ".html" + setModuleURL _ _ x = x diff --git a/pkgs/development/libraries/haskell/hoogle/local.nix b/pkgs/development/libraries/haskell/hoogle/local.nix new file mode 100644 index 00000000000..9f56d028c59 --- /dev/null +++ b/pkgs/development/libraries/haskell/hoogle/local.nix @@ -0,0 +1,117 @@ +# Install not only the Hoogle library and executable, but also a local Hoogle +# database which provides "Source" links to all specified 'packages' -- or the +# current Haskell Platform if no custom package set is provided. +# +# It is intended to be used in config.nix similarly to: +# +# { packageOverrides = pkgs: rec { +# +# haskellPackages = +# let callPackage = pkgs.lib.callPackageWith haskellPackages; +# in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override { +# extraPrefs = self: { +# hoogleLocal = pkgs.haskellPackages.hoogleLocal.override { +# packages = with pkgs.haskellPackages; [ +# mmorph +# monadControl +# ] +# }; +# }; +# }); +# }} +# +# This will build mmorph and monadControl, and have the hoogle installation +# refer to their documentation via symlink so they are not garbage collected. + +{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive +, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes +, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text +, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp + +, parallel, perl, wget, rehoo, haskellPlatform +, packages ? haskellPlatform.propagatedUserEnvPkgs +}: + +cabal.mkDerivation (self: rec { + pname = "hoogle"; + version = "4.2.32"; + sha256 = "1rhr7xh4x9fgflcszbsl176r8jq6rm81bwzmbz73f3pa1zf1v0zc"; + isLibrary = true; + isExecutable = true; + buildInputs = [self.ghc Cabal] ++ self.extraBuildInputs + ++ [ parallel perl wget rehoo ] ++ packages; + buildDepends = [ + aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit + 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"; + + # The tests will fail because of the added documentation. + doCheck = false; + patches = [ ./hoogle-local.diff ]; + + docPackages = packages; + + postInstall = '' + if [ -z "$docPackages" ]; then + echo "ERROR: The packages attribute has not been set" + exit 1 + fi + + ensureDir $out/share/hoogle/doc + export HOOGLE_DOC_PATH=$out/share/hoogle/doc + + cd $out/share/hoogle + + function import_dbs() { + find $1 -name '*.txt' \ + | parallel -j$NIX_BUILD_CORES 'cp -p {} .; perl -i -pe "print \"\@url file://{//}/index.html\n\" if /^\@version/;" {/}; $out/bin/hoogle convert {/}' + } + + for i in $docPackages; do + import_dbs $i/share/doc + ln -sf $i/share/doc/*-ghc-*/* $out/share/hoogle/doc 2> /dev/null \ + || ln -sf $i/share/doc/* $out/share/hoogle/doc + done + + import_dbs ${self.ghc}/share/doc/ghc*/html/libraries + ln -sf ${self.ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc + + unset http_proxy + unset ftp_proxy + + chmod 644 *.hoo *.txt + $out/bin/hoogle data -d $PWD --redownload -l $(echo *.txt | sed 's/\.txt//g') + PATH=$out/bin:$PATH ${rehoo}/bin/rehoo -j4 -c64 . + + rm -fr downloads *.txt *.dep + mv default.hoo x || exit 0 + rm -f *.hoo + mv x default.hoo || exit 1 + + if [ ! -f default.hoo ]; then + echo "Unable to build the default Hoogle database" + exit 1 + fi + + mv $out/bin/hoogle $out/bin/.hoogle-wrapped + cat - > $out/bin/hoogle <" ]; + }; +}) \ No newline at end of file diff --git a/pkgs/development/libraries/haskell/imm/latest-feed-http-conduit-tls.patch b/pkgs/development/libraries/haskell/imm/latest-feed-http-conduit-tls.patch new file mode 100644 index 00000000000..afe72bc83e7 --- /dev/null +++ b/pkgs/development/libraries/haskell/imm/latest-feed-http-conduit-tls.patch @@ -0,0 +1,73 @@ +# HG changeset patch +# User Daniel Bergey +# Date 1398284724 0 +# Wed Apr 23 20:25:24 2014 +0000 +# Node ID 4cc692e7acc4f21ffab9e5572d286495791d22d1 +# Parent 31e3ba1aaaf9efdce66e8ef5c192d0f4214150f4 +Update for feed-0.3.9.2, http-conduit-2.0, tls-1.2 + +diff -r 31e3ba1aaaf9 -r 4cc692e7acc4 Imm/Error.hs +--- a/Imm/Error.hs Sun Jun 16 12:23:40 2013 +0200 ++++ b/Imm/Error.hs Wed Apr 23 20:25:24 2014 +0000 +@@ -41,7 +41,7 @@ + data ImmError = + OtherError String + | HTTPError HttpException +- | TLSError HandshakeFailed ++ | TLSError TLSException + | UnicodeError UnicodeException + | ParseUriError String + | ParseTimeError String +@@ -63,7 +63,7 @@ + "/!\\ Cannot parse date from item: ", + " title: " ++ (show $ getItemTitle item), + " link:" ++ (show $ getItemLink item), +- " publish date:" ++ (show $ getItemPublishDate item), ++ " publish date:" ++ (show (getItemPublishDate item :: Maybe (Maybe UTCTime))), + " date:" ++ (show $ getItemDate item)] + show (ParseTimeError raw) = "/!\\ Cannot parse time: " ++ raw + show (ParseFeedError raw) = "/!\\ Cannot parse feed: " ++ raw +diff -r 31e3ba1aaaf9 -r 4cc692e7acc4 Imm/HTTP.hs +--- a/Imm/HTTP.hs Sun Jun 16 12:23:40 2013 +0200 ++++ b/Imm/HTTP.hs Wed Apr 23 20:25:24 2014 +0000 +@@ -50,13 +50,13 @@ + either throwError return res + + -- | Monad-agnostic version of 'parseUrl' +-parseURL :: (MonadBase IO m, MonadError ImmError m) => String -> m (Request m') ++parseURL :: (MonadBase IO m, MonadError ImmError m) => String -> m Request + parseURL uri = do + result <- io $ (Right <$> parseUrl uri) `catch` (return . Left . HTTPError) + either throwError return result + + -- | Build an HTTP request for given URI +-request :: (MonadBase IO m, MonadError ImmError m) => String -> m (Request a) ++request :: (MonadBase IO m, MonadError ImmError m) => String -> m Request + request uri = do + req <- parseURL uri + return $ req { requestHeaders = [ +diff -r 31e3ba1aaaf9 -r 4cc692e7acc4 imm.cabal +--- a/imm.cabal Sun Jun 16 12:23:40 2013 +0200 ++++ b/imm.cabal Wed Apr 23 20:25:24 2014 +0000 +@@ -46,10 +46,10 @@ + data-default, + directory, + dyre, +- feed, ++ feed == 0.3.9.2, + filepath, + hslogger, +- http-conduit >= 1.9.0, ++ http-conduit >= 2.0 && < 2.2, + http-types, + lens, + mime-mail, +@@ -66,7 +66,7 @@ + transformers, + time, + timerep >= 1.0.3, +- tls, ++ tls >= 1.2 && < 1.3, + utf8-string, + xdg-basedir, + xml diff --git a/pkgs/development/libraries/haskell/instant-generics/default.nix b/pkgs/development/libraries/haskell/instant-generics/default.nix index 61e580b6293..8337fe51655 100644 --- a/pkgs/development/libraries/haskell/instant-generics/default.nix +++ b/pkgs/development/libraries/haskell/instant-generics/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "instant-generics"; - version = "0.3.7"; - sha256 = "0kkfx009ij3pwga7x18vr8p0ffhahlp8sb6ykzfh8rhcqd4ryzyv"; + version = "0.4"; + sha256 = "14z6135jvmry9b52p21cqnwgp2w0g6frh1fm7z5byph06xls9r7l"; buildDepends = [ syb ]; meta = { homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/InstantGenerics"; diff --git a/pkgs/development/libraries/haskell/io-streams/default.nix b/pkgs/development/libraries/haskell/io-streams/default.nix index fcc39dfad57..4813771cb53 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.2"; - sha256 = "0x6d0j41wnxl2h9xzbybmzqrrna3hc17786k65cpiby2x3nlp799"; + version = "1.1.4.4"; + sha256 = "07kmmjn1bsjzfi27fk6fx56pchks866qwrxkyvwihfvd96wgqggd"; 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 00000000000..e648ae19c3d --- /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/irc/default.nix b/pkgs/development/libraries/haskell/irc/default.nix index 524c2de1f73..49f732e857c 100644 --- a/pkgs/development/libraries/haskell/irc/default.nix +++ b/pkgs/development/libraries/haskell/irc/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "irc"; - version = "0.6.0.0"; - sha256 = "037hpdb4b6nb5w62w34alwybchzybz0bq2cgp0mv4xlw7bks2nqv"; + version = "0.6.0.1"; + sha256 = "0524phrxjv0i5qabrf4sj0zpcvkdvcivv1lg46591pmvndfhpyn4"; buildDepends = [ attoparsec ]; meta = { description = "A small library for parsing IRC messages"; diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix index 62bc3f7a2a4..f0772ca4db1 100644 --- a/pkgs/development/libraries/haskell/iteratee/default.nix +++ b/pkgs/development/libraries/haskell/iteratee/default.nix @@ -1,16 +1,21 @@ -{ cabal, ListLike, MonadCatchIOTransformers, monadControl, parallel -, transformers, transformersBase +{ cabal, exceptions, HUnit, ListLike, monadControl, mtl, parallel +, QuickCheck, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, transformers, transformersBase }: cabal.mkDerivation (self: { pname = "iteratee"; - version = "0.8.9.5"; - sha256 = "0akv7zcyb3c213f8qz1xv1qyq04wa427a4mh8rmz1jlmcwiznk7z"; + version = "0.8.9.6"; + sha256 = "1yc5fqqb8warvgld3cymka7d2wmjydvfin5jy7zaazb7alf14q1p"; buildDepends = [ - ListLike MonadCatchIOTransformers monadControl parallel - transformers transformersBase + exceptions ListLike monadControl parallel transformers + transformersBase + ]; + testDepends = [ + exceptions HUnit ListLike monadControl mtl QuickCheck testFramework + testFrameworkHunit testFrameworkQuickcheck2 transformers + transformersBase ]; - jailbreak = true; meta = { homepage = "http://www.tiresiaspress.us/haskell/iteratee"; description = "Iteratee-based I/O"; diff --git a/pkgs/development/libraries/haskell/jack/default.nix b/pkgs/development/libraries/haskell/jack/default.nix new file mode 100644 index 00000000000..3b8be28e790 --- /dev/null +++ b/pkgs/development/libraries/haskell/jack/default.nix @@ -0,0 +1,22 @@ +{ cabal, enumset, eventList, explicitException, jackaudio, midi +, nonNegative, transformers +}: + +cabal.mkDerivation (self: { + pname = "jack"; + version = "0.7.0.2"; + sha256 = "06mf1sw1lp81b3d4hsgc199m30drdnxzzlmsxg4p1yvydjfdk4gj"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + enumset eventList explicitException midi nonNegative transformers + ]; + pkgconfigDepends = [ jackaudio ]; + meta = { + homepage = "http://www.haskell.org/haskellwiki/JACK"; + description = "Bindings for the JACK Audio Connection Kit"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ertes ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/kan-extensions/default.nix b/pkgs/development/libraries/haskell/kan-extensions/default.nix new file mode 100644 index 00000000000..d4b5c5752e0 --- /dev/null +++ b/pkgs/development/libraries/haskell/kan-extensions/default.nix @@ -0,0 +1,19 @@ +{ cabal, adjunctions, comonad, contravariant, distributive, free +, mtl, pointed, semigroupoids, speculation, transformers +}: + +cabal.mkDerivation (self: { + pname = "kan-extensions"; + version = "4.0.2"; + sha256 = "05invi86i2a115jdy2nzdkc0i6g170j0xcxycw2z2qjigvjsaizi"; + buildDepends = [ + adjunctions comonad contravariant distributive free mtl pointed + semigroupoids speculation transformers + ]; + meta = { + homepage = "http://github.com/ekmett/kan-extensions/"; + description = "Kan extensions, Kan lifts, various forms of the Yoneda lemma, and (co)density (co)monads"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/keys/default.nix b/pkgs/development/libraries/haskell/keys/default.nix index b657f3dd6b9..570c88b1fbd 100644 --- a/pkgs/development/libraries/haskell/keys/default.nix +++ b/pkgs/development/libraries/haskell/keys/default.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { buildDepends = [ comonad free semigroupoids semigroups transformers ]; + jailbreak = true; meta = { homepage = "http://github.com/ekmett/keys/"; description = "Keyed functors and containers"; diff --git a/pkgs/development/libraries/haskell/language-c-inline/default.nix b/pkgs/development/libraries/haskell/language-c-inline/default.nix index 58c3e37c853..691c1e70662 100644 --- a/pkgs/development/libraries/haskell/language-c-inline/default.nix +++ b/pkgs/development/libraries/haskell/language-c-inline/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "language-c-inline"; - version = "0.3.0.1"; - sha256 = "0dw1fqwg9hhwgvak0ykhafbxp4gnb2ww9lc83m8kzkyzn1ccb6hg"; + version = "0.5.0.0"; + sha256 = "1cyl45bi2d38yyd1ybxippl8mv3hsl1chzn7rqm40fds97h07j2z"; buildDepends = [ filepath languageCQuote mainlandPretty ]; testDepends = [ languageCQuote ]; doCheck = false; diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/default.nix index 188ca99a5be..7607b3bf3aa 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.4"; - sha256 = "0pfadijrcfvxvdrwk8n54pqvpmi4qa5w7s0l9shxbkvpj0dmnp50"; + version = "0.4.5"; + sha256 = "0q0x1rm74g27ry4jja44hk8z0lqkwnimnxbcy54m2cphaxk7yjk4"; 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 1a53881fd29..9d47c07554c 100644 --- a/pkgs/development/libraries/haskell/language-ecmascript/default.nix +++ b/pkgs/development/libraries/haskell/language-ecmascript/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "language-ecmascript"; - version = "0.16.1"; - sha256 = "0pqb1r60jjmiwk9giaxnrp9a07h4a97kp6g0nznwpdy32x849gx3"; + version = "0.16.2"; + sha256 = "15jvq3wblx67hhvgblqzfdnks6x17hfnivifps5wfs9v1ljkiq1k"; buildDepends = [ dataDefaultClass Diff mtl parsec QuickCheck testingFeat uniplate wlPprint diff --git a/pkgs/development/libraries/haskell/language-glsl/default.nix b/pkgs/development/libraries/haskell/language-glsl/default.nix new file mode 100644 index 00000000000..bdde61739e3 --- /dev/null +++ b/pkgs/development/libraries/haskell/language-glsl/default.nix @@ -0,0 +1,15 @@ +{ cabal, HUnit, parsec, prettyclass }: + +cabal.mkDerivation (self: { + pname = "language-glsl"; + version = "0.0.2"; + sha256 = "1ixgivyc5kqjg83rymrjs1mvypvqrczmj6dhn3dbw2a9lhrvljsz"; + isLibrary = true; + isExecutable = true; + buildDepends = [ HUnit parsec prettyclass ]; + meta = { + description = "GLSL abstract syntax tree, parser, and pretty-printer"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/language-javascript/default.nix b/pkgs/development/libraries/haskell/language-javascript/default.nix index 647c3be498d..8b83b64f9c9 100644 --- a/pkgs/development/libraries/haskell/language-javascript/default.nix +++ b/pkgs/development/libraries/haskell/language-javascript/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "language-javascript"; - version = "0.5.12"; - sha256 = "1zzgjxqgfl6k2z4cwh0961ipfc5fminfdg2162g45h2nrv63mq05"; + version = "0.5.13"; + sha256 = "0h46wfh5xi3gbiaplx3ikmj7mfcwm1d37i5c9n3qfsmmkac29n2w"; buildDepends = [ blazeBuilder mtl utf8String ]; testDepends = [ blazeBuilder Cabal HUnit mtl QuickCheck testFramework diff --git a/pkgs/development/libraries/haskell/largeword/default.nix b/pkgs/development/libraries/haskell/largeword/default.nix index 18ea22d6cd0..814fe50bca7 100644 --- a/pkgs/development/libraries/haskell/largeword/default.nix +++ b/pkgs/development/libraries/haskell/largeword/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "largeword"; - version = "1.1.1"; - sha256 = "0dizzyicfj41cmdr9s0k75gf7cqbd2z1qk9kkvlq6rcz0249fz0x"; + version = "1.2.3"; + sha256 = "1ldcsnnji6p84sn03j17pdcpg7vqn1xrhyn4wys0v5fyy0d383ln"; buildDepends = [ binary ]; testDepends = [ binary HUnit QuickCheck testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/leksah/leksah-server.nix b/pkgs/development/libraries/haskell/leksah/leksah-server.nix deleted file mode 100644 index 1a907a384f1..00000000000 --- a/pkgs/development/libraries/haskell/leksah/leksah-server.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ cabal, attoparsec, attoparsecEnumerator, binary, binaryShared -, Cabal, deepseq, enumerator, filepath, haddock, hslogger, HUnit -, ltk, network, parsec, processLeksah, strict, time, transformers -}: - -cabal.mkDerivation (self: { - pname = "leksah-server"; - version = "0.12.1.2"; - sha256 = "0fzfyq1g1jrfl40nklgvkahlcv32m4gjbcyw52dky2qzc05b0g6m"; - isLibrary = true; - isExecutable = true; - buildDepends = [ - attoparsec attoparsecEnumerator binary binaryShared Cabal deepseq - enumerator filepath haddock hslogger ltk network parsec - processLeksah strict time transformers - ]; - testDepends = [ enumerator hslogger HUnit transformers ]; - meta = { - homepage = "http://leksah.org"; - description = "Metadata collection for leksah"; - license = "GPL"; - platforms = self.stdenv.lib.platforms.linux; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/leksah/process-leksah.nix b/pkgs/development/libraries/haskell/leksah/process-leksah.nix deleted file mode 100644 index b8f0ed37d4c..00000000000 --- a/pkgs/development/libraries/haskell/leksah/process-leksah.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ cabal, filepath }: - -cabal.mkDerivation (self: { - pname = "process-leksah"; - version = "1.0.1.4"; - sha256 = "1899ybhnsj22sir2l933lhkk9fpcgjbb4qd6gscnby28qcs5bwbv"; - buildDepends = [ filepath ]; - meta = { - description = "Process libraries"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix index 1c1fe9b7cd3..8576ed1d804 100644 --- a/pkgs/development/libraries/haskell/lens/default.nix +++ b/pkgs/development/libraries/haskell/lens/default.nix @@ -10,8 +10,8 @@ cabal.mkDerivation (self: { pname = "lens"; - version = "4.1.2"; - sha256 = "0jpr78bn7bh5v11vw21hjwzmwpzl1zgyq9l3yk3k711vz6689dg2"; + version = "4.1.2.1"; + sha256 = "1fi6960m2rvr538mwhrxavvrj8pvjnyw3akcbgaaph5p8f214alw"; buildDepends = [ aeson bifunctors comonad contravariant distributive exceptions filepath free hashable mtl parallel primitive profunctors diff --git a/pkgs/development/libraries/haskell/libmpd/default.nix b/pkgs/development/libraries/haskell/libmpd/default.nix index 7402d6f31db..2c31b2efea8 100644 --- a/pkgs/development/libraries/haskell/libmpd/default.nix +++ b/pkgs/development/libraries/haskell/libmpd/default.nix @@ -1,17 +1,20 @@ -{ cabal, dataDefault, filepath, hspec, HUnit, mtl, network -, QuickCheck, text, time, utf8String +{ cabal, attoparsec, dataDefault, filepath, hspec, HUnit, mtl +, network, QuickCheck, text, time, utf8String }: cabal.mkDerivation (self: { pname = "libmpd"; - version = "0.8.0.2"; - sha256 = "1phlbb5lsapw2hb0db7906ddlmvnpyk1xbgxvl9zp9zfd0sn40aj"; - buildDepends = [ filepath mtl network text time utf8String ]; + version = "0.8.0.3"; + sha256 = "0xbbk2rg6awfz5ak20956nriifga81ndk7n58lbbf5i86380akwz"; + buildDepends = [ + attoparsec dataDefault filepath mtl network text time utf8String + ]; testDepends = [ dataDefault hspec HUnit mtl network QuickCheck text time utf8String ]; + jailbreak = true; meta = { - homepage = "http://github.com/joachifm/libmpd-haskell"; + homepage = "http://github.com/joachifm/libmpd-haskell#readme"; description = "An MPD client library"; license = "LGPL"; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/libsystemd-journal/default.nix b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix index b30b0714d1f..a7eadddac3d 100644 --- a/pkgs/development/libraries/haskell/libsystemd-journal/default.nix +++ b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "libsystemd-journal"; - version = "1.1.0"; - sha256 = "0zdql5y40d0d044mwbsr3xxmfzgnnp02a36wbbslxmrm5c3w1qi2"; + version = "1.2.0"; + sha256 = "10gsqcy5f7m6f0giqhfcqspb17b3gyib4cpw5nrdl7hiah13hi7x"; buildDepends = [ hashable hsyslog pipes pipesSafe text transformers uniplate unixBytestring unorderedContainers uuid vector @@ -16,6 +16,6 @@ cabal.mkDerivation (self: { homepage = "http://github.com/ocharles/libsystemd-journal"; description = "Haskell bindings to libsystemd-journal"; license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; + platforms = self.stdenv.lib.platforms.linux; }; }) diff --git a/pkgs/development/libraries/haskell/lifted-async/default.nix b/pkgs/development/libraries/haskell/lifted-async/default.nix index 9eab08955f5..f65c35fb2ae 100644 --- a/pkgs/development/libraries/haskell/lifted-async/default.nix +++ b/pkgs/development/libraries/haskell/lifted-async/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "lifted-async"; - version = "0.1.1"; - sha256 = "0hkqiplnvy14m881n4bzamvy1432bxy4k1j4rwl824w5fn2h5i74"; + version = "0.2.0"; + sha256 = "1s8gz630v9xag0d5pjjwvfff87wvyy1w86ah7mvnylkarbdsac6l"; buildDepends = [ async liftedBase monadControl transformersBase ]; testDepends = [ async HUnit liftedBase monadControl mtl tasty tastyHunit tastyTh diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix index 9dd46754164..cc8781ae1e1 100644 --- a/pkgs/development/libraries/haskell/lifted-base/default.nix +++ b/pkgs/development/libraries/haskell/lifted-base/default.nix @@ -1,18 +1,17 @@ -{ cabal, baseUnicodeSymbols, HUnit, monadControl, testFramework -, testFrameworkHunit, transformers, transformersBase +{ cabal, HUnit, monadControl, testFramework, testFrameworkHunit +, transformers, transformersBase }: cabal.mkDerivation (self: { pname = "lifted-base"; - version = "0.2.2.1"; - sha256 = "13w1y67wng5rv90fsikkwpvx2ajmq5ybnxrx9b2x0y0zbcy7pzk8"; - buildDepends = [ - baseUnicodeSymbols monadControl transformersBase - ]; + version = "0.2.2.2"; + sha256 = "02qjagh4a3zvad7xyvwjd6nkh44c41bqj32ddpn7ms1fv4sl0mam"; + buildDepends = [ monadControl transformersBase ]; testDepends = [ HUnit monadControl testFramework testFrameworkHunit transformers transformersBase ]; + doCheck = false; meta = { homepage = "https://github.com/basvandijk/lifted-base"; description = "lifted IO operations from the base library"; diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix index 1abc63c8c4b..a1837b4baab 100644 --- a/pkgs/development/libraries/haskell/linear/default.nix +++ b/pkgs/development/libraries/haskell/linear/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "linear"; - version = "1.10"; - sha256 = "1wl0hb58znc3n5f5jv0wm6g21p080zldlq954n0lm8sjwmv39cdx"; + version = "1.10.1.1"; + sha256 = "0falp5mpd9lifzz11dy3lvfph8n0i8n4mh5kk5kg974qvdvjilgq"; buildDepends = [ adjunctions binary distributive hashable lens reflection semigroupoids semigroups tagged transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/listExtras/default.nix b/pkgs/development/libraries/haskell/listExtras/default.nix new file mode 100644 index 00000000000..21e1a7d7c69 --- /dev/null +++ b/pkgs/development/libraries/haskell/listExtras/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "list-extras"; + version = "0.4.1.3"; + sha256 = "16w10xgh2y76q8aj5pgw4zq5p2phjzf5g1bmkacrm8gbwkp4v71s"; + meta = { + homepage = "http://code.haskell.org/~wren/"; + description = "Common not-so-common functions for lists"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/lists/default.nix b/pkgs/development/libraries/haskell/lists/default.nix new file mode 100644 index 00000000000..d7574da0fa7 --- /dev/null +++ b/pkgs/development/libraries/haskell/lists/default.nix @@ -0,0 +1,13 @@ +{ cabal, listExtras, split }: + +cabal.mkDerivation (self: { + pname = "lists"; + version = "0.4.2"; + sha256 = "0qjziksh6gl6v8rzvqajkcbakbby5j3i4z2jk6w6zs89b93rwnln"; + buildDepends = [ listExtras split ]; + meta = { + description = "Functions for dealing with lists"; + 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 index 1c7323f54cf..7fa30c1cb3a 100644 --- a/pkgs/development/libraries/haskell/logging/default.nix +++ b/pkgs/development/libraries/haskell/logging/default.nix @@ -1,14 +1,14 @@ { cabal, binary, fastLogger, hspec, liftedBase, monadControl -, monadLogger, pcreLight, text, thyme, transformers, vectorSpace +, monadLogger, pcreLight, text, time, transformers, vectorSpace }: cabal.mkDerivation (self: { pname = "logging"; - version = "1.3.0"; - sha256 = "1d2is6p828xvh59f9b971xf0w2l229652rniccxpm2mcfs893c79"; + version = "1.4.1"; + sha256 = "15mhpafv797f8aifjyjb5nc0fkd7if7bvx5hx9mzxycdzlk28gfp"; buildDepends = [ binary fastLogger liftedBase monadControl monadLogger pcreLight - text thyme transformers vectorSpace + text time transformers vectorSpace ]; testDepends = [ hspec monadLogger ]; meta = { diff --git a/pkgs/development/libraries/haskell/ltk/default.nix b/pkgs/development/libraries/haskell/ltk/default.nix deleted file mode 100644 index df1e4be218f..00000000000 --- a/pkgs/development/libraries/haskell/ltk/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ cabal, Cabal, filepath, glib, gtk3, mtl, parsec, transformers }: - -cabal.mkDerivation (self: { - pname = "ltk"; - 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"; - license = "GPL"; - platforms = self.stdenv.lib.platforms.linux; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/machines/default.nix b/pkgs/development/libraries/haskell/machines/default.nix new file mode 100644 index 00000000000..cd69d9133a6 --- /dev/null +++ b/pkgs/development/libraries/haskell/machines/default.nix @@ -0,0 +1,19 @@ +{ cabal, comonad, doctest, filepath, free, mtl, pointed +, profunctors, semigroups, transformers, void +}: + +cabal.mkDerivation (self: { + pname = "machines"; + version = "0.2.5"; + sha256 = "0745lhmfwq27nna517q7b82q59pda587wgh6840nw65syaj2qfhp"; + buildDepends = [ + comonad free mtl pointed profunctors semigroups transformers void + ]; + testDepends = [ doctest filepath ]; + meta = { + homepage = "http://github.com/ekmett/machines/"; + description = "Networked stream transducers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/midi/default.nix b/pkgs/development/libraries/haskell/midi/default.nix index 9467b567f82..71593bd21cd 100644 --- a/pkgs/development/libraries/haskell/midi/default.nix +++ b/pkgs/development/libraries/haskell/midi/default.nix @@ -4,14 +4,16 @@ cabal.mkDerivation (self: { pname = "midi"; - version = "0.2.1.1"; - sha256 = "11h4kr9a1jia1ghcyzgavcznw4771l00z736iibjpagw0b8fpip5"; - isLibrary = true; - isExecutable = true; + version = "0.2.1.2"; + sha256 = "077cxdazr97hjpq42l7hjn905pfhyshvaiwqjdfnzhjv6r48q4zk"; buildDepends = [ binary eventList explicitException monoidTransformer nonNegative QuickCheck random transformers utilityHt ]; + testDepends = [ + eventList explicitException nonNegative QuickCheck transformers + utilityHt + ]; meta = { homepage = "http://www.haskell.org/haskellwiki/MIDI"; description = "Handling of MIDI messages and files"; diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix index 80fc8e1b4af..88eabe59e3f 100644 --- a/pkgs/development/libraries/haskell/mime-mail/default.nix +++ b/pkgs/development/libraries/haskell/mime-mail/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "mime-mail"; - version = "0.4.5.1"; - sha256 = "01r6dxdp3183ahggda6dizdz1c3qpmpyxn6csalzvss52ds4ilsf"; + version = "0.4.5.2"; + sha256 = "0s5fj20n3lc2hn1mqpsvai63pgrl7vhqv26psdzqdwl70w9c04zf"; buildDepends = [ base64Bytestring blazeBuilder filepath random text ]; diff --git a/pkgs/development/libraries/haskell/minioperational/default.nix b/pkgs/development/libraries/haskell/minioperational/default.nix new file mode 100644 index 00000000000..99cae442c3b --- /dev/null +++ b/pkgs/development/libraries/haskell/minioperational/default.nix @@ -0,0 +1,14 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "minioperational"; + version = "0.4.3"; + sha256 = "09z8536q0cc09iack6s8fghgrc5f3syq3sxf2cnai3rcfaqix86p"; + buildDepends = [ transformers ]; + meta = { + homepage = "https://github.com/fumieval/minioperational"; + description = "fast and simple operational monad"; + 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 b2c3212bb17..4b3e687fd8f 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.2"; - sha256 = "0d0nn5x7f3yyck10znqa13iihkshq04xgg1d9bn1nvl7kjzicjwh"; + version = "1.0.3"; + sha256 = "0b8pzb63zxw3cjw8yj73swvqhmi9c4lgw1mis1xbraya7flxc6qm"; buildDepends = [ transformers ]; meta = { description = "Monad morphisms"; diff --git a/pkgs/development/libraries/haskell/modular-arithmetic/default.nix b/pkgs/development/libraries/haskell/modular-arithmetic/default.nix index 9a15b32f307..6a6a7c99d70 100644 --- a/pkgs/development/libraries/haskell/modular-arithmetic/default.nix +++ b/pkgs/development/libraries/haskell/modular-arithmetic/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "modular-arithmetic"; - version = "1.1.0.0"; - sha256 = "02zxxz204ydyj28p65fqb920x5gbm7gba4yf9mhiw6ff0dcmxp37"; + version = "1.2.0.0"; + sha256 = "1qlvi0xjdvr4730xj303i6gp610mz4xrlrk191yy8hr7afjysm0k"; meta = { description = "A type for integers modulo some constant"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix index e9c6088b5f4..c865d964c54 100644 --- a/pkgs/development/libraries/haskell/monad-control/default.nix +++ b/pkgs/development/libraries/haskell/monad-control/default.nix @@ -1,12 +1,10 @@ -{ cabal, baseUnicodeSymbols, transformers, transformersBase }: +{ cabal, transformers, transformersBase }: cabal.mkDerivation (self: { pname = "monad-control"; - version = "0.3.2.3"; - sha256 = "1fk3cqzsiwyjpyd20z1j0i4m669rcag2q7kpl78m6vm1a405iwlw"; - buildDepends = [ - baseUnicodeSymbols transformers transformersBase - ]; + version = "0.3.3.0"; + sha256 = "0vjff64iwnd9vplqfjyylbd900qmsr92h62hnh715wk06yacji7g"; + buildDepends = [ transformers transformersBase ]; meta = { homepage = "https://github.com/basvandijk/monad-control"; description = "Lift control operations, like exception catching, through monad transformers"; diff --git a/pkgs/development/libraries/haskell/monad-coroutine/default.nix b/pkgs/development/libraries/haskell/monad-coroutine/default.nix new file mode 100644 index 00000000000..6ddf872a6da --- /dev/null +++ b/pkgs/development/libraries/haskell/monad-coroutine/default.nix @@ -0,0 +1,14 @@ +{ cabal, monadParallel, transformers }: + +cabal.mkDerivation (self: { + pname = "monad-coroutine"; + version = "0.8"; + sha256 = "0nirp5c3vi529ap142zs29j10j9m609ippi3chv6a87h51avkhzx"; + buildDepends = [ monadParallel transformers ]; + meta = { + homepage = "http://trac.haskell.org/SCC/wiki/monad-coroutine"; + description = "Coroutine monad transformer for suspending and resuming monadic computations"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + }; +}) 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 00000000000..e8a7af28613 --- /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.8"; + sha256 = "1h7gjdmbdjw2k49xlflca88bxiid7gxl8l9gzmywybllff376npl"; + 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 5468f4127fc..e0902b7d4f7 100644 --- a/pkgs/development/libraries/haskell/monad-logger/default.nix +++ b/pkgs/development/libraries/haskell/monad-logger/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "monad-logger"; - version = "0.3.6"; - sha256 = "0a3dbk3c1jv8zbxrb5vzf5ypwwzkamxd35rm8pjn13aqcnnznniq"; + version = "0.3.6.1"; + sha256 = "0ylsrhp2a9qir03nmmz6rkim149pw1fgm63lfg611gvh598ig6ss"; buildDepends = [ blazeBuilder conduit conduitExtra exceptions fastLogger liftedBase monadControl monadLoops mtl resourcet stm stmChans text diff --git a/pkgs/development/libraries/haskell/monad-parallel/default.nix b/pkgs/development/libraries/haskell/monad-parallel/default.nix new file mode 100644 index 00000000000..1ee628cb36a --- /dev/null +++ b/pkgs/development/libraries/haskell/monad-parallel/default.nix @@ -0,0 +1,14 @@ +{ cabal, parallel, transformers }: + +cabal.mkDerivation (self: { + pname = "monad-parallel"; + version = "0.7.1.2"; + sha256 = "0ybifm54dwaz5jqccw7hwlykjw4bcnl924808bi01j5i7ggyz5wj"; + buildDepends = [ parallel transformers ]; + meta = { + homepage = "http://trac.haskell.org/SCC/wiki/monad-parallel"; + description = "Parallel execution of monadic computations"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/monad-stm/default.nix b/pkgs/development/libraries/haskell/monad-stm/default.nix new file mode 100644 index 00000000000..5f923f5110a --- /dev/null +++ b/pkgs/development/libraries/haskell/monad-stm/default.nix @@ -0,0 +1,13 @@ +{ cabal, stm, transformers }: + +cabal.mkDerivation (self: { + pname = "monad-stm"; + version = "0.1.0.2"; + sha256 = "09bbhbj9zg928j3dnvvxsrv8hw1c7s0vj0wffrhs810aqlf1m9xp"; + buildDepends = [ stm transformers ]; + meta = { + description = "MonadSTM class analogous to MonadIO"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/monad-unify/default.nix b/pkgs/development/libraries/haskell/monad-unify/default.nix new file mode 100644 index 00000000000..7ee1f8c8704 --- /dev/null +++ b/pkgs/development/libraries/haskell/monad-unify/default.nix @@ -0,0 +1,13 @@ +{ cabal, mtl, unorderedContainers }: + +cabal.mkDerivation (self: { + pname = "monad-unify"; + version = "0.2.2"; + sha256 = "1icl4jaa4vc4lb75m6wv4vjvf8b2xx7aziqhsg2pshizdkfxmgwp"; + buildDepends = [ mtl unorderedContainers ]; + meta = { + description = "Generic first-order unification"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/monadlib/default.nix b/pkgs/development/libraries/haskell/monadlib/default.nix new file mode 100644 index 00000000000..a893eb6f4e4 --- /dev/null +++ b/pkgs/development/libraries/haskell/monadlib/default.nix @@ -0,0 +1,14 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "monadLib"; + version = "3.7.3"; + sha256 = "17m9rj6spr5n9jlhwwvk8p40yrpwgz3j9kj3pjq7mpyrc1ssfd0q"; + meta = { + homepage = "http://wiki.github.com/yav/monadlib"; + description = "A collection of monad transformers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/monads-tf/default.nix b/pkgs/development/libraries/haskell/monads-tf/default.nix index f51fd8c840a..b57a432fcab 100644 --- a/pkgs/development/libraries/haskell/monads-tf/default.nix +++ b/pkgs/development/libraries/haskell/monads-tf/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "monads-tf"; - version = "0.1.0.1"; - sha256 = "19za12iazwrbqwpxy6lkj01dwm921386ryxgdqvcqisn8cj6jm1v"; + version = "0.1.0.2"; + sha256 = "0z07z2lfm3l93fx0qhfd98j76d1rksi5llq67l5v09pm8da4jvyb"; buildDepends = [ transformers ]; meta = { description = "Monad classes, using type families"; diff --git a/pkgs/development/libraries/haskell/mono-traversable/default.nix b/pkgs/development/libraries/haskell/mono-traversable/default.nix index 113a4b67b41..a296b3d310e 100644 --- a/pkgs/development/libraries/haskell/mono-traversable/default.nix +++ b/pkgs/development/libraries/haskell/mono-traversable/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "mono-traversable"; - version = "0.4.0.4"; - sha256 = "1ikrdhr4f3755xim6j9db60a9y0mpdnljmck84qh47yk2axfp0n9"; + version = "0.6.0"; + sha256 = "1ibf7iz24ic2vz0dvmbn5w06vz73g05ipl2q8f93a6zlkqysrkm4"; buildDepends = [ comonad dlist dlistInstances hashable semigroupoids semigroups text transformers unorderedContainers vector vectorAlgorithms diff --git a/pkgs/development/libraries/haskell/monoid-extras/default.nix b/pkgs/development/libraries/haskell/monoid-extras/default.nix index b9987255c0f..e3be47f16a0 100644 --- a/pkgs/development/libraries/haskell/monoid-extras/default.nix +++ b/pkgs/development/libraries/haskell/monoid-extras/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "monoid-extras"; - version = "0.3.3.2"; - sha256 = "0v4xir47ki83f9w2rii06w3jwrvqljnbiivgh6k8jxl0bdfslh11"; + version = "0.3.3.3"; + sha256 = "0i4c2yn0kbkqi478x93r2xvl05l4r3x7nyjd47zy3r4bb38qwj89"; buildDepends = [ groups semigroupoids semigroups ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/monoid-transformer/default.nix b/pkgs/development/libraries/haskell/monoid-transformer/default.nix index d4e5962ec85..5894eccd4b7 100644 --- a/pkgs/development/libraries/haskell/monoid-transformer/default.nix +++ b/pkgs/development/libraries/haskell/monoid-transformer/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "monoid-transformer"; - version = "0.0.2"; - sha256 = "0hd8jb1iw6lbgml3f08n680bdij56cjanpkr4fc1jr7qn6yzzb2j"; + version = "0.0.3"; + sha256 = "1f06ppvv50w5pacm4bs89zwkydih626cgbd2z6xqbp8cmhg6dj4l"; meta = { description = "Monoid counterparts to some ubiquitous monad transformers"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/msgpack/default.nix b/pkgs/development/libraries/haskell/msgpack/default.nix new file mode 100644 index 00000000000..4f84537e72e --- /dev/null +++ b/pkgs/development/libraries/haskell/msgpack/default.nix @@ -0,0 +1,24 @@ +{ cabal, attoparsec, blazeBuilder, deepseq, hashable, mtl +, QuickCheck, testFramework, testFrameworkQuickcheck2, text +, unorderedContainers, vector +}: + +cabal.mkDerivation (self: { + pname = "msgpack"; + version = "0.7.2.5"; + sha256 = "1iwibyv5aqp5h98x4s5pp3hj218l2k3vff87p727mh74f5j6l3s8"; + buildDepends = [ + attoparsec blazeBuilder deepseq hashable mtl text + unorderedContainers vector + ]; + testDepends = [ + QuickCheck testFramework testFrameworkQuickcheck2 + ]; + jailbreak = true; + meta = { + homepage = "http://msgpack.org/"; + description = "A Haskell implementation of MessagePack"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix b/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix new file mode 100644 index 00000000000..649ce516286 --- /dev/null +++ b/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix @@ -0,0 +1,15 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "mtl"; + version = "2.2.0.1"; + sha256 = "0486cg4dp0p942zsg7yxpwn1jykx8p3gb794jaq0v3j44a7x00rb"; + 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/multimap/default.nix b/pkgs/development/libraries/haskell/multimap/default.nix new file mode 100644 index 00000000000..27283ad6a65 --- /dev/null +++ b/pkgs/development/libraries/haskell/multimap/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "multimap"; + version = "1.2.1"; + sha256 = "0d3l5q4yvmywl6i9ip96zz0fvhjdh00mfbbniphbjxsi8wlwack3"; + meta = { + homepage = "http://hub.darcs.net/scravy/multimap"; + description = "A multimap"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/multiset/0.2.2.nix b/pkgs/development/libraries/haskell/multiset/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/multiset/0.2.2.nix rename to pkgs/development/libraries/haskell/multiset/default.nix diff --git a/pkgs/development/libraries/haskell/nanospec/default.nix b/pkgs/development/libraries/haskell/nanospec/default.nix index b7f498a35c8..367d24f3226 100644 --- a/pkgs/development/libraries/haskell/nanospec/default.nix +++ b/pkgs/development/libraries/haskell/nanospec/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "nanospec"; - version = "0.1.0"; - sha256 = "16qpn199p8nrllg800zryhb8795jgk78znng5fjq1raj8l3snjk0"; + version = "0.2.0"; + sha256 = "0g10l86cv33r58zxn2bprqlm80i7g86bwzhn9jqg9s81xc0aw2qv"; testDepends = [ hspec silently ]; doCheck = false; meta = { diff --git a/pkgs/development/libraries/haskell/nats/default.nix b/pkgs/development/libraries/haskell/nats/default.nix index 91cc79f52b8..74303667a07 100644 --- a/pkgs/development/libraries/haskell/nats/default.nix +++ b/pkgs/development/libraries/haskell/nats/default.nix @@ -1,12 +1,13 @@ -{ cabal }: +{ cabal, hashable }: cabal.mkDerivation (self: { pname = "nats"; - version = "0.1.2"; - sha256 = "1r4083p8sbnqs74l8faqfs1i97k8bql762l55pbmapy0p1xrkzka"; + version = "0.2"; + sha256 = "05skqs5ahbrnwlsxjihkvmsw0n49k9mqdhrv9nqh4dmd1j622r73"; + buildDepends = [ hashable ]; meta = { homepage = "http://github.com/ekmett/nats/"; - description = "Haskell 98 natural numbers"; + description = "Natural numbers"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/ncurses/default.nix b/pkgs/development/libraries/haskell/ncurses/default.nix index f900e3c2ef9..2b566f79a98 100644 --- a/pkgs/development/libraries/haskell/ncurses/default.nix +++ b/pkgs/development/libraries/haskell/ncurses/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "ncurses"; - version = "0.2.7"; - sha256 = "026p6b2apgi9r65py45h3rl57xgwzyamq511a0rsb7myzagw22vz"; + version = "0.2.10"; + sha256 = "0qdw5dwi1w42nygvzyq8la7i917f0fz9qjw6ivgl2h1rjxc5j9cb"; buildDepends = [ text transformers ]; buildTools = [ c2hs ]; extraLibraries = [ ncurses ]; diff --git a/pkgs/development/libraries/haskell/network-metrics/default.nix b/pkgs/development/libraries/haskell/network-metrics/default.nix new file mode 100644 index 00000000000..f9f92170b57 --- /dev/null +++ b/pkgs/development/libraries/haskell/network-metrics/default.nix @@ -0,0 +1,15 @@ +{ cabal, binary, dataDefault, network, random, time }: + +cabal.mkDerivation (self: { + pname = "network-metrics"; + version = "0.3.2"; + sha256 = "14yf9di909443gkgaw7n262453d60pp9mw8vncmd6q7pywhdz9hh"; + buildDepends = [ binary dataDefault network random time ]; + meta = { + homepage = "http://github.com/brendanhay/network-metrics"; + description = "Send metrics to Ganglia, Graphite, and statsd"; + license = "unknown"; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/network-multicast/default.nix b/pkgs/development/libraries/haskell/network-multicast/default.nix index 3a9531488bb..78d1b36f34d 100644 --- a/pkgs/development/libraries/haskell/network-multicast/default.nix +++ b/pkgs/development/libraries/haskell/network-multicast/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "network-multicast"; - version = "0.0.10"; - sha256 = "092v4ba6mrl5ykx2fscclcsc5dbnq99hbn93sc2mjnnr8c9r0n5x"; + version = "0.0.11"; + sha256 = "0fgscv9crk2lx99rh234ipgl5psbrjili95inxj23drvwmsj3135"; buildDepends = [ network ]; meta = { description = "Simple multicast library"; diff --git a/pkgs/development/libraries/haskell/network-simple/default.nix b/pkgs/development/libraries/haskell/network-simple/default.nix index cde31643c71..c50afdb2120 100644 --- a/pkgs/development/libraries/haskell/network-simple/default.nix +++ b/pkgs/development/libraries/haskell/network-simple/default.nix @@ -2,9 +2,10 @@ cabal.mkDerivation (self: { pname = "network-simple"; - version = "0.3.1"; - sha256 = "0bk015d0np07887flah76vgrgrqaqj4x1sdxmghvazj8c78nkan8"; + version = "0.4"; + sha256 = "1jw0xd53c0mydh6jm6627c0d8w014r1s46fycdhavnimh7bb77cp"; buildDepends = [ exceptions network transformers ]; + jailbreak = true; meta = { homepage = "https://github.com/k0001/network-simple"; description = "Simple network sockets usage patterns"; diff --git a/pkgs/development/libraries/haskell/network/2.3.0.13.nix b/pkgs/development/libraries/haskell/network/2.3.0.13.nix index 557dea081fd..834b7872c6b 100644 --- a/pkgs/development/libraries/haskell/network/2.3.0.13.nix +++ b/pkgs/development/libraries/haskell/network/2.3.0.13.nix @@ -6,6 +6,7 @@ cabal.mkDerivation (self: { sha256 = "0xw53czvcw8k49aqxmchc1rcd6pyxp4icwgp64625fnm3l4yjiq7"; buildDepends = [ parsec ]; testDepends = [ HUnit testFramework testFrameworkHunit ]; + doCheck = false; meta = { homepage = "http://github.com/haskell/network"; description = "Low-level networking interface"; diff --git a/pkgs/development/libraries/haskell/network/2.4.2.2.nix b/pkgs/development/libraries/haskell/network/2.5.0.0.nix similarity index 85% rename from pkgs/development/libraries/haskell/network/2.4.2.2.nix rename to pkgs/development/libraries/haskell/network/2.5.0.0.nix index 390529b6a76..f042b4b7008 100644 --- a/pkgs/development/libraries/haskell/network/2.4.2.2.nix +++ b/pkgs/development/libraries/haskell/network/2.5.0.0.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "network"; - version = "2.4.2.2"; - sha256 = "0bxfy6irh5050ykhwfwzl5fnqi74j7x6k4ni7ahw2zwjy3qafc5x"; + version = "2.5.0.0"; + sha256 = "1x90fdzfigqq2vbjqg73p4vyy7p1z0apj79cpl7i9v9amxa6y5mj"; buildDepends = [ parsec ]; testDepends = [ HUnit testFramework testFrameworkHunit testFrameworkQuickcheck2 diff --git a/pkgs/development/libraries/haskell/oeis/default.nix b/pkgs/development/libraries/haskell/oeis/default.nix index d5ec97b6f6a..e7da848e4b2 100644 --- a/pkgs/development/libraries/haskell/oeis/default.nix +++ b/pkgs/development/libraries/haskell/oeis/default.nix @@ -6,6 +6,9 @@ cabal.mkDerivation (self: { sha256 = "0r23mqbfvvvx6shzdclzfrqi8r95gxl93cih7ny7w7px3w5yc5x6"; buildDepends = [ HTTP network ]; testDepends = [ HUnit testFramework testFrameworkHunit ]; + patchPhase = '' + sed -i -e 's|network *==.*|network|' oeis.cabal + ''; meta = { description = "Interface to the Online Encyclopedia of Integer Sequences (OEIS)"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/openssl-streams/default.nix b/pkgs/development/libraries/haskell/openssl-streams/default.nix index 74f9c180275..33b48d1f121 100644 --- a/pkgs/development/libraries/haskell/openssl-streams/default.nix +++ b/pkgs/development/libraries/haskell/openssl-streams/default.nix @@ -4,13 +4,13 @@ cabal.mkDerivation (self: { pname = "openssl-streams"; - version = "1.1.0.0"; - sha256 = "0xww3n1mhw0sp9nkx4847gqbq4wnfcnc2m782kn5n8jxnjnm1fqn"; + version = "1.1.0.2"; + sha256 = "0h3jxxdls0p1xxr02rfag7j9y13ll3xgzx2ldv1nsfcv3rzw2pfy"; buildDepends = [ HsOpenSSL ioStreams network ]; testDepends = [ HsOpenSSL HUnit ioStreams network testFramework testFrameworkHunit ]; - doCheck = false; + jailbreak = true; meta = { description = "OpenSSL network support for io-streams"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/operational/default.nix b/pkgs/development/libraries/haskell/operational/default.nix index f059f86d68f..2fbe5a7f210 100644 --- a/pkgs/development/libraries/haskell/operational/default.nix +++ b/pkgs/development/libraries/haskell/operational/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "operational"; - version = "0.2.2.1"; - sha256 = "1w4bln8mj4hw5i40amah570p77wimxfpn7l2mmjk9z07zavx1rv2"; + version = "0.2.3.2"; + sha256 = "1aj3jhiyz4190b0qmyp684b8lbzrp8jn56s898892rvbp0hxa0pd"; isLibrary = true; isExecutable = true; buildDepends = [ mtl random ]; diff --git a/pkgs/development/libraries/haskell/opml/default.nix b/pkgs/development/libraries/haskell/opml/default.nix new file mode 100644 index 00000000000..be7cb0606ee --- /dev/null +++ b/pkgs/development/libraries/haskell/opml/default.nix @@ -0,0 +1,13 @@ +{ cabal, xml }: + +cabal.mkDerivation (self: { + pname = "opml"; + version = "0.4"; + sha256 = "1bnr6lkcf2qs7pvrmd8a5xmklcg67l64b776hzclfvxqy1qil29x"; + buildDepends = [ xml ]; + meta = { + description = "Representing and handling OPML subscription information"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/options/default.nix b/pkgs/development/libraries/haskell/options/default.nix index 3772a142a58..f89cdd5045f 100644 --- a/pkgs/development/libraries/haskell/options/default.nix +++ b/pkgs/development/libraries/haskell/options/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "options"; - version = "1.0"; - sha256 = "0d40d6k1c8v2b0bgchgl54sk9wx28kysp8bjws8bwjcmmd57775f"; + version = "1.2"; + sha256 = "14qrkwd8h50wf6972p0ylvhnc8mh11fqk9l8q0h9lapj7ywm74vx"; buildDepends = [ monadsTf transformers ]; testDepends = [ chell chellQuickcheck monadsTf transformers ]; doCheck = false; diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/default.nix index da681b324a7..bad23a102ee 100644 --- a/pkgs/development/libraries/haskell/optparse-applicative/default.nix +++ b/pkgs/development/libraries/haskell/optparse-applicative/default.nix @@ -1,13 +1,13 @@ { cabal, ansiWlPprint, HUnit, QuickCheck, testFramework , testFrameworkHunit, testFrameworkQuickcheck2 -, testFrameworkThPrime, transformers +, testFrameworkThPrime, transformers, transformersCompat }: cabal.mkDerivation (self: { pname = "optparse-applicative"; - version = "0.8.0.1"; - sha256 = "19k7jw9hrns5i8dr67jxadaqnj0cmn991hl00fwymg4awv34p1w3"; - buildDepends = [ ansiWlPprint transformers ]; + version = "0.9.0"; + sha256 = "1nmwrg74wz8k3zwgw5aaf7padkawi0dlrclq6nsr17xz5yx524ay"; + buildDepends = [ ansiWlPprint transformers transformersCompat ]; testDepends = [ HUnit QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 testFrameworkThPrime diff --git a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix index 62044cc9f5f..9738ad9e19c 100644 --- a/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc-citeproc/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "pandoc-citeproc"; - version = "0.3.0.1"; - sha256 = "1w8ljf0mc5a3bqv0hymg2daafkrlzdzar23l4yqakjr21n75nvlx"; + version = "0.3.1"; + sha256 = "06ck5qfajzwdsmcqvkcs85andxxrifvsfsybf14m7jd6r8y4bg26"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix index ee41d76a417..28b4acbfe1d 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.2"; - sha256 = "1jgab8ccyyr8ygm6y0wbr3vvwdg5gkp1b6014dk8ryqb2dmkmikc"; + version = "1.12.3.3"; + sha256 = "1rw641w8xdisnbni5glxqxgfjps6p8vpnvprd4zgsjqn71397pdk"; 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 5a93cb023c9..04738c0c00e 100644 --- a/pkgs/development/libraries/haskell/pandoc/default.nix +++ b/pkgs/development/libraries/haskell/pandoc/default.nix @@ -2,7 +2,7 @@ , binary, blazeHtml, blazeMarkup, dataDefault, Diff , extensibleExceptions, filepath, happy, highlightingKate, hslua , HTTP, httpConduit, httpTypes, HUnit, mtl, network, pandocTypes -, parsec, QuickCheck, random, syb, tagsoup, temporary +, parsec, QuickCheck, random, scientific, syb, tagsoup, temporary , testFramework, testFrameworkHunit, testFrameworkQuickcheck2 , texmath, text, time, unorderedContainers, vector, xml, yaml , zipArchive, zlib @@ -10,16 +10,16 @@ cabal.mkDerivation (self: { pname = "pandoc"; - version = "1.12.3.3"; - sha256 = "0v7wvh93rz3k7phlz21627j5xakpi83174mchr3lwg4bmkfxn25s"; + version = "1.12.4.2"; + sha256 = "0ibzladj0xm0xnsphd26lzndxzkawz73pfd7rnlnmllqckrzairg"; isLibrary = true; isExecutable = true; buildDepends = [ aeson alex attoparsec base64Bytestring binary blazeHtml blazeMarkup dataDefault extensibleExceptions filepath happy highlightingKate hslua HTTP httpConduit httpTypes mtl network pandocTypes parsec - random syb tagsoup temporary texmath text time unorderedContainers - vector xml yaml zipArchive zlib + random scientific syb tagsoup temporary texmath text time + unorderedContainers vector xml yaml zipArchive zlib ]; testDepends = [ ansiTerminal Diff filepath highlightingKate HUnit pandocTypes diff --git a/pkgs/development/libraries/haskell/parsec/3.1.2.nix b/pkgs/development/libraries/haskell/parsec/3.1.2.nix index ecbdbb3aef0..d043fde0120 100644 --- a/pkgs/development/libraries/haskell/parsec/3.1.2.nix +++ b/pkgs/development/libraries/haskell/parsec/3.1.2.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "3.1.2"; sha256 = "0lhn9j2j5jlh7g0qx9f6ms63n9x1xlxg9isdvm6z0ksy3ywj9wch"; buildDepends = [ mtl text ]; + jailbreak = true; meta = { homepage = "http://www.cs.uu.nl/~daan/parsec.html"; description = "Monadic parser combinators"; diff --git a/pkgs/development/libraries/haskell/parsec/3.1.3.nix b/pkgs/development/libraries/haskell/parsec/3.1.3.nix index b9b10f2e5b0..20902162169 100644 --- a/pkgs/development/libraries/haskell/parsec/3.1.3.nix +++ b/pkgs/development/libraries/haskell/parsec/3.1.3.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "3.1.3"; sha256 = "1a64gzirgpa1i78gbbp9z059nh29xmcja4g8vgjb1fbylx6vn54z"; buildDepends = [ mtl text ]; + jailbreak = true; meta = { homepage = "http://www.cs.uu.nl/~daan/parsec.html"; description = "Monadic parser combinators"; diff --git a/pkgs/development/libraries/haskell/parsers/0.11.nix b/pkgs/development/libraries/haskell/parsers/0.11.0.1.nix similarity index 84% rename from pkgs/development/libraries/haskell/parsers/0.11.nix rename to pkgs/development/libraries/haskell/parsers/0.11.0.1.nix index c5d91f167cc..f24c96b1fad 100644 --- a/pkgs/development/libraries/haskell/parsers/0.11.nix +++ b/pkgs/development/libraries/haskell/parsers/0.11.0.1.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "parsers"; - version = "0.11"; - sha256 = "0k3xm9ww4q2wkjik4n4ww6ys79kl7xyzbhcb7xi81jz9py0xciqd"; + version = "0.11.0.1"; + sha256 = "0jg91zzsq12vxxsxrd1kx8h2c06asccymjbpx0zl7nvj5dhjfkpq"; buildDepends = [ attoparsec charset parsec text transformers unorderedContainers ]; diff --git a/pkgs/development/libraries/haskell/pattern-arrows/default.nix b/pkgs/development/libraries/haskell/pattern-arrows/default.nix new file mode 100644 index 00000000000..a73432fe62b --- /dev/null +++ b/pkgs/development/libraries/haskell/pattern-arrows/default.nix @@ -0,0 +1,14 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "pattern-arrows"; + version = "0.0.2"; + sha256 = "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"; + buildDepends = [ mtl ]; + meta = { + homepage = "http://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html"; + description = "Arrows for Pretty Printing"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/pcre-light/default.nix b/pkgs/development/libraries/haskell/pcre-light/default.nix index 71e0ddadb59..33333e2d698 100644 --- a/pkgs/development/libraries/haskell/pcre-light/default.nix +++ b/pkgs/development/libraries/haskell/pcre-light/default.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: { pname = "pcre-light"; - version = "0.4"; - sha256 = "1xiikiap1bvx9czw64664vifdq64scx0yhfclh5m8mkvn3x6yzxk"; + version = "0.4.0.2"; + sha256 = "0baq46d3k376mhh98gkfi6phndk8ba25c2kll9zms1y07mn3bnnx"; extraLibraries = [ pcre ]; meta = { - homepage = "http://code.haskell.org/~dons/code/pcre-light"; + homepage = "https://github.com/Daniel-Diaz/pcre-light"; description = "A small, efficient and portable regex library for Perl 5 compatible regular expressions"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/pem/default.nix b/pkgs/development/libraries/haskell/pem/default.nix index 0c331e1bda5..410d9c3d4c4 100644 --- a/pkgs/development/libraries/haskell/pem/default.nix +++ b/pkgs/development/libraries/haskell/pem/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "pem"; - version = "0.2.1"; - sha256 = "05ln372ad89993v07q108l9al8jgjpzardpl02pziwwacdcj1j17"; + version = "0.2.2"; + sha256 = "162sk5sg22w21wqz5qv8kx6ibxp99v5p20g3nknhm1kddk3hha1p"; buildDepends = [ base64Bytestring mtl ]; testDepends = [ HUnit QuickCheck testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/permutation/default.nix b/pkgs/development/libraries/haskell/permutation/default.nix index 4f38dfcaa12..f44ab16f563 100644 --- a/pkgs/development/libraries/haskell/permutation/default.nix +++ b/pkgs/development/libraries/haskell/permutation/default.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: { pname = "permutation"; - version = "0.4.1"; - sha256 = "0fgw4ivs8sa18fyphwr3mzp2v7ha2nz2yf3a7jmz9ymqdf2xws97"; + version = "0.5.0.4"; + sha256 = "0kl5yw1as2y8yf2ac2f6v7g8k7mzjqw5fdh18a6m3jfhjw9rcqf7"; doCheck = false; meta = { - homepage = "http://stat.stanford.edu/~patperry/code/permutation"; + homepage = "https://github.com/spacekitteh/permutation"; description = "A library for permutations and combinations"; license = self.stdenv.lib.licenses.bsd3; 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 85b1a10b5ba..49a505e8dd1 100644 --- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix +++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "persistent-postgresql"; - version = "1.3.0.5"; - sha256 = "0abk38jzc7k93wrzn3pq90xj0mqln4nqrgzmmy0d3p4gmbzmnnia"; + version = "1.3.1.1"; + sha256 = "1qi19fm7waxrbh795jvcny7aaj6b64jqcwv772xjzl9dbv3q9qhc"; buildDepends = [ aeson blazeBuilder conduit monadControl persistent postgresqlLibpq postgresqlSimple resourcet text time transformers diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix index b16c89dac70..dd37b96c2d8 100644 --- a/pkgs/development/libraries/haskell/persistent/default.nix +++ b/pkgs/development/libraries/haskell/persistent/default.nix @@ -1,5 +1,5 @@ { cabal, aeson, attoparsec, base64Bytestring, blazeHtml -, blazeMarkup, conduit, hspec, liftedBase, monadControl +, blazeMarkup, conduit, exceptions, hspec, liftedBase, monadControl , monadLogger, pathPieces, resourcePool, resourcet, scientific , silently, sqlite, text, time, transformers, transformersBase , unorderedContainers, vector @@ -7,12 +7,12 @@ cabal.mkDerivation (self: { pname = "persistent"; - version = "1.3.0.6"; - sha256 = "0rj5yi8nziym9cb9c9vw6vdjflf2yfz02i39p6dsdy084f1ivpk8"; + version = "1.3.1.1"; + sha256 = "0na1mci7m8hzv40d5qc75dqdkw2kbw8i6xpjlpwgd1flznmqkdvx"; buildDepends = [ aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit - liftedBase monadControl monadLogger pathPieces resourcePool - resourcet scientific silently text time transformers + exceptions liftedBase monadControl monadLogger pathPieces + resourcePool resourcet scientific silently text time transformers transformersBase unorderedContainers vector ]; testDepends = [ diff --git a/pkgs/development/libraries/haskell/pipes-aeson/default.nix b/pkgs/development/libraries/haskell/pipes-aeson/default.nix index 899810c1539..85fd3a0a548 100644 --- a/pkgs/development/libraries/haskell/pipes-aeson/default.nix +++ b/pkgs/development/libraries/haskell/pipes-aeson/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "pipes-aeson"; - version = "0.3.0"; - sha256 = "1kckdllw5xnh8z92gjw5swyxp9km879wqfly7af3iirwhickk4vn"; + version = "0.4"; + sha256 = "0cz9av3w8h2gh3cz7gs3ikplf60a111wcsr3z6vi8gqlmmgmck07"; buildDepends = [ aeson attoparsec pipes pipesAttoparsec pipesBytestring pipesParse transformers diff --git a/pkgs/development/libraries/haskell/pipes-network/default.nix b/pkgs/development/libraries/haskell/pipes-network/default.nix index b70527ecdad..5ec70a010a5 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.2"; - sha256 = "1y64cyi1lq7y5x3b1rv2iixlwqnz4g82nxk2m14x214fmj3np965"; + version = "0.6.3"; + sha256 = "09gihca0hinq3sqsx9753gmas6g22pg792ag6ckdw5z3607razrg"; 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 ef615ebb808..5f5dec485b6 100644 --- a/pkgs/development/libraries/haskell/pipes-parse/default.nix +++ b/pkgs/development/libraries/haskell/pipes-parse/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pipes-parse"; - version = "3.0.1"; - sha256 = "0f262p8mfcpvs3f3myy6bll9v61rfgrfdy2scdzf7vvx0h0lrpj7"; + version = "3.0.2"; + sha256 = "1d5lhh8knk0hmvd9wv2ihs5z9ybyvhd1n7qaazqkazqkyl14pd08"; buildDepends = [ pipes transformers ]; meta = { description = "Parsing infrastructure for the pipes ecosystem"; diff --git a/pkgs/development/libraries/haskell/pipes-safe/default.nix b/pkgs/development/libraries/haskell/pipes-safe/default.nix index c1d5a603da0..2e664631f1f 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.1.0"; - sha256 = "0qm02hwmrqlncnlxix7mdgzbf0mzally4k7ydwg06nqi35bb7s3j"; + version = "2.2.0"; + sha256 = "1m44a2pbws73jbr2ca48i94mrfwzlsibyc22i2w3fqq159qfg6ca"; buildDepends = [ exceptions pipes transformers ]; meta = { description = "Safety for the pipes ecosystem"; diff --git a/pkgs/development/libraries/haskell/pipes/default.nix b/pkgs/development/libraries/haskell/pipes/default.nix index 3ca6969f159..21f349768c0 100644 --- a/pkgs/development/libraries/haskell/pipes/default.nix +++ b/pkgs/development/libraries/haskell/pipes/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "pipes"; - version = "4.1.0"; - sha256 = "1n10plmrjvmkyv502195mkms48y3lfp5gy08lhyhqqr7kn1gzkf0"; + version = "4.1.2"; + sha256 = "0prxk4qjdcmxjdvpi1bwql0s3l1kwlaz9sydr9swa8bc8ams3a11"; buildDepends = [ mmorph mtl transformers ]; testDepends = [ mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers diff --git a/pkgs/development/libraries/haskell/pointed/default.nix b/pkgs/development/libraries/haskell/pointed/default.nix index 15f4ba59aaa..7a02d5850d2 100644 --- a/pkgs/development/libraries/haskell/pointed/default.nix +++ b/pkgs/development/libraries/haskell/pointed/default.nix @@ -4,12 +4,13 @@ cabal.mkDerivation (self: { pname = "pointed"; - version = "4.0"; - sha256 = "02y7ba1pcpmwcp762516p4x75y3ma2kml9mbiv1y8gcnn4ylvir4"; + version = "4.1"; + sha256 = "1l40nl1sx16hbqz1kv70g6jp2igvvj93p5db8b6bsgjxx9ibck6g"; buildDepends = [ comonad dataDefaultClass semigroupoids semigroups stm tagged transformers ]; + jailbreak = true; meta = { homepage = "http://github.com/ekmett/pointed/"; description = "Pointed and copointed data"; diff --git a/pkgs/development/libraries/haskell/pointedlist/default.nix b/pkgs/development/libraries/haskell/pointedlist/default.nix index 881beafaca0..a7b23cd85af 100644 --- a/pkgs/development/libraries/haskell/pointedlist/default.nix +++ b/pkgs/development/libraries/haskell/pointedlist/default.nix @@ -1,10 +1,10 @@ -{ cabal, binary, derive }: +{ cabal, binary }: cabal.mkDerivation (self: { pname = "pointedlist"; - version = "0.6"; - sha256 = "16sfw77w46f7rjd1lpdfzi1bdgf81siy2sj71xqkqbsz6cvkjakg"; - buildDepends = [ binary derive ]; + version = "0.6.1"; + sha256 = "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"; + buildDepends = [ binary ]; meta = { description = "A zipper-like comonad which works as a list, tracking a position"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/posix-paths/default.nix b/pkgs/development/libraries/haskell/posix-paths/default.nix new file mode 100644 index 00000000000..96775121acb --- /dev/null +++ b/pkgs/development/libraries/haskell/posix-paths/default.nix @@ -0,0 +1,13 @@ +{ cabal, doctest, HUnit, QuickCheck }: + +cabal.mkDerivation (self: { + pname = "posix-paths"; + version = "0.2.0.3"; + sha256 = "16r0sd2m9xzzkrvj6qvc7z3yc8r83kpx724v5wifphcri3scvznv"; + testDepends = [ doctest HUnit QuickCheck ]; + meta = { + description = "POSIX filepath/directory functionality"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix index d630f063391..40acabad1cd 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.9.0.0"; - sha256 = "09bi0npvly02zjhp463bmzm1n8w1cqsln676z82xi2in86317pv3"; + version = "0.9.0.1"; + sha256 = "0fdz9pkmrajqm026s6d5ib9kqg5ph93fw7l2xrgf22zagl53rzx3"; 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 20222609cff..b9783089987 100644 --- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix +++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "postgresql-simple"; - version = "0.4.2.1"; - sha256 = "1547n7rh0gsrjaa8f9lc4diljpps09kdf0gkm0cjf1gk2kr7lh94"; + version = "0.4.2.2"; + sha256 = "0ipwpggzgqsi8ii12pk4c1bmwv2y5yj6yvyh8ma9rsz9f081bzyy"; buildDepends = [ aeson attoparsec blazeBuilder blazeTextual hashable postgresqlLibpq scientific text time transformers uuid vector diff --git a/pkgs/development/libraries/haskell/prelude-extras/default.nix b/pkgs/development/libraries/haskell/prelude-extras/default.nix new file mode 100644 index 00000000000..33275952e0d --- /dev/null +++ b/pkgs/development/libraries/haskell/prelude-extras/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "prelude-extras"; + version = "0.4"; + sha256 = "0mzsc9pzcamaa7i3g9hkajy35sbpqdjrflv6r98r8hhlr0yrdjan"; + meta = { + homepage = "http://github.com/ekmett/prelude-extras"; + description = "Haskell 98 - higher order versions of Prelude classes"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/presburger/default.nix b/pkgs/development/libraries/haskell/presburger/default.nix new file mode 100644 index 00000000000..f266cf6cdab --- /dev/null +++ b/pkgs/development/libraries/haskell/presburger/default.nix @@ -0,0 +1,14 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "presburger"; + version = "1.1"; + sha256 = "0pb0rabhhzrrrsr8260lgjpp168pm8ldqwfqbc2i1wy95n7wxk7c"; + meta = { + homepage = "http://github.com/yav/presburger"; + description = "A decision procedure for quantifier-free linear arithmetic"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/pretty-show/1.2.nix b/pkgs/development/libraries/haskell/pretty-show/1.2.nix deleted file mode 100644 index 545816a57a0..00000000000 --- a/pkgs/development/libraries/haskell/pretty-show/1.2.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ cabal, haskellLexer }: - -cabal.mkDerivation (self: { - pname = "pretty-show"; - version = "1.2"; - sha256 = "0lbalmyrqisgd2spbvzifsy25lr6cl9sgz78hav8q8r406k7nf2l"; - isLibrary = true; - isExecutable = true; - buildDepends = [ haskellLexer ]; - meta = { - homepage = "http://wiki.github.com/yav/pretty-show"; - description = "Tools for working with derived Show instances"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - }; -}) diff --git a/pkgs/development/libraries/haskell/pretty-show/1.6.7.nix b/pkgs/development/libraries/haskell/pretty-show/default.nix similarity index 86% rename from pkgs/development/libraries/haskell/pretty-show/1.6.7.nix rename to pkgs/development/libraries/haskell/pretty-show/default.nix index 7e3e3e25e8a..56126a42cb3 100644 --- a/pkgs/development/libraries/haskell/pretty-show/1.6.7.nix +++ b/pkgs/development/libraries/haskell/pretty-show/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pretty-show"; - version = "1.6.7"; - sha256 = "16qjp6cl3hyir5bchnncq95bp7nw5cpp5kd5mszkjjhzw1jj9srz"; + version = "1.6.8"; + sha256 = "0vfb712dvbb91659sch62d06vm0451b9l4l0hdwnlbhzjymmh2rs"; isLibrary = true; isExecutable = true; buildDepends = [ filepath haskellLexer ]; diff --git a/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix new file mode 100644 index 00000000000..a22ea14cd53 --- /dev/null +++ b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix @@ -0,0 +1,14 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "primitive"; + version = "0.5.3.0"; + sha256 = "11wfdnhrgb7606d5sywqzlvnhzf45a9ywl9wghysvmr0mq2iypvn"; + 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 3ecd88515b2..8ed966cd05b 100644 --- a/pkgs/development/libraries/haskell/process-conduit/default.nix +++ b/pkgs/development/libraries/haskell/process-conduit/default.nix @@ -11,6 +11,9 @@ cabal.mkDerivation (self: { text ]; testDepends = [ conduit hspec ]; + # This check is being disabled until process-conduit is updated to properly + # support conduit 1.1.x + doCheck = false; meta = { homepage = "http://github.com/tanakh/process-conduit"; description = "Conduits for processes"; diff --git a/pkgs/development/libraries/haskell/process/1.2.0.0.nix b/pkgs/development/libraries/haskell/process/1.2.0.0.nix new file mode 100644 index 00000000000..f3ae03da7c4 --- /dev/null +++ b/pkgs/development/libraries/haskell/process/1.2.0.0.nix @@ -0,0 +1,14 @@ +{ cabal, deepseq, filepath }: + +cabal.mkDerivation (self: { + pname = "process"; + version = "1.2.0.0"; + sha256 = "02il5pxibf0q9b46v0lgdxyc2wlk5kg1v8223ry6brg41zpcj71q"; + buildDepends = [ deepseq filepath ]; + meta = { + description = "Process libraries"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/profunctors/default.nix b/pkgs/development/libraries/haskell/profunctors/default.nix index 300d2e66f89..f8d2e727353 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.3"; - sha256 = "0rdr75nqzxaly47vnpbmska608k457dgpzi5wfcqhmw996kh5inh"; + version = "4.0.4"; + sha256 = "1hs6cs6y6zwf0c4jb92wnhp23qaxzw3xy7k07m9z98h8ziyqbqhx"; buildDepends = [ comonad semigroupoids tagged transformers ]; meta = { homepage = "http://github.com/ekmett/profunctors/"; diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix new file mode 100644 index 00000000000..bbf380f3e73 --- /dev/null +++ b/pkgs/development/libraries/haskell/purescript/default.nix @@ -0,0 +1,24 @@ +{ cabal, cmdtheline, filepath, haskeline, monadUnify, mtl, parsec +, patternArrows, time, transformers, unorderedContainers +, utf8String, xdgBasedir +}: + +cabal.mkDerivation (self: { + pname = "purescript"; + version = "0.5.2.1"; + sha256 = "1dr34capgjlyjsaghsv11zz6ph5l0y8dz0q398f0f3hplcal3f58"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + cmdtheline filepath haskeline monadUnify mtl parsec patternArrows + time transformers unorderedContainers utf8String xdgBasedir + ]; + # The example don't seem to get packaged in the release. + doCheck = false; + meta = { + homepage = "http://www.purescript.org/"; + description = "PureScript Programming Language Compiler"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/quickcheck-property-monad/default.nix b/pkgs/development/libraries/haskell/quickcheck-property-monad/default.nix new file mode 100644 index 00000000000..203f22146b1 --- /dev/null +++ b/pkgs/development/libraries/haskell/quickcheck-property-monad/default.nix @@ -0,0 +1,15 @@ +{ cabal, doctest, either, filepath, QuickCheck, transformers }: + +cabal.mkDerivation (self: { + pname = "quickcheck-property-monad"; + version = "0.2.1"; + sha256 = "1ln8bcsc8hd8jyhd9rp2j90p5h5nhmwidb5my91p09h43y4z9xds"; + buildDepends = [ either QuickCheck transformers ]; + testDepends = [ doctest filepath QuickCheck ]; + meta = { + homepage = "http://github.com/bennofs/quickcheck-property-monad/"; + description = "quickcheck-property-monad"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/reactive-banana/default.nix b/pkgs/development/libraries/haskell/reactive-banana/default.nix index 535b289a389..e2cda01ee40 100644 --- a/pkgs/development/libraries/haskell/reactive-banana/default.nix +++ b/pkgs/development/libraries/haskell/reactive-banana/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "reactive-banana"; - version = "0.8.0.0"; - sha256 = "15dzvn7cbs9kg410lyd1kj6kf2r7ap2n9bc59byzkb0r8wzn9ra1"; + version = "0.8.0.2"; + sha256 = "0hfhq663dvvb3jbgdnarawryw09m8ckqvqp6p5n4d4dms4gfzcdv"; buildDepends = [ hashable pqueue transformers unorderedContainers vault ]; diff --git a/pkgs/development/libraries/haskell/recursion-schemes/default.nix b/pkgs/development/libraries/haskell/recursion-schemes/default.nix new file mode 100644 index 00000000000..78e7da44061 --- /dev/null +++ b/pkgs/development/libraries/haskell/recursion-schemes/default.nix @@ -0,0 +1,14 @@ +{ cabal, comonad, free, transformers }: + +cabal.mkDerivation (self: { + pname = "recursion-schemes"; + version = "4.0"; + sha256 = "1xc1k04p3birxgv5h3ypw85w0cgq4d5rsmadx4pc3j409y6i5p06"; + buildDepends = [ comonad free transformers ]; + meta = { + homepage = "http://github.com/ekmett/recursion-schemes/"; + description = "Generalized bananas, lenses and barbed wire"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/reducers/default.nix b/pkgs/development/libraries/haskell/reducers/default.nix index 335cee497ea..7d7ad6d4917 100644 --- a/pkgs/development/libraries/haskell/reducers/default.nix +++ b/pkgs/development/libraries/haskell/reducers/default.nix @@ -11,6 +11,7 @@ cabal.mkDerivation (self: { comonad fingertree hashable keys pointed semigroupoids semigroups text transformers unorderedContainers ]; + jailbreak = true; meta = { homepage = "http://github.com/ekmett/reducers/"; description = "Semigroups, specialized containers and a general map/reduce framework"; diff --git a/pkgs/development/libraries/haskell/regex-applicative/default.nix b/pkgs/development/libraries/haskell/regex-applicative/default.nix new file mode 100644 index 00000000000..5cb6485ec71 --- /dev/null +++ b/pkgs/development/libraries/haskell/regex-applicative/default.nix @@ -0,0 +1,19 @@ +{ cabal, HUnit, smallcheck, tasty, tastyHunit, tastySmallcheck +, transformers +}: + +cabal.mkDerivation (self: { + pname = "regex-applicative"; + version = "0.3.0.2"; + sha256 = "0bzf8lnb5568glppk8bajh4c3a08baav5r0qhyn3vnfybi02c4d2"; + buildDepends = [ transformers ]; + testDepends = [ + HUnit smallcheck tasty tastyHunit tastySmallcheck transformers + ]; + meta = { + homepage = "https://github.com/feuerbach/regex-applicative"; + description = "Regex-based parsing with applicative interface"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/regular/default.nix b/pkgs/development/libraries/haskell/regular/default.nix index 8a3e740491c..97920780533 100644 --- a/pkgs/development/libraries/haskell/regular/default.nix +++ b/pkgs/development/libraries/haskell/regular/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "regular"; - version = "0.3.4.2"; - sha256 = "0fshjpbgabdcsa9a4cjmvfrzy7db4s679rprdbrhhfwf5xiszs2s"; + version = "0.3.4.3"; + sha256 = "12pc58agqb4fi0riwxjf0kykn1z12273q8dcdd0fh2x1ddxwgg2r"; meta = { description = "Generic programming library for regular datatypes"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/repa-algorithms/default.nix b/pkgs/development/libraries/haskell/repa-algorithms/default.nix index 2ec3fb3172e..06725444e86 100644 --- a/pkgs/development/libraries/haskell/repa-algorithms/default.nix +++ b/pkgs/development/libraries/haskell/repa-algorithms/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "repa-algorithms"; - version = "3.2.4.1"; - sha256 = "0xb2r726z73ghiqik39n99q5hal16y7ydk16q2rbycbvc37yq24b"; + version = "3.2.5.1"; + sha256 = "1pk2w7qx1jfxqra66fflb71v6hmq6g05dss27kwhz0cdidpvcc7l"; buildDepends = [ repa vector ]; extraLibraries = [ llvm ]; jailbreak = true; diff --git a/pkgs/development/libraries/haskell/repa-examples/default.nix b/pkgs/development/libraries/haskell/repa-examples/default.nix index 0d65439f2c5..571ef7f3d16 100644 --- a/pkgs/development/libraries/haskell/repa-examples/default.nix +++ b/pkgs/development/libraries/haskell/repa-examples/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "repa-examples"; - version = "3.2.3.2"; - sha256 = "1l8bvaaap5gl62j9zinjgj8vlqq4b52p46hnj8kq9n09lxq6xq96"; + version = "3.2.5.1"; + sha256 = "0xrjfmwbq8mhcim261da7i68mp5jxkqiwjy2mhd1lgkr63m6x18j"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/repa-io/default.nix b/pkgs/development/libraries/haskell/repa-io/default.nix index 046fafca43a..563fe84193b 100644 --- a/pkgs/development/libraries/haskell/repa-io/default.nix +++ b/pkgs/development/libraries/haskell/repa-io/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "repa-io"; - version = "3.2.3.2"; - sha256 = "116qxq0jsq3hbj0hxjxfr9sl29vzj1rpfbzfxgc243v1hh4rdjfr"; + version = "3.2.5.1"; + sha256 = "0aizsr6r1ybydpwqiamcdr4jhvqh0fiq9gbd7n17lrmnagyla5n8"; buildDepends = [ binary bmp repa vector ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/repa/default.nix b/pkgs/development/libraries/haskell/repa/default.nix index ae56ba5157a..ceb6fcadb0f 100644 --- a/pkgs/development/libraries/haskell/repa/default.nix +++ b/pkgs/development/libraries/haskell/repa/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "repa"; - version = "3.2.3.3"; - sha256 = "0rdny7yjcmz9iy07sqnjmwyr58f0kyzzdycwi55j963rb4vqkacn"; + version = "3.2.5.1"; + sha256 = "0yrmia3ciagzrmrsmxh56qym4wc0malph7zhiw71gl9c9sp8hzvq"; buildDepends = [ QuickCheck vector ]; meta = { homepage = "http://repa.ouroborus.net"; diff --git a/pkgs/development/libraries/haskell/resource-pool/default.nix b/pkgs/development/libraries/haskell/resource-pool/default.nix index 77bc9105193..677243190b1 100644 --- a/pkgs/development/libraries/haskell/resource-pool/default.nix +++ b/pkgs/development/libraries/haskell/resource-pool/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "resource-pool"; - version = "0.2.1.1"; - sha256 = "1ypyzy7mkmpab6rghsizrx6raam3l2acwxm56x7jmcv8s2algi1g"; + version = "0.2.2.0"; + sha256 = "0h00q6lmv21nqjs81r7y3ig4y65zpap1r6xqz9lc3zxx29bgl8xk"; buildDepends = [ hashable monadControl stm time transformers transformersBase vector ]; diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix index 7995227a8c0..60358a228d2 100644 --- a/pkgs/development/libraries/haskell/resourcet/default.nix +++ b/pkgs/development/libraries/haskell/resourcet/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "resourcet"; - version = "1.1.1"; - sha256 = "0v80wlxpcikr41p8wxa2kr184ghp94bgb5fwym9c27k8djig2awy"; + version = "1.1.2.2"; + sha256 = "1j468zkjd7j2xpgzx1i36h3lpamnqpk0rj3miwfr9a0ibm7bz1as"; buildDepends = [ exceptions liftedBase mmorph monadControl mtl transformers transformersBase diff --git a/pkgs/development/libraries/haskell/retry/default.nix b/pkgs/development/libraries/haskell/retry/default.nix index d57898593b2..b78fc66ca06 100644 --- a/pkgs/development/libraries/haskell/retry/default.nix +++ b/pkgs/development/libraries/haskell/retry/default.nix @@ -1,13 +1,13 @@ -{ cabal, dataDefault, liftedBase, monadControl, transformers }: +{ cabal, dataDefault, exceptions, transformers }: cabal.mkDerivation (self: { pname = "retry"; - version = "0.3.0.0"; - sha256 = "00yjk5784h4w1cckw17w1k5r94acc3ycnprk642ndgggz3lxm36n"; - buildDepends = [ - dataDefault liftedBase monadControl transformers - ]; + version = "0.4"; + sha256 = "16njq924b5n7jyfc059dbypp529gqlc9qnzd7wjk4m7dpm5bww67"; + buildDepends = [ dataDefault exceptions transformers ]; + jailbreak = true; meta = { + homepage = "http://github.com/Soostone/retry"; 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/rex/default.nix b/pkgs/development/libraries/haskell/rex/default.nix new file mode 100644 index 00000000000..c590b6023c0 --- /dev/null +++ b/pkgs/development/libraries/haskell/rex/default.nix @@ -0,0 +1,14 @@ +{ cabal, haskellSrcExts, haskellSrcMeta, pcreLight }: + +cabal.mkDerivation (self: { + pname = "rex"; + version = "0.5.1"; + sha256 = "18g09pg7hhj052v72vncjvy900h3xhza8hl2g3akad8asn9k6jl6"; + buildDepends = [ haskellSrcExts haskellSrcMeta pcreLight ]; + meta = { + homepage = "http://github.com/mgsloan/rex"; + description = "A quasi-quoter for typeful results of regex captures"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/safecopy/default.nix b/pkgs/development/libraries/haskell/safecopy/default.nix index c700ff0df3d..5d761c69349 100644 --- a/pkgs/development/libraries/haskell/safecopy/default.nix +++ b/pkgs/development/libraries/haskell/safecopy/default.nix @@ -1,10 +1,15 @@ -{ cabal, cereal, text, time }: +{ cabal, cereal, lens, quickcheckInstances, tasty, tastyQuickcheck +, text, time, vector +}: cabal.mkDerivation (self: { pname = "safecopy"; - version = "0.8.2"; - sha256 = "0l2kqymsxv244fahxcpxlrspk6xipz3br6j854ipbfh8b0bfvr4m"; - buildDepends = [ cereal text time ]; + version = "0.8.3"; + sha256 = "10xd42a1i84fwiy3db0ji4bd8ssk9jqysqwc00wdcdjyp50c333n"; + buildDepends = [ cereal text time vector ]; + testDepends = [ + cereal lens quickcheckInstances tasty tastyQuickcheck time vector + ]; meta = { homepage = "http://acid-state.seize.it/safecopy"; description = "Binary serialization with version control"; diff --git a/pkgs/development/libraries/haskell/scientific/default.nix b/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix similarity index 100% rename from pkgs/development/libraries/haskell/scientific/default.nix rename to pkgs/development/libraries/haskell/scientific/0.2.0.2.nix diff --git a/pkgs/development/libraries/haskell/scientific/0.3.2.1.nix b/pkgs/development/libraries/haskell/scientific/0.3.2.1.nix new file mode 100644 index 00000000000..467f2f1d160 --- /dev/null +++ b/pkgs/development/libraries/haskell/scientific/0.3.2.1.nix @@ -0,0 +1,22 @@ +{ cabal, deepseq, hashable, QuickCheck, smallcheck, tasty +, tastyAntXml, tastyQuickcheck, tastySmallcheck, text +}: + +cabal.mkDerivation (self: { + pname = "scientific"; + version = "0.3.2.1"; + sha256 = "0z0k0dqmv6a3spgl48yl00a55niv0gqjy906sh4r8xfpsabzl88s"; + buildDepends = [ deepseq hashable text ]; + testDepends = [ + QuickCheck smallcheck tasty tastyAntXml tastyQuickcheck + tastySmallcheck text + ]; + jailbreak = true; + meta = { + homepage = "https://github.com/basvandijk/scientific"; + description = "Numbers represented using scientific notation"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/semigroupoids/default.nix b/pkgs/development/libraries/haskell/semigroupoids/default.nix index c46bfa910b0..45e2adb35fd 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.1"; - sha256 = "0w4r4nmyq94aq9xlyvrankipfwdmlcz2ghqicn9drqfjirhi8lrl"; + version = "4.0.2"; + sha256 = "07xzqqdra2d5jr4wclislj1lhbb1nlry65m0y42hdxsjf3n05931"; 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 22dfb5e8896..7b68d75c906 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.13.0.1"; - sha256 = "12zd1pvggjj81hi7vm9z8fxcwsg6r2xbsg3qjs8snnybadi0qlfl"; + version = "0.14"; + sha256 = "07jmfb3h4kz3a2ysrkhzzpfdhxglszq6qqsmg2011f0hdzm24ay7"; buildDepends = [ hashable nats text unorderedContainers ]; meta = { homepage = "http://github.com/ekmett/semigroups/"; diff --git a/pkgs/development/libraries/haskell/setlocale/default.nix b/pkgs/development/libraries/haskell/setlocale/default.nix new file mode 100644 index 00000000000..09ffc7159a4 --- /dev/null +++ b/pkgs/development/libraries/haskell/setlocale/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "setlocale"; + version = "0.0.3"; + sha256 = "08pd20ibmslr94p52rn6x9w3swn9jy7vjlvxzw29h8dlqgmvcrjl"; + meta = { + description = "A Haskell interface to setlocale()"; + license = self.stdenv.lib.licenses.publicDomain; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix index 3e769f5e601..a2b8cc24e65 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.4"; - sha256 = "0gkj7zdy500zf58yscr5fq1ghj0kb3hywcv97r1xmi6ydccgf4ni"; + version = "0.13.1"; + sha256 = "00dvf1ydfgpnkv09fywsvyn0sphjwdrqhvkc21axj580ykbqxrn7"; isLibrary = true; isExecutable = true; buildDepends = [ @@ -16,6 +16,7 @@ cabal.mkDerivation (self: { binary deepseq filepath hashable QuickCheck random time transformers unorderedContainers utf8String ]; + doCheck = !self.stdenv.isDarwin; meta = { homepage = "https://github.com/ndmitchell/shake"; description = "Build system library, like Make, but more accurate dependencies"; diff --git a/pkgs/development/libraries/haskell/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix index 8f06ee67361..349b5d6cdbd 100644 --- a/pkgs/development/libraries/haskell/shakespeare-css/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-css/default.nix @@ -1,14 +1,14 @@ -{ cabal, hspec, HUnit, parsec, shakespeare, text, transformers }: +{ cabal, shakespeare }: cabal.mkDerivation (self: { pname = "shakespeare-css"; - version = "1.0.7.4"; - sha256 = "1lb3w0498bdsd2cmz2ns11dv5abif0wsilbqy0ymfb1dgl2rbpmz"; - buildDepends = [ parsec shakespeare text transformers ]; - testDepends = [ hspec HUnit shakespeare text ]; + version = "1.1.0"; + sha256 = "18d0kxfrs0aj9pfd9p1j7w5amch1hvsww3xycgn5qk6i0z7l4ywz"; + buildDepends = [ shakespeare ]; + noHaddock = true; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; - description = "Stick your haskell variables into css at compile time"; + description = "Stick your haskell variables into css at compile time. (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/shakespeare-i18n/default.nix b/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix index 5d7cb8c4abe..43af98f65aa 100644 --- a/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix @@ -1,14 +1,14 @@ -{ cabal, hspec, parsec, shakespeare, text }: +{ cabal, shakespeare }: cabal.mkDerivation (self: { pname = "shakespeare-i18n"; - version = "1.0.0.5"; - sha256 = "0f6i9pxr1lmqwcarb48swhrgab8hpkr46cv16psmbq67dr6h1dgf"; - buildDepends = [ parsec shakespeare text ]; - testDepends = [ hspec text ]; + version = "1.1.0"; + sha256 = "0ahhg9r7d8kdxn0x33bp5p8wmwkh1yvdqhw05yjwif0ky5y9h625"; + buildDepends = [ shakespeare ]; + noHaddock = true; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; - description = "A type-based approach to internationalization"; + description = "A type-based approach to internationalization. (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/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix index 12dcea223a9..40e7cd17b23 100644 --- a/pkgs/development/libraries/haskell/shakespeare-js/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-js/default.nix @@ -1,14 +1,14 @@ -{ cabal, aeson, hspec, HUnit, shakespeare, text }: +{ cabal, shakespeare }: cabal.mkDerivation (self: { pname = "shakespeare-js"; - version = "1.2.0.4"; - sha256 = "1y7bqv3yrlzbhd5s8w36z6vcc9jk5b9i8chhsqda5qay85rd0ipz"; - buildDepends = [ aeson shakespeare text ]; - testDepends = [ aeson hspec HUnit shakespeare text ]; + version = "1.3.0"; + sha256 = "0hihcrgvzf4nsrgw6vqpkzbgskq01yc1mnvp7g2wy7vq0dv4pjp4"; + buildDepends = [ shakespeare ]; + noHaddock = true; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; - description = "Stick your haskell variables into javascript/coffeescript at compile time"; + description = "Stick your haskell variables into javascript/coffeescript at compile time. (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/shakespeare-text/default.nix b/pkgs/development/libraries/haskell/shakespeare-text/default.nix index fa5b91dd469..b299b7c7030 100644 --- a/pkgs/development/libraries/haskell/shakespeare-text/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-text/default.nix @@ -1,14 +1,14 @@ -{ cabal, hspec, HUnit, shakespeare, text }: +{ cabal, shakespeare }: cabal.mkDerivation (self: { pname = "shakespeare-text"; - version = "1.0.2"; - sha256 = "0vhk5g5pm3gz8gzr7cbvkp920x4lmb9pkb9k6yhlj8wfb93bg93q"; - buildDepends = [ shakespeare text ]; - testDepends = [ hspec HUnit text ]; + version = "1.1.0"; + sha256 = "18ixixb9aqn630s9wblxcki1gggm4i0fj9752c55p3b42q8h86rc"; + buildDepends = [ shakespeare ]; + noHaddock = true; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; - description = "Interpolation with quasi-quotation: put variables strings"; + description = "Interpolation with quasi-quotation: put variables strings (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/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix index 0a0a8f18b03..54b93e10923 100644 --- a/pkgs/development/libraries/haskell/shakespeare/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare/default.nix @@ -1,12 +1,18 @@ -{ cabal, hspec, parsec, systemFileio, systemFilepath, text, time }: +{ cabal, aeson, blazeHtml, blazeMarkup, exceptions, hspec, HUnit +, parsec, systemFileio, systemFilepath, text, time, transformers +}: cabal.mkDerivation (self: { pname = "shakespeare"; - version = "1.2.1.1"; - sha256 = "1if3mfkcdfls17pcfgn8grxykq8ia91i7qr4q6m1gy6q4gqs6fkg"; - buildDepends = [ parsec systemFileio systemFilepath text time ]; + version = "2.0.0.3"; + sha256 = "12dmhcv404bh7kn04d175bj2b0fadz4sjypwsq151mlhakr13x85"; + buildDepends = [ + aeson blazeHtml blazeMarkup exceptions parsec systemFileio + systemFilepath text time transformers + ]; testDepends = [ - hspec parsec systemFileio systemFilepath text time + aeson blazeHtml blazeMarkup exceptions hspec HUnit parsec + systemFileio systemFilepath text time transformers ]; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; diff --git a/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix b/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix new file mode 100644 index 00000000000..d3ef289042d --- /dev/null +++ b/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix @@ -0,0 +1,21 @@ +{ cabal, hspec, HUnit, mtl, systemFileio, systemFilepath, text +, time, unixCompat +}: + +cabal.mkDerivation (self: { + pname = "shelly"; + version = "0.15.4.1"; + sha256 = "12m11s22izz0ny1syb1ykp2hi9n240myf0nhapvn8jx1fgf5iyck"; + buildDepends = [ + mtl systemFileio systemFilepath text time unixCompat + ]; + testDepends = [ + hspec HUnit mtl systemFileio systemFilepath text time unixCompat + ]; + meta = { + homepage = "https://github.com/yesodweb/Shelly.hs"; + description = "shell-like (systems) programming in Haskell"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix index 5a7171c4619..4549adaf43e 100644 --- a/pkgs/development/libraries/haskell/shelly/default.nix +++ b/pkgs/development/libraries/haskell/shelly/default.nix @@ -1,13 +1,16 @@ -{ cabal, async, mtl, systemFileio, systemFilepath, text, time -, unixCompat +{ cabal, async, enclosedExceptions, exceptions, liftedAsync +, liftedBase, monadControl, mtl, systemFileio, systemFilepath, text +, time, transformers, transformersBase, unixCompat }: cabal.mkDerivation (self: { pname = "shelly"; - version = "1.5.2"; - sha256 = "1iyn3xxmqbrx6xfay364m2qgflscmz9crr051jpzg0b629b8wssa"; + version = "1.5.3.2"; + sha256 = "0ilqg7mffw8cnl3w175if74xwfij7460qqqsp6hzml7gzjdb0rky"; buildDepends = [ - async mtl systemFileio systemFilepath text time unixCompat + async enclosedExceptions exceptions liftedAsync liftedBase + monadControl mtl systemFileio systemFilepath text time transformers + transformersBase unixCompat ]; meta = { homepage = "https://github.com/yesodweb/Shelly.hs"; diff --git a/pkgs/development/libraries/haskell/simple-reflect/default.nix b/pkgs/development/libraries/haskell/simple-reflect/default.nix index 7a7f40c6d83..121677b79f1 100644 --- a/pkgs/development/libraries/haskell/simple-reflect/default.nix +++ b/pkgs/development/libraries/haskell/simple-reflect/default.nix @@ -2,10 +2,10 @@ cabal.mkDerivation (self: { pname = "simple-reflect"; - version = "0.3.1"; - sha256 = "189pc7fk28bwl0mq6hw502kc048n203rb4vpf2wva490r36xiw6s"; + version = "0.3.2"; + sha256 = "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq"; meta = { - homepage = "http://twan.home.fmf.nl/blog/haskell/simple-reflection-of-expressions.details"; + homepage = "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions"; description = "Simple reflection of expressions containing variables"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix index 806feee295f..52c5fd7fe68 100644 --- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix +++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix @@ -1,11 +1,15 @@ -{ cabal, conduit, hspec, HUnit, network, networkConduit }: +{ cabal, conduit, conduitExtra, hspec, HUnit, network +, networkConduit, resourcet +}: cabal.mkDerivation (self: { pname = "simple-sendfile"; - version = "0.2.13"; - sha256 = "03cgbzfhkih1ln1xb78r1hfh6zzjjj6763n9nzr9cj6bxs0fiqd3"; - buildDepends = [ network ]; - testDepends = [ conduit hspec HUnit network networkConduit ]; + version = "0.2.14"; + sha256 = "00k9cachx7y4811b71f8p468kx018hzvpvw6jgf7zmjhc9v922ni"; + buildDepends = [ network resourcet ]; + testDepends = [ + conduit conduitExtra hspec HUnit network networkConduit resourcet + ]; doCheck = false; meta = { description = "Cross platform library for the sendfile system call"; diff --git a/pkgs/development/libraries/haskell/singletons/default.nix b/pkgs/development/libraries/haskell/singletons/default.nix index e233dc60cc0..aeace4d3fce 100644 --- a/pkgs/development/libraries/haskell/singletons/default.nix +++ b/pkgs/development/libraries/haskell/singletons/default.nix @@ -4,11 +4,12 @@ cabal.mkDerivation (self: { pname = "singletons"; - version = "0.10.0"; - sha256 = "14vnkw9ihrs3xg3lhb3wkyfz59lsaz4c3iqh3hqy7x9gmifgggwr"; + version = "1.0"; + sha256 = "1rd1728wghhqlg2djd7az8i01rf4i3wwwcnz2v43a39jjvhlklkg"; buildDepends = [ mtl thDesugar ]; testDepends = [ Cabal constraints filepath tasty tastyGolden ]; noHaddock = true; + patches = self.stdenv.lib.optional self.stdenv.isDarwin ./test.patch; meta = { homepage = "http://www.cis.upenn.edu/~eir/packages/singletons"; description = "A framework for generating singleton types"; diff --git a/pkgs/development/libraries/haskell/singletons/test.patch b/pkgs/development/libraries/haskell/singletons/test.patch new file mode 100644 index 00000000000..6979c2c6cb0 --- /dev/null +++ b/pkgs/development/libraries/haskell/singletons/test.patch @@ -0,0 +1,12 @@ +--- a/tests/SingletonsTestSuiteUtils.hs ++++ b/tests/SingletonsTestSuiteUtils.hs +@@ -201,7 +201,7 @@ testCompileAndDumpGroup testDir tests = + filterWithSed :: FilePath -> IO () + filterWithSed file = runProcessWithOpts CreatePipe "sed" + #ifdef darwin_HOST_OS +- [ "-i", "''" ++ [ "-i" + #else + [ "-i" + #endif + diff --git a/pkgs/development/libraries/haskell/sized-types/default.nix b/pkgs/development/libraries/haskell/sized-types/default.nix index 672b2c090ef..3fc69552e11 100644 --- a/pkgs/development/libraries/haskell/sized-types/default.nix +++ b/pkgs/development/libraries/haskell/sized-types/default.nix @@ -1,14 +1,15 @@ -{ cabal }: +{ cabal, singletons }: cabal.mkDerivation (self: { pname = "sized-types"; - version = "0.3.4.0"; - sha256 = "0fpk7xpqzzylxbnxhz56lxzfnrhfibn0x7ahxl91x6biysnh714c"; + version = "0.5.0"; + sha256 = "1cvgw2plzgpddg2p74hylx499dv4hn2nc8s085mnayp5n9jkn8md"; isLibrary = true; isExecutable = true; + buildDepends = [ singletons ]; meta = { homepage = "http://www.ittc.ku.edu/csdl/fpg/Tools"; - description = "Sized types in Haskell"; + description = "Sized types in Haskell using the GHC Nat kind"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/smtLib/default.nix b/pkgs/development/libraries/haskell/smtLib/default.nix new file mode 100644 index 00000000000..e1363d9063a --- /dev/null +++ b/pkgs/development/libraries/haskell/smtLib/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "smtLib"; + version = "1.0.7"; + sha256 = "1jn2790x7g7n6jm5cfgd692n3l6iafyv0zyz40hx8ykcs4jh2rkf"; + meta = { + description = "A library for working with the SMTLIB format"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/smtps-gmail/default.nix b/pkgs/development/libraries/haskell/smtps-gmail/default.nix index eb8d97805a0..6361c9bd79a 100644 --- a/pkgs/development/libraries/haskell/smtps-gmail/default.nix +++ b/pkgs/development/libraries/haskell/smtps-gmail/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "smtps-gmail"; - version = "1.1.1"; - sha256 = "1ccj9rmbplh0c7h6rpg3ry213nb1lrhf7hm2vl7kq9lv0nb7cy97"; + version = "1.2.0"; + sha256 = "1gg3cglfsyfffh3b5cyrk3pnb8jg5s8s4yjzykdnfyjrdp1080xz"; buildDepends = [ base64Bytestring cprngAes dataDefault filepath mimeMail network stringsearch text tls diff --git a/pkgs/development/libraries/haskell/snap-cors/default.nix b/pkgs/development/libraries/haskell/snap-cors/default.nix index d805817838a..338e2c4693f 100644 --- a/pkgs/development/libraries/haskell/snap-cors/default.nix +++ b/pkgs/development/libraries/haskell/snap-cors/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "snap-cors"; - version = "1.2.2"; - sha256 = "1f32sj7y87lr0wjs3j3ynh95c4j4yx4fzizbgdfnjai1apcjkhcs"; + version = "1.2.4"; + sha256 = "0mg5sjvrcs60s8k28vgi49vbgfpswkcd7i7yyfi1n1649vqb69mb"; buildDepends = [ attoparsec caseInsensitive hashable network snap text transformers unorderedContainers diff --git a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix index ec054cc8065..f6dbf733265 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.0.1"; - sha256 = "0iqhspvfp0d6qivis2l3v0rqrnb8qbzvi4n53zgyb9cwvqxx5fix"; + version = "0.10.0.2"; + sha256 = "0fnpzhwnj3dsqwx880391x9x6y0ry8f6dfrzkfs963zib9l3qvh7"; buildDepends = [ directoryTree hint mtl snapCore time ]; meta = { homepage = "http://snapframework.com/"; diff --git a/pkgs/development/libraries/haskell/snap/loader-static.nix b/pkgs/development/libraries/haskell/snap/loader-static.nix index e75ae50d6c8..c7fb496c036 100644 --- a/pkgs/development/libraries/haskell/snap/loader-static.nix +++ b/pkgs/development/libraries/haskell/snap/loader-static.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "snap-loader-static"; - version = "0.9.0.1"; - sha256 = "0xlb8611r9l9ld97rs27nji7k1qvjg5i62b4al38xj6i0f2skyyi"; + version = "0.9.0.2"; + sha256 = "0d6s7n6yryfs2jkw0hxvhvc79fhbj256askb1c6ksqhscxxxwz1m"; meta = { homepage = "http://snapframework.com/"; description = "Snap: A Haskell Web Framework: static loader"; diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix index e5835948d9e..ef59bf6374a 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.2"; - sha256 = "05na8gqbqy0nznasaxfkp4hr7h0s6ypm8000mhn50d27v8nk526m"; + version = "0.9.4.4"; + sha256 = "1y53baxyn6z6g4vc3j66w60s0vxdblkg8az712iw2030q2brilg2"; 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 3d361a69b87..26533c8ce0e 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.4"; - sha256 = "1806nd6gzih66c9gg2iz3dxr4qcd4jkgamz8pv9x3zkk7n5jqga0"; + version = "0.13.2.5"; + sha256 = "1xvwx4zg2b78fdyb2yvqd5i5g195di7rzzpn3va43vkq2lk5vcqj"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/snaplet-stripe/default.nix b/pkgs/development/libraries/haskell/snaplet-stripe/default.nix new file mode 100644 index 00000000000..1f74f646cae --- /dev/null +++ b/pkgs/development/libraries/haskell/snaplet-stripe/default.nix @@ -0,0 +1,20 @@ +{ cabal, configurator, heist, mtl, snap, stripe, text, textFormat +, transformers, xmlhtml +}: + +cabal.mkDerivation (self: { + pname = "snaplet-stripe"; + version = "0.2.0"; + sha256 = "01ichbwk31zfjq5rc09scz0j4ir6b7jnppdvmm8ilvkj7bl442xs"; + buildDepends = [ + configurator heist mtl snap stripe text textFormat transformers + xmlhtml + ]; + jailbreak = true; + meta = { + homepage = "https://github.com/LukeHoersten/snaplet-stripe"; + description = "Stripe snaplet for the Snap Framework"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/speculation/default.nix b/pkgs/development/libraries/haskell/speculation/default.nix new file mode 100644 index 00000000000..2cbad477b04 --- /dev/null +++ b/pkgs/development/libraries/haskell/speculation/default.nix @@ -0,0 +1,14 @@ +{ cabal, stm, transformers }: + +cabal.mkDerivation (self: { + pname = "speculation"; + version = "1.5.0.1"; + sha256 = "1kjshccmfnigb2dxq0czn3c1ckdflz6bl1q60h38qp3rc7250ml0"; + buildDepends = [ stm transformers ]; + meta = { + homepage = "http://github.com/ekmett/speculation"; + description = "A framework for safe, programmable, speculative parallelism"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/split/0.1.4.3.nix b/pkgs/development/libraries/haskell/split/0.1.4.3.nix new file mode 100644 index 00000000000..ad0df5c2cb0 --- /dev/null +++ b/pkgs/development/libraries/haskell/split/0.1.4.3.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "split"; + version = "0.1.4.3"; + sha256 = "1i9vmb0zvmhqj6qcbnsapsk9lhsyzznz336c8s7v4sz20s99hsby"; + meta = { + homepage = "http://code.haskell.org/~byorgey/code/split"; + description = "Combinator library for splitting lists"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/split/0.2.2.nix b/pkgs/development/libraries/haskell/split/0.2.2.nix index ab60774cca4..2d768e2e71d 100644 --- a/pkgs/development/libraries/haskell/split/0.2.2.nix +++ b/pkgs/development/libraries/haskell/split/0.2.2.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.2.2"; sha256 = "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr"; testDepends = [ QuickCheck ]; + doCheck = self.stdenv.lib.versionOlder self.ghc.version "7.9"; meta = { description = "Combinator library for splitting lists"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/spoon/default.nix b/pkgs/development/libraries/haskell/spoon/default.nix new file mode 100644 index 00000000000..bc631e69d52 --- /dev/null +++ b/pkgs/development/libraries/haskell/spoon/default.nix @@ -0,0 +1,13 @@ +{ cabal, deepseq }: + +cabal.mkDerivation (self: { + pname = "spoon"; + version = "0.3.1"; + sha256 = "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"; + buildDepends = [ deepseq ]; + meta = { + description = "Catch errors thrown from pure computations"; + 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 index d6d8d43bf24..d8a76210d08 100644 --- a/pkgs/development/libraries/haskell/sqlite-simple/default.nix +++ b/pkgs/development/libraries/haskell/sqlite-simple/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "sqlite-simple"; - version = "0.4.5.2"; - sha256 = "04080ak589n0abisb6bzsmycrh3l8sh0ipcl1gcsvvfd4x83c9yi"; + version = "0.4.7.0"; + sha256 = "128b8n66j729g9mwndv5m3plww6av7hin7dmwsbs19v8klcaf4f5"; buildDepends = [ attoparsec blazeBuilder blazeTextual directSqlite text time transformers diff --git a/pkgs/development/libraries/haskell/statistics/0.10.5.2.nix b/pkgs/development/libraries/haskell/statistics/0.10.5.2.nix deleted file mode 100644 index 518d22ee1d4..00000000000 --- a/pkgs/development/libraries/haskell/statistics/0.10.5.2.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ cabal, binary, deepseq, erf, HUnit, ieee754, mathFunctions -, monadPar, mwcRandom, primitive, QuickCheck, testFramework -, testFrameworkHunit, testFrameworkQuickcheck2, vector -, vectorAlgorithms, vectorBinaryInstances -}: - -cabal.mkDerivation (self: { - pname = "statistics"; - version = "0.10.5.2"; - sha256 = "13wbxz83ci78k41c6swyiwi82rikm9i9vwjwj3d3w327xs59bvvy"; - buildDepends = [ - binary deepseq erf mathFunctions monadPar mwcRandom primitive - vector vectorAlgorithms vectorBinaryInstances - ]; - testDepends = [ - 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/statistics/0.11.0.0.nix b/pkgs/development/libraries/haskell/statistics/default.nix similarity index 91% rename from pkgs/development/libraries/haskell/statistics/0.11.0.0.nix rename to pkgs/development/libraries/haskell/statistics/default.nix index 11d2ff6daa6..58a9c835696 100644 --- a/pkgs/development/libraries/haskell/statistics/0.11.0.0.nix +++ b/pkgs/development/libraries/haskell/statistics/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "statistics"; - version = "0.11.0.0"; - sha256 = "1pmkdy7v78ajl5b5rjshgabhcakb9ji5wlq79ajr1b5adif1d1d9"; + version = "0.11.0.1"; + sha256 = "17p4dj7wimnl5fcwxpmcmgcmwpypfkk3gzmgmx9qvxl8p38lwacc"; buildDepends = [ binary deepseq erf mathFunctions monadPar mwcRandom primitive vector vectorAlgorithms vectorBinaryInstances diff --git a/pkgs/development/libraries/haskell/stm-stats/default.nix b/pkgs/development/libraries/haskell/stm-stats/default.nix new file mode 100644 index 00000000000..e7f40a26320 --- /dev/null +++ b/pkgs/development/libraries/haskell/stm-stats/default.nix @@ -0,0 +1,13 @@ +{ cabal, stm, time }: + +cabal.mkDerivation (self: { + pname = "stm-stats"; + version = "0.2.0.0"; + sha256 = "0i8ky2l8lvh7nymxglvbifp0ylbyjw20p75avzb51zpzx6qkjkqa"; + buildDepends = [ stm time ]; + meta = { + description = "retry statistics for STM transactions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/streaming-commons/default.nix b/pkgs/development/libraries/haskell/streaming-commons/default.nix index 4bcb46887bc..1a17cd5f14f 100644 --- a/pkgs/development/libraries/haskell/streaming-commons/default.nix +++ b/pkgs/development/libraries/haskell/streaming-commons/default.nix @@ -1,13 +1,17 @@ -{ cabal, async, deepseq, hspec, network, QuickCheck, text -, transformers, zlib +{ cabal, async, blazeBuilder, deepseq, hspec, network, QuickCheck +, random, 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 ]; + version = "0.1.3"; + sha256 = "0zv309lqmv5bgbmxx5k0zk4iyxwj77lwqcaaycizi7559nzvsrh3"; + buildDepends = [ + blazeBuilder network random text transformers zlib + ]; + testDepends = [ + async blazeBuilder 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"; diff --git a/pkgs/development/libraries/haskell/stringable/default.nix b/pkgs/development/libraries/haskell/stringable/default.nix index 663b198b2ee..8e955f10f19 100644 --- a/pkgs/development/libraries/haskell/stringable/default.nix +++ b/pkgs/development/libraries/haskell/stringable/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "stringable"; - version = "0.1.2"; - sha256 = "17lhry3x90s88lplbv2kvzyak8wrc9r80czng5s3dirmyp9rn5gs"; + version = "0.1.3"; + sha256 = "10jsvbiqbmnbipv1566k5mqkpgfyrzbk8m7b18rqjb5m3qg9dbz7"; buildDepends = [ systemFilepath text ]; meta = { description = "A Stringable type class, in the spirit of Foldable and Traversable"; diff --git a/pkgs/development/libraries/haskell/stripe/default.nix b/pkgs/development/libraries/haskell/stripe/default.nix index 304cc3df8f7..36a7f9d2d66 100644 --- a/pkgs/development/libraries/haskell/stripe/default.nix +++ b/pkgs/development/libraries/haskell/stripe/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "stripe"; - version = "0.8.0"; - sha256 = "0bz932v7kcz2xsnmpx34ifqnf6kbgy7a7qd0dqnjqypc8g6kfl37"; + version = "0.8.1"; + sha256 = "0vmgj9n7q8ik31z7zzfjfv1qj8f8vrqn9cvk8kjp3k4shj25p7sy"; buildDepends = [ aeson httpConduit httpTypes mtl text time unorderedContainers utf8String diff --git a/pkgs/development/libraries/haskell/stylish-haskell/default.nix b/pkgs/development/libraries/haskell/stylish-haskell/default.nix index 83dd3d9d3bc..31501e26a80 100644 --- a/pkgs/development/libraries/haskell/stylish-haskell/default.nix +++ b/pkgs/development/libraries/haskell/stylish-haskell/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "stylish-haskell"; - version = "0.5.9.1"; - sha256 = "0wh0n63nywwzlp9glgm10jyidlcyl944ylnfg5phiahr39946x6y"; + version = "0.5.10.0"; + sha256 = "12sba4bbc1qzicvavlbf4wqj7xs2pk0z3ha70xsvldszhyav9zj9"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/svgcairo/default.nix b/pkgs/development/libraries/haskell/svgcairo/default.nix index 3663b8b2ed6..248987d0c3b 100644 --- a/pkgs/development/libraries/haskell/svgcairo/default.nix +++ b/pkgs/development/libraries/haskell/svgcairo/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "svgcairo"; - version = "0.12.5.0"; - sha256 = "1b5n96l8addif8a6yv21w95g83dpamr043yqm2wb7vaca8m82r28"; + version = "0.12.5.2"; + sha256 = "0l3903fzd5pk9wmxjdmx6vyym2r90b33hs6p2sfdks2lx352i94l"; buildDepends = [ cairo glib mtl ]; buildTools = [ gtk2hsBuildtools ]; extraLibraries = [ libc ]; diff --git a/pkgs/development/libraries/haskell/syb/0.4.1.nix b/pkgs/development/libraries/haskell/syb/0.4.1.nix index 63fb364511f..38c4f2cae3f 100644 --- a/pkgs/development/libraries/haskell/syb/0.4.1.nix +++ b/pkgs/development/libraries/haskell/syb/0.4.1.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.4.1"; sha256 = "1lkh4rrqdzvb8kyry07x2z88v478hrw5cp8wmhjgpg0ck8ywncma"; testDepends = [ HUnit mtl ]; + doCheck = self.stdenv.lib.versionOlder self.ghc.version "7.9"; meta = { homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB"; description = "Scrap Your Boilerplate"; diff --git a/pkgs/development/libraries/haskell/syb/syb-with-class.nix b/pkgs/development/libraries/haskell/syb/syb-with-class.nix index c6a85e27df1..9d613601704 100644 --- a/pkgs/development/libraries/haskell/syb/syb-with-class.nix +++ b/pkgs/development/libraries/haskell/syb/syb-with-class.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "syb-with-class"; - version = "0.6.1.4"; - sha256 = "0fi6m1a4017422kdmj1vvvzbks79jkcldp20h2nb7jsf8zvimfkc"; + version = "0.6.1.5"; + sha256 = "1gn4p92jabgvbk7bg1nzjimyfzznl800bi9hw4ssvc7jqqnyw5zn"; meta = { description = "Scrap Your Boilerplate With Class"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/syntactic/default.nix b/pkgs/development/libraries/haskell/syntactic/default.nix index e18cf7b5937..39fbeebd33c 100644 --- a/pkgs/development/libraries/haskell/syntactic/default.nix +++ b/pkgs/development/libraries/haskell/syntactic/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "syntactic"; - version = "1.11"; - sha256 = "1j4k4qwi17x9z0cjf9adndaj5wbs8prs36xpz2icf7mlwcr9pvrz"; + version = "1.12.1"; + sha256 = "0p68jgfwzr9mvgrcjdj3235109nhpaichm5irj9m29076axrsb94"; buildDepends = [ constraints dataHash mtl transformers treeView tuple ]; diff --git a/pkgs/development/libraries/haskell/system-fileio/default.nix b/pkgs/development/libraries/haskell/system-fileio/default.nix index d2c40213886..f9cf911678a 100644 --- a/pkgs/development/libraries/haskell/system-fileio/default.nix +++ b/pkgs/development/libraries/haskell/system-fileio/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "system-fileio"; - version = "0.3.12"; - sha256 = "0mfkny5fwksrwkvz59f5xnb7b47rmm4cbiygmri5wklnc3vdn0hs"; + version = "0.3.13"; + sha256 = "12xsxcg2jk63x8aiikj5gx1an794zdfxzkx1sjnr2qyqyirk311v"; buildDepends = [ systemFilepath text time ]; meta = { homepage = "https://john-millikin.com/software/haskell-filesystem/"; diff --git a/pkgs/development/libraries/haskell/system-time-monotonic/default.nix b/pkgs/development/libraries/haskell/system-time-monotonic/default.nix new file mode 100644 index 00000000000..230dc5fd6d1 --- /dev/null +++ b/pkgs/development/libraries/haskell/system-time-monotonic/default.nix @@ -0,0 +1,14 @@ +{ cabal, time }: + +cabal.mkDerivation (self: { + pname = "system-time-monotonic"; + version = "0.2"; + sha256 = "0f5grhh6x2fbawmdk0gq1nsjz47iz8f8r2592d1l69fqddwdhc3v"; + buildDepends = [ time ]; + meta = { + homepage = "https://github.com/joeyadams/haskell-system-time-monotonic"; + description = "Simple library for using the system's monotonic clock"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/tagged/default.nix b/pkgs/development/libraries/haskell/tagged/default.nix index d62033e8d16..48a963dc869 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.1"; - sha256 = "036k5k44971fq6zdxc36kkic9ma93mcas7zk48i32s60iznnfc6v"; + version = "0.7.2"; + sha256 = "06w7gss2vqnly2zijf0hkq60jx13nsxwsjsnyfbn25r4f6gjsnq5"; 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/tar/default.nix b/pkgs/development/libraries/haskell/tar/default.nix index 04257960a64..41ea62d8126 100644 --- a/pkgs/development/libraries/haskell/tar/default.nix +++ b/pkgs/development/libraries/haskell/tar/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.4.0.1"; sha256 = "0vbsv7h3zgp30mlgsw156jkv1rqy5zbm98as9haf7x15hd6jf254"; buildDepends = [ filepath time ]; + noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11"; meta = { description = "Reading, writing and manipulating \".tar\" archive files."; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix index 695d7edca62..9ad4b2de747 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.6"; - sha256 = "06ll7mj60iiskla2x53yncs0931b7dw4l0shxkhz88558gjzy7cj"; + version = "1.0.0.7"; + sha256 = "0jjh2lyr33l5mps123azszwnk0h61ar99zlqbc4h04a8vkd9x813"; 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 f2fe7cfb0ad..159a5fd9eb8 100644 --- a/pkgs/development/libraries/haskell/tasty-golden/default.nix +++ b/pkgs/development/libraries/haskell/tasty-golden/default.nix @@ -1,13 +1,13 @@ { cabal, deepseq, filepath, mtl, optparseApplicative, tagged, tasty -, temporary +, temporaryRc }: cabal.mkDerivation (self: { pname = "tasty-golden"; - version = "2.2.1"; - sha256 = "1q3x3vmck1yq7bf96f3ah5nadahfxjd4wr3dfh3ls549yz40x668"; + version = "2.2.1.1"; + sha256 = "0a265l7fwc0sxzdy9b0jf8f5w4nws6pwhhaw1pa7qx3c8fm9v54i"; buildDepends = [ - deepseq filepath mtl optparseApplicative tagged tasty temporary + deepseq filepath mtl optparseApplicative tagged tasty temporaryRc ]; meta = { homepage = "https://github.com/feuerbach/tasty-golden"; diff --git a/pkgs/development/libraries/haskell/tasty-hspec/default.nix b/pkgs/development/libraries/haskell/tasty-hspec/default.nix index 34b13c69bf6..19678805900 100644 --- a/pkgs/development/libraries/haskell/tasty-hspec/default.nix +++ b/pkgs/development/libraries/haskell/tasty-hspec/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tasty-hspec"; - version = "0.1"; - sha256 = "1pf4ffaqy0f25a2sjirg5g4gdcfslapwq4mm0pkdsysmh9bv1f64"; + version = "0.1.0.1"; + sha256 = "0m8v9kj557vfqzmrindwfcjl7wqmdix2xvmsb94n8hx9qv075s3v"; buildDepends = [ hspec tasty ]; meta = { homepage = "http://github.com/mitchellwrosen/tasty-hspec"; diff --git a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix index ee848359509..d4eb45eaa08 100644 --- a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix +++ b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tasty-quickcheck"; - version = "0.8.0.3"; - sha256 = "0dng415dsdg86rliwmz5hpn2111cn0x494c0vmdmzv5qgvx5naf6"; + version = "0.8.1"; + sha256 = "1diqc5dmddrfc6i0zqkmlnnhsv8paqy2fdmbx8484qa4ylk5r6bs"; buildDepends = [ QuickCheck tagged tasty ]; meta = { description = "QuickCheck support for the Tasty test framework"; diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix index 13e4e37e4b0..bb8e20e98e4 100644 --- a/pkgs/development/libraries/haskell/tasty/default.nix +++ b/pkgs/development/libraries/haskell/tasty/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "tasty"; - version = "0.8.0.4"; - sha256 = "016niwympxbxpg3yq7samgh92l20wxm2h6cwhqal4zdj8n9262j0"; + version = "0.8.1.1"; + sha256 = "04vzq5gwyd5zb6lsf8nbr5dypgf07b4aq70i1jghkg12v8h529dr"; buildDepends = [ ansiTerminal async deepseq mtl optparseApplicative regexTdfa stm tagged unboundedDelays diff --git a/pkgs/development/libraries/haskell/temporary-rc/default.nix b/pkgs/development/libraries/haskell/temporary-rc/default.nix new file mode 100644 index 00000000000..2f8cc9fad84 --- /dev/null +++ b/pkgs/development/libraries/haskell/temporary-rc/default.nix @@ -0,0 +1,14 @@ +{ cabal, exceptions, filepath, transformers }: + +cabal.mkDerivation (self: { + pname = "temporary-rc"; + version = "1.2.0.3"; + sha256 = "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"; + buildDepends = [ exceptions filepath transformers ]; + meta = { + homepage = "http://www.github.com/feuerbach/temporary"; + description = "Portable temporary file and directory support for Windows and Unix, based on code from Cabal"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/temporary/default.nix b/pkgs/development/libraries/haskell/temporary/default.nix index 585eaf58682..4db5446bce0 100644 --- a/pkgs/development/libraries/haskell/temporary/default.nix +++ b/pkgs/development/libraries/haskell/temporary/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "temporary"; - version = "1.2.0.2"; - sha256 = "1ynvhmc6b385sn8qw3sni3cwmz7pmppns546416xil9mhbiya87z"; + version = "1.2.0.3"; + sha256 = "0is67bmsjmbbw6wymhis8wyq9gax3sszm573p5719fx2c9z9r24a"; buildDepends = [ exceptions filepath transformers ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/terminal-progress-bar/default.nix b/pkgs/development/libraries/haskell/terminal-progress-bar/default.nix index d5e16e43d3a..3691615d016 100644 --- a/pkgs/development/libraries/haskell/terminal-progress-bar/default.nix +++ b/pkgs/development/libraries/haskell/terminal-progress-bar/default.nix @@ -1,12 +1,12 @@ -{ cabal, baseUnicodeSymbols, HUnit, testFramework +{ cabal, baseUnicodeSymbols, HUnit, stm, stmChans, testFramework , testFrameworkHunit }: cabal.mkDerivation (self: { pname = "terminal-progress-bar"; - version = "0.0.1.3"; - sha256 = "04glnz72ivnaqfhyxb5sc175yxiq7lf7xi1jhbk9gi95md00f1js"; - buildDepends = [ baseUnicodeSymbols ]; + version = "0.0.1.4"; + sha256 = "0ldvii23ks446xrd27aklh8s8pn1yi3dzhhzl05gipjqbhq3lsx3"; + buildDepends = [ baseUnicodeSymbols stm stmChans ]; testDepends = [ baseUnicodeSymbols HUnit testFramework testFrameworkHunit ]; diff --git a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix index 627c9f6347a..a832664b28a 100644 --- a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix +++ b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "test-framework-quickcheck2"; - version = "0.3.0.2"; - sha256 = "0zgsbmxidyv735jbgajczn25pnhwq66haaadhh6lxj2jsq5fnqpy"; + version = "0.3.0.3"; + sha256 = "12p1zwrsz35r3j5gzbvixz9z1h5643rhihf5gqznmc991krwd5nc"; buildDepends = [ extensibleExceptions QuickCheck random testFramework ]; diff --git a/pkgs/development/libraries/haskell/testing-feat/default.nix b/pkgs/development/libraries/haskell/testing-feat/default.nix index 5e6a8177d1a..c0e46360880 100644 --- a/pkgs/development/libraries/haskell/testing-feat/default.nix +++ b/pkgs/development/libraries/haskell/testing-feat/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "testing-feat"; - version = "0.4.0.1"; - sha256 = "1fqp5k8kwnn7qqggyy5scsxmkvd1pibc5sfs7v1myrp0azkc25cp"; + version = "0.4.0.2"; + sha256 = "15gi6w7p4alnih9grklhhr8338y1aal07admbz4n2f724hnhyb2j"; buildDepends = [ mtl QuickCheck tagshare ]; meta = { description = "Functional Enumeration of Algebraic Types"; diff --git a/pkgs/development/libraries/haskell/text-icu/default.nix b/pkgs/development/libraries/haskell/text-icu/default.nix index 6dc42beee40..222475b24bb 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/1.1.0.1.nix b/pkgs/development/libraries/haskell/text/1.1.1.2.nix similarity index 87% rename from pkgs/development/libraries/haskell/text/1.1.0.1.nix rename to pkgs/development/libraries/haskell/text/1.1.1.2.nix index eecb54f3c68..6054e3c6471 100644 --- a/pkgs/development/libraries/haskell/text/1.1.0.1.nix +++ b/pkgs/development/libraries/haskell/text/1.1.1.2.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "text"; - version = "1.1.0.1"; - sha256 = "1f0zicvflfd17mr2h9s9idhi0215m2y208jbnh4fx1yj6snnvalw"; + version = "1.1.1.2"; + sha256 = "11kj0pf0v24a0xg61caaqz5d8w3s8i4nbgl416xgdvrbfd39ssj8"; buildDepends = [ deepseq ]; testDepends = [ deepseq HUnit QuickCheck random testFramework testFrameworkHunit diff --git a/pkgs/development/libraries/haskell/th-desugar/default.nix b/pkgs/development/libraries/haskell/th-desugar/default.nix index 827828d6474..b8f47865424 100644 --- a/pkgs/development/libraries/haskell/th-desugar/default.nix +++ b/pkgs/development/libraries/haskell/th-desugar/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "th-desugar"; - version = "1.3.1"; - sha256 = "1wi0c5d1w6vjjk580zhypgqnnkndcsx4cmx5qy01w97h6kyj8913"; + version = "1.4.0"; + sha256 = "0jadwqhk9dqnicg3p958a6cyfvl70amjc1hl7bhlygpxpdfffwad"; buildDepends = [ mtl syb ]; testDepends = [ hspec HUnit mtl syb ]; meta = { diff --git a/pkgs/development/libraries/haskell/th-expand-syns/default.nix b/pkgs/development/libraries/haskell/th-expand-syns/default.nix new file mode 100644 index 00000000000..9874fc6e13a --- /dev/null +++ b/pkgs/development/libraries/haskell/th-expand-syns/default.nix @@ -0,0 +1,13 @@ +{ cabal, syb }: + +cabal.mkDerivation (self: { + pname = "th-expand-syns"; + version = "0.3.0.4"; + sha256 = "05qgfam7zq02848icvddds67ch5d8py7r30izg4lp0df0kzn08yq"; + buildDepends = [ syb ]; + meta = { + description = "Expands type synonyms in Template Haskell ASTs"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/th-lift-instances/default.nix b/pkgs/development/libraries/haskell/th-lift-instances/default.nix new file mode 100644 index 00000000000..32354eabd4a --- /dev/null +++ b/pkgs/development/libraries/haskell/th-lift-instances/default.nix @@ -0,0 +1,15 @@ +{ cabal, doctest, filepath, QuickCheck, text, thLift, vector }: + +cabal.mkDerivation (self: { + pname = "th-lift-instances"; + version = "0.1.3"; + sha256 = "0snqgcdkskwvrsw239j3xq84mwnf5x79kfsn495kprdc6yh3qdkx"; + buildDepends = [ text thLift vector ]; + testDepends = [ doctest filepath QuickCheck text vector ]; + meta = { + homepage = "http://github.com/bennofs/th-lift-instances/"; + description = "Lift instances for template-haskell for common data types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/these/default.nix b/pkgs/development/libraries/haskell/these/default.nix new file mode 100644 index 00000000000..f41f8a4f302 --- /dev/null +++ b/pkgs/development/libraries/haskell/these/default.nix @@ -0,0 +1,20 @@ +{ cabal, bifunctors, mtl, profunctors, semigroupoids, semigroups +, transformers, vector +}: + +cabal.mkDerivation (self: { + pname = "these"; + version = "0.4.2"; + sha256 = "0hs59i07k1lkynvdpymjvl1va2frc3aq6wyrmbi7mz3vmz0bjcp7"; + buildDepends = [ + bifunctors mtl profunctors semigroupoids semigroups transformers + vector + ]; + jailbreak = true; + meta = { + homepage = "https://github.com/isomorphism/these"; + description = "An either-or-both data type, with corresponding hybrid error/writer monad transformer"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/threepenny-gui/default.nix b/pkgs/development/libraries/haskell/threepenny-gui/default.nix index 1855f493812..ea655ab91c1 100644 --- a/pkgs/development/libraries/haskell/threepenny-gui/default.nix +++ b/pkgs/development/libraries/haskell/threepenny-gui/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "threepenny-gui"; - version = "0.4.1.0"; - sha256 = "0fafwnlbl96z9m5fr3wiyv090fga78cr9hrd4yd3vyiz44gfrpcw"; + version = "0.4.2.0"; + sha256 = "1746l90h9xkwnwxvfqsr93nax7ihv8lwc4kz203v13rrwckr7m8h"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix index e321f21b2ca..c127116ffca 100644 --- a/pkgs/development/libraries/haskell/thyme/default.nix +++ b/pkgs/development/libraries/haskell/thyme/default.nix @@ -1,15 +1,15 @@ { cabal, aeson, attoparsec, Cabal, deepseq, filepath, mtl , profunctors, QuickCheck, random, systemPosixRedirect, text, time -, vector, vectorSpace +, vector, vectorSpace, vectorThUnbox }: cabal.mkDerivation (self: { pname = "thyme"; - version = "0.3.3.0"; - sha256 = "0mpwwpc82xcdyawz87rcmvga1miw7cx538nnh379m2ibn0g71zaa"; + version = "0.3.5.1"; + sha256 = "0v3aq7zv4fnkjhfc7mm6vx2wb5dh2npf2lsgpvcrdpy5zlfsrx50"; buildDepends = [ aeson attoparsec deepseq mtl profunctors QuickCheck random text - time vector vectorSpace + time vector vectorSpace vectorThUnbox ]; testDepends = [ attoparsec Cabal filepath mtl profunctors QuickCheck random diff --git a/pkgs/development/libraries/haskell/timeparsers/default.nix b/pkgs/development/libraries/haskell/timeparsers/default.nix index 57c9c7e3da7..4920c0b3adb 100644 --- a/pkgs/development/libraries/haskell/timeparsers/default.nix +++ b/pkgs/development/libraries/haskell/timeparsers/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.3.2"; sha256 = "1dicp58f2amn5rgmnlfjpv4aj7ak6jrdlba2marglddvj4ycq1h7"; buildDepends = [ attoparsec convertible mtl time ]; + jailbreak = true; meta = { description = "Attoparsec parsers for various Date/Time formats"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/timerep/default.nix b/pkgs/development/libraries/haskell/timerep/default.nix new file mode 100644 index 00000000000..6ebc44cb894 --- /dev/null +++ b/pkgs/development/libraries/haskell/timerep/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "timerep"; + version = "1.0.3"; + sha256 = "14lz8nzfy1j7snvifbwjkk1fjc8wy4jk67xk9n87r25v3cva3x0p"; + meta = { + description = "Parse and display time according to some RFCs (RFC3339, RFC2822)"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/timezone-series/default.nix b/pkgs/development/libraries/haskell/timezone-series/default.nix index 1ce1ca1f768..cb7e40243ff 100644 --- a/pkgs/development/libraries/haskell/timezone-series/default.nix +++ b/pkgs/development/libraries/haskell/timezone-series/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "timezone-series"; - version = "0.1.2"; - sha256 = "0clvm1kwmxid5bhb74vgrpzynn4sff2k6mfzb43i7737w5fy86gp"; + version = "0.1.3"; + sha256 = "0b13a929wrgfl1agkyp3d5wy89aw69zm4l0src7p16rh3kr38w73"; buildDepends = [ time ]; meta = { homepage = "http://projects.haskell.org/time-ng/"; diff --git a/pkgs/development/libraries/haskell/tls/1.2.6.nix b/pkgs/development/libraries/haskell/tls/1.2.8.nix similarity index 52% rename from pkgs/development/libraries/haskell/tls/1.2.6.nix rename to pkgs/development/libraries/haskell/tls/1.2.8.nix index 15019265f91..8bba66b6c92 100644 --- a/pkgs/development/libraries/haskell/tls/1.2.6.nix +++ b/pkgs/development/libraries/haskell/tls/1.2.8.nix @@ -1,19 +1,19 @@ { cabal, asn1Encoding, asn1Types, byteable, cereal, cipherAes -, cipherRc4, cprngAes, cryptohash, cryptoNumbers, cryptoPubkey -, cryptoPubkeyTypes, cryptoRandom, dataDefaultClass, mtl, network -, QuickCheck, testFramework, testFrameworkQuickcheck2, time, x509 -, x509Store, x509Validation +, cipherDes, cipherRc4, cprngAes, cryptoCipherTypes, 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"; + version = "1.2.8"; + sha256 = "0fm36jn2yri3fn6wadl5v4k0cpnansqlid4fhavgnp6mazf0q5ha"; buildDepends = [ - asn1Encoding asn1Types byteable cereal cipherAes cipherRc4 - cryptohash cryptoNumbers cryptoPubkey cryptoPubkeyTypes - cryptoRandom dataDefaultClass mtl network x509 x509Store - x509Validation + asn1Encoding asn1Types byteable cereal cipherAes cipherDes + cipherRc4 cryptoCipherTypes cryptohash cryptoNumbers cryptoPubkey + cryptoPubkeyTypes cryptoRandom dataDefaultClass mtl network x509 + x509Store x509Validation ]; testDepends = [ cereal cprngAes cryptoPubkey cryptoRandom dataDefaultClass mtl diff --git a/pkgs/development/libraries/haskell/transformers-base/default.nix b/pkgs/development/libraries/haskell/transformers-base/default.nix index e323905f81b..ea48a566dc0 100644 --- a/pkgs/development/libraries/haskell/transformers-base/default.nix +++ b/pkgs/development/libraries/haskell/transformers-base/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "transformers-base"; - version = "0.4.1"; - sha256 = "1d3w7k7smvdnnn4q6xpdhsj9zvj6372ihyhz4lrhdvgh72pfiaag"; + version = "0.4.2"; + sha256 = "030w5p209bam77z6grq6279qwvwip1ax7phrc5wanxrshiw8699m"; buildDepends = [ transformers ]; meta = { homepage = "https://github.com/mvv/transformers-base"; diff --git a/pkgs/development/libraries/haskell/transformers-compat/default.nix b/pkgs/development/libraries/haskell/transformers-compat/default.nix index 2abd6efa0ce..dfe9e2ef0d6 100644 --- a/pkgs/development/libraries/haskell/transformers-compat/default.nix +++ b/pkgs/development/libraries/haskell/transformers-compat/default.nix @@ -2,12 +2,12 @@ cabal.mkDerivation (self: { pname = "transformers-compat"; - version = "0.1.1.1"; - sha256 = "0i0bcfmqsnqa8fyp81virr5bh3hk23261xyx28jcfamrc18ly9ij"; + version = "0.3.3"; + sha256 = "14lmwqr6q79k1f7byvb0jcm4r7lprhxkl85z72pr6ghn7bsvqwps"; buildDepends = [ transformers ]; meta = { homepage = "http://github.com/ekmett/transformers-compat/"; - description = "A small compatibility shim exposing the new types from transformers 0.3 to older Haskell platforms."; + description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms."; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; diff --git a/pkgs/development/libraries/haskell/multiset/0.2.1.nix b/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix similarity index 54% rename from pkgs/development/libraries/haskell/multiset/0.2.1.nix rename to pkgs/development/libraries/haskell/transformers/0.4.1.0.nix index 9f85317505c..88ae33de784 100644 --- a/pkgs/development/libraries/haskell/multiset/0.2.1.nix +++ b/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix @@ -1,11 +1,11 @@ { cabal }: cabal.mkDerivation (self: { - pname = "multiset"; - version = "0.2.1"; - sha256 = "0snlm6s9ikf5gngdwb7rm7v6017f5bffajv6777y56pjmd7bk9sy"; + pname = "transformers"; + version = "0.4.1.0"; + sha256 = "0jlnz86f87jndv4sifg1zpv5b2g2cxy1x2575x727az6vyaarwwg"; meta = { - description = "The Data.MultiSet container type"; + description = "Concrete functor and monad transformers"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix index 05c37c02f41..0d40217c3d5 100644 --- a/pkgs/development/libraries/haskell/twitter-types/default.nix +++ b/pkgs/development/libraries/haskell/twitter-types/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "twitter-types"; - version = "0.2.20140407"; - sha256 = "171m7fqq82g630r1x5advq04qfkdljvc8d8ygyafr2x44ss2a996"; + version = "0.2.20140424"; + sha256 = "0ap2l3mclcilm58awz0fdayzcs7fckv69l6xdklp1yqyj6i7zk9a"; buildDepends = [ aeson httpTypes text unorderedContainers ]; testDepends = [ aeson attoparsec httpTypes HUnit shakespeare testFramework diff --git a/pkgs/development/libraries/haskell/tz/default.nix b/pkgs/development/libraries/haskell/tz/default.nix new file mode 100644 index 00000000000..95cd928a99e --- /dev/null +++ b/pkgs/development/libraries/haskell/tz/default.nix @@ -0,0 +1,22 @@ +{ cabal, binary, bindingsPosix, deepseq, HUnit, pkgs_tzdata +, QuickCheck, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, testFrameworkTh, time, tzdata, vector +}: + +cabal.mkDerivation (self: { + pname = "tz"; + version = "0.0.0.5"; + sha256 = "03s5vs08dj3r7rq78ncya6x6dazvr93gfylyynwybpai09l2y89v"; + buildDepends = [ binary deepseq time tzdata vector ]; + testDepends = [ + bindingsPosix HUnit QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 testFrameworkTh time tzdata + ]; + preConfigure = "export TZDIR=${pkgs_tzdata}/share/zoneinfo"; + meta = { + homepage = "https://github.com/nilcons/haskell-tz"; + description = "Efficient time zone handling"; + license = self.stdenv.lib.licenses.asl20; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/tzdata/default.nix b/pkgs/development/libraries/haskell/tzdata/default.nix new file mode 100644 index 00000000000..10d4f87141d --- /dev/null +++ b/pkgs/development/libraries/haskell/tzdata/default.nix @@ -0,0 +1,20 @@ +{ cabal, filemanip, filepath, HUnit, MissingH, testFramework +, testFrameworkHunit, testFrameworkTh, vector +}: + +cabal.mkDerivation (self: { + pname = "tzdata"; + version = "0.1.20140324.0"; + sha256 = "19cw8wag2d5jx9dxia3gr8qjr3bh77a2kp7ksyqp58xxmvmsqdn4"; + buildDepends = [ vector ]; + testDepends = [ + filemanip filepath HUnit MissingH testFramework testFrameworkHunit + testFrameworkTh + ]; + meta = { + homepage = "https://github.com/nilcons/haskell-tzdata"; + description = "Time zone database (as files and as a module)"; + license = self.stdenv.lib.licenses.asl20; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/unbound/default.nix b/pkgs/development/libraries/haskell/unbound/default.nix index 4667ed956f0..761246b396c 100644 --- a/pkgs/development/libraries/haskell/unbound/default.nix +++ b/pkgs/development/libraries/haskell/unbound/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "unbound"; - version = "0.4.3"; - sha256 = "1lv60zpsvjfp9qnckwbphkfv0x9pz2qvaab3p4kj38fnlq2y20i4"; + version = "0.4.3.1"; + sha256 = "1xkp47y7yg8dl95gf4w3iwddc3yivrhcxj184cfhrx6a9rbsflpz"; buildDepends = [ binary mtl RepLib transformers ]; meta = { homepage = "http://code.google.com/p/replib/"; diff --git a/pkgs/development/libraries/haskell/units/default.nix b/pkgs/development/libraries/haskell/units/default.nix new file mode 100644 index 00000000000..a386257eaee --- /dev/null +++ b/pkgs/development/libraries/haskell/units/default.nix @@ -0,0 +1,14 @@ +{ cabal, singletons }: + +cabal.mkDerivation (self: { + pname = "units"; + version = "2.0"; + sha256 = "1iv0pirhyp7crbkb008k14z57jl8c91r1sl8kqmb778xawb1hx52"; + buildDepends = [ singletons ]; + meta = { + homepage = "http://www.cis.upenn.edu/~eir/packages/units"; + description = "A domain-specific type system for dimensional analysis"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/unix-memory/default.nix b/pkgs/development/libraries/haskell/unix-memory/default.nix new file mode 100644 index 00000000000..d4c65ff0475 --- /dev/null +++ b/pkgs/development/libraries/haskell/unix-memory/default.nix @@ -0,0 +1,19 @@ +{ cabal, HUnit, mtl, QuickCheck, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2 +}: + +cabal.mkDerivation (self: { + pname = "unix-memory"; + version = "0.1.1"; + sha256 = "02jmccs7mcg2lhpnb1ps7ycxzmn46b4drf994vv0pawwjrkrhnhk"; + testDepends = [ + HUnit mtl QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 + ]; + meta = { + homepage = "http://github.com/vincenthz/hs-unix-memory"; + description = "Unix memory syscalls"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/unlambda/default.nix b/pkgs/development/libraries/haskell/unlambda/default.nix index 474bb1a8b09..a9e0def2bc7 100644 --- a/pkgs/development/libraries/haskell/unlambda/default.nix +++ b/pkgs/development/libraries/haskell/unlambda/default.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { isLibrary = true; isExecutable = true; buildDepends = [ mtl ]; + hyperlinkSource = false; meta = { description = "Unlambda interpreter"; license = "GPL"; diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.3.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix similarity index 87% rename from pkgs/development/libraries/haskell/unordered-containers/0.2.3.3.nix rename to pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix index 03cdd824d29..80d4686fef3 100644 --- a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.3.nix +++ b/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "unordered-containers"; - version = "0.2.3.3"; - sha256 = "09sn19fk4smhf4zi3326wy2a62lh231k2nm8jd64j51arch42sdi"; + version = "0.2.4.0"; + sha256 = "1x6djgmawzq8i8spib729pdlpnxyi4gz4p08lyn6jhfqjq6fpsil"; buildDepends = [ deepseq hashable ]; testDepends = [ ChasingBottoms hashable HUnit QuickCheck testFramework diff --git a/pkgs/development/libraries/haskell/usb/default.nix b/pkgs/development/libraries/haskell/usb/default.nix index 41a71618546..a023a682a92 100644 --- a/pkgs/development/libraries/haskell/usb/default.nix +++ b/pkgs/development/libraries/haskell/usb/default.nix @@ -1,10 +1,11 @@ -{ cabal, baseUnicodeSymbols, bindingsLibusb, text, vector }: +{ cabal, bindingsLibusb, text, vector }: cabal.mkDerivation (self: { pname = "usb"; - version = "1.2"; - sha256 = "1k73avkmpbmg6iq2kmwhg2ifibni5c1yp202afdb6v7w5akvmc0b"; - buildDepends = [ baseUnicodeSymbols bindingsLibusb text vector ]; + version = "1.2.0.1"; + sha256 = "10bpkrsnin9f3g1p5a84nhxx5xlfjdxisc0q60iain30rn99g2mk"; + buildDepends = [ bindingsLibusb text vector ]; + jailbreak = true; meta = { homepage = "http://basvandijk.github.com/usb"; description = "Communicate with USB devices"; diff --git a/pkgs/development/libraries/haskell/uulib/default.nix b/pkgs/development/libraries/haskell/uulib/default.nix index 2521c44bec6..0f7ec86e246 100644 --- a/pkgs/development/libraries/haskell/uulib/default.nix +++ b/pkgs/development/libraries/haskell/uulib/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "uulib"; - version = "0.9.15"; - sha256 = "0433shh493c04qmi0sd9mfzpy198zi11gxdmcs6nz2gcnxm812zm"; + version = "0.9.16"; + sha256 = "06d9i712flxj62j7rdxvy9b0ximhdfvdakwpmr886l6fi3xpajl3"; meta = { homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome"; description = "Haskell Utrecht Tools Library"; diff --git a/pkgs/development/libraries/haskell/vacuum/default.nix b/pkgs/development/libraries/haskell/vacuum/default.nix index 8506e580502..fa37f089348 100644 --- a/pkgs/development/libraries/haskell/vacuum/default.nix +++ b/pkgs/development/libraries/haskell/vacuum/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "vacuum"; - version = "2.1.0.1"; - sha256 = "0gzh5v9mr0mgz9hxjnm8n3jcl2702wad7qaqaar1zc95lkabpf65"; + version = "2.2.0.0"; + sha256 = "157wjx2shzfh6dfl6h8x017cn9ji3ql1p0gpi79ginz4s81f2ny1"; extraLibraries = [ ghcPaths ]; meta = { homepage = "http://thoughtpolice.github.com/vacuum"; diff --git a/pkgs/development/libraries/haskell/vcs-revision/default.nix b/pkgs/development/libraries/haskell/vcs-revision/default.nix index a1cd2783931..64402ea8464 100644 --- a/pkgs/development/libraries/haskell/vcs-revision/default.nix +++ b/pkgs/development/libraries/haskell/vcs-revision/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "vcs-revision"; - version = "0.0.1"; - sha256 = "1zfv9b02ml8622kz755azhi4ajyxrqniiachd92znfrry4n8z1mn"; + version = "0.0.2"; + sha256 = "1lp1wf440n7kinmxz7la0gyfqfdlip6f0bn8pmwkxd1dqyrvg5cg"; meta = { description = "Facilities for accessing the version control revision of the current directory"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/vcsgui/default.nix b/pkgs/development/libraries/haskell/vcsgui/default.nix index b27f61323a2..b639527520b 100644 --- a/pkgs/development/libraries/haskell/vcsgui/default.nix +++ b/pkgs/development/libraries/haskell/vcsgui/default.nix @@ -1,12 +1,12 @@ -{ cabal, filepath, gtk3, MissingH, mtl, vcswrapper }: +{ cabal, filepath, gtk3, mtl, vcswrapper }: cabal.mkDerivation (self: { pname = "vcsgui"; - version = "0.0.2"; - sha256 = "0kj06l9s4l791ffwdnh7j0nvjvgili18g2jl2ik81n28bzfyq1dx"; + version = "0.0.4"; + sha256 = "12hfdhnv3xc2dyqk76lyx5ggiygyap4hm50sd6qmwfjj3f2w6b98"; isLibrary = true; isExecutable = true; - buildDepends = [ filepath gtk3 MissingH mtl vcswrapper ]; + buildDepends = [ filepath gtk3 mtl vcswrapper ]; meta = { homepage = "https://github.com/forste/haskellVCSGUI"; description = "GUI library for source code management systems"; diff --git a/pkgs/development/libraries/haskell/vcswrapper/default.nix b/pkgs/development/libraries/haskell/vcswrapper/default.nix index 33462522c29..d23620d9d68 100644 --- a/pkgs/development/libraries/haskell/vcswrapper/default.nix +++ b/pkgs/development/libraries/haskell/vcswrapper/default.nix @@ -1,12 +1,12 @@ -{ cabal, filepath, hxt, MissingH, mtl, parsec }: +{ cabal, filepath, hxt, mtl, parsec, split, text }: cabal.mkDerivation (self: { pname = "vcswrapper"; - version = "0.0.3"; - sha256 = "04gmiiv461qh8fypkkiynipn5jsjqvywkj17ldq5wag4qaspx97x"; + version = "0.0.4"; + sha256 = "130pmzxdsqv703k2g197vd5rl60fwkqqv2xck66ygb932wsq3fnk"; isLibrary = true; isExecutable = true; - buildDepends = [ filepath hxt MissingH mtl parsec ]; + buildDepends = [ filepath hxt mtl parsec split text ]; meta = { homepage = "https://github.com/forste/haskellVCSWrapper"; description = "Wrapper for source code management systems"; diff --git a/pkgs/development/libraries/haskell/vector-th-unbox/default.nix b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix index db328836616..b9da8408c55 100644 --- a/pkgs/development/libraries/haskell/vector-th-unbox/default.nix +++ b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "vector-th-unbox"; - version = "0.2.0.2"; - sha256 = "1c8xy0rcl8il9ssclqshwi8dd2xx6bl1rfhrfm9h7wklw64db9xp"; + version = "0.2.1.0"; + sha256 = "0r8yxj63hvkm923y8mk1b5kv1b15lqadxhlncc02glvmy8zf1prh"; buildDepends = [ vector ]; testDepends = [ dataDefault vector ]; meta = { diff --git a/pkgs/development/libraries/haskell/vector/0.10.9.1.nix b/pkgs/development/libraries/haskell/vector/0.10.9.2.nix similarity index 81% rename from pkgs/development/libraries/haskell/vector/0.10.9.1.nix rename to pkgs/development/libraries/haskell/vector/0.10.9.2.nix index 975d75526a6..57c924aff48 100644 --- a/pkgs/development/libraries/haskell/vector/0.10.9.1.nix +++ b/pkgs/development/libraries/haskell/vector/0.10.9.2.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "vector"; - version = "0.10.9.1"; - sha256 = "1rdx0r7bwx6217ip9mg9yfymvgv52szqv63y89p41b8sfklmcmi0"; + version = "0.10.9.2"; + sha256 = "046w4w5dr5136smfxzhzkhzcx6jgpnqrc2x5lzy4vrlxhb8za6c1"; buildDepends = [ deepseq primitive ]; meta = { homepage = "https://github.com/haskell/vector"; diff --git a/pkgs/development/libraries/haskell/vinyl/default.nix b/pkgs/development/libraries/haskell/vinyl/default.nix new file mode 100644 index 00000000000..239221dc048 --- /dev/null +++ b/pkgs/development/libraries/haskell/vinyl/default.nix @@ -0,0 +1,13 @@ +{ cabal, doctest, lens }: + +cabal.mkDerivation (self: { + pname = "vinyl"; + version = "0.3"; + sha256 = "0wa7pdk5ds1zq0yy6lbzhpjglpnz56hg36iwma09b6jk2x71sf5r"; + testDepends = [ doctest lens ]; + meta = { + description = "Extensible Records"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/vty-ui/default.nix b/pkgs/development/libraries/haskell/vty-ui/default.nix index ad3ab7823c0..913451de213 100644 --- a/pkgs/development/libraries/haskell/vty-ui/default.nix +++ b/pkgs/development/libraries/haskell/vty-ui/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "vty-ui"; - version = "1.6.1"; - sha256 = "013a4wlhrhsbkh9wd8dxppn9aa0l7cfrgn3na6cifry34d96ql9d"; + version = "1.7"; + sha256 = "1wd7ada3x7d5rhl4z3h29m9h42513vbz6dp49xhn4j806mi164nd"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix index ef91a872687..66d45f05912 100644 --- a/pkgs/development/libraries/haskell/wai-extra/default.nix +++ b/pkgs/development/libraries/haskell/wai-extra/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "wai-extra"; - version = "2.1.1.1"; - sha256 = "1mqpy1klr4b5dvgk89hqyd8c2vg7rl0vypy3m9hxr2r4bzifkqc1"; + version = "2.1.1.2"; + sha256 = "000ksma1jmi7rfg2ib94baj31mcwqj2xfhkyv7lai89di0m0v6s4"; buildDepends = [ ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit caseInsensitive conduit conduitExtra dataDefault fastLogger diff --git a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix index 9be53472582..9d59fd68ed6 100644 --- a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix +++ b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "wai-handler-launch"; - version = "2.0.1.2"; - sha256 = "1mcjxv4dkcc5rx1bj8zc5m2q2ifcdwhsl4x4fnrv1ir9kclzsm7q"; + version = "2.0.1.3"; + sha256 = "06im28x26jbzbdk9xz33kqvzblglk3b3b60qwal836hima69alsd"; buildDepends = [ blazeBuilder blazeBuilderConduit conduit conduitExtra httpTypes transformers wai warp zlibConduit diff --git a/pkgs/development/libraries/haskell/wai-test/default.nix b/pkgs/development/libraries/haskell/wai-test/default.nix index e55bf8805e3..b15aa1070ba 100644 --- a/pkgs/development/libraries/haskell/wai-test/default.nix +++ b/pkgs/development/libraries/haskell/wai-test/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "wai-test"; - version = "2.0.1.1"; - sha256 = "08mkn6v8kxlcn2qb5rz9m5mqzl9wy43mxs2jzl1gavkf9bhwc93s"; + version = "2.0.1.3"; + sha256 = "18j77l2n41941f95awj6fj0w712628v5lsc3bif00cqnaixjmz48"; buildDepends = [ blazeBuilder blazeBuilderConduit caseInsensitive conduit conduitExtra cookie deepseq httpTypes network text transformers wai diff --git a/pkgs/development/libraries/haskell/wai-websockets/default.nix b/pkgs/development/libraries/haskell/wai-websockets/default.nix index 5558f2e32ce..5d909c7d773 100644 --- a/pkgs/development/libraries/haskell/wai-websockets/default.nix +++ b/pkgs/development/libraries/haskell/wai-websockets/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "wai-websockets"; - version = "2.1.0.1"; - sha256 = "1ic1wgfp16j6lhypn1psmicafjavbhq5rvm32xqwkb65abhpg571"; + version = "2.1.0.2"; + sha256 = "16hff38x6fpmp4r1wkjd922s02v5na8zwy6mq5f5gsj7b70n2ww2"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix index 18c6e08c0b3..540df207241 100644 --- a/pkgs/development/libraries/haskell/wai/default.nix +++ b/pkgs/development/libraries/haskell/wai/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "wai"; - version = "2.1.0.2"; - sha256 = "02hj07s3vlhbd2hds5pyksghildadjqhr8mmiyabwb7ap8iybidg"; + version = "2.1.0.3"; + sha256 = "0qprvk63fvb4rddg9h385xbd5sr5bcgkpx6fqlw01pjzmmrig1m3"; buildDepends = [ blazeBuilder conduit conduitExtra httpTypes network text transformers vault diff --git a/pkgs/development/libraries/haskell/warp-tls/default.nix b/pkgs/development/libraries/haskell/warp-tls/default.nix index cca9da9eb3d..e9e7ae39380 100644 --- a/pkgs/development/libraries/haskell/warp-tls/default.nix +++ b/pkgs/development/libraries/haskell/warp-tls/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "warp-tls"; - version = "2.0.3.3"; - sha256 = "03fjghsa9zvrvg7ickph577zzr62n91gsb99v9k47s4nd2xri2rj"; + version = "2.0.5"; + sha256 = "11nc5drys75mjfqww87rs2clhxpx485q008y42f2ymj7s5856db4"; buildDepends = [ conduit conduitExtra cprngAes dataDefaultClass network networkConduit resourcet streamingCommons tls transformers wai warp diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix index 75ccd0e6f5d..be5dd392d16 100644 --- a/pkgs/development/libraries/haskell/warp/default.nix +++ b/pkgs/development/libraries/haskell/warp/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "warp"; - version = "2.1.4"; - sha256 = "090xbjqwj8wzxiaal2jdsk7dbqv07c1cw32w7v8xxi2dkvv6nwbb"; + version = "2.1.5.2"; + sha256 = "0rv5fxw1d5dh6jzvs3bg2vjjr702xw59fx7mflygpqh8zivfh4ds"; buildDepends = [ blazeBuilder blazeBuilderConduit caseInsensitive conduit conduitExtra hashable httpDate httpTypes liftedBase network diff --git a/pkgs/development/libraries/haskell/wcwidth/default.nix b/pkgs/development/libraries/haskell/wcwidth/default.nix new file mode 100644 index 00000000000..0307642f62b --- /dev/null +++ b/pkgs/development/libraries/haskell/wcwidth/default.nix @@ -0,0 +1,16 @@ +{ cabal, attoparsec, setlocale, utf8String }: + +cabal.mkDerivation (self: { + pname = "wcwidth"; + version = "0.0.2"; + sha256 = "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"; + isLibrary = true; + isExecutable = true; + buildDepends = [ attoparsec setlocale utf8String ]; + meta = { + homepage = "http://github.com/solidsnack/wcwidth/"; + description = "Native wcwidth"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix index cc5caddb6ec..9e22d0cab18 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.2.1"; - sha256 = "0ayh20a6xj3ab9ld3lmrazx94vbbf1xn65nxcpkq7cvm8ggim7a6"; + version = "0.8.2.3"; + sha256 = "0j4lm5hkipd4q6kizrjy1cjdw2b0588m4k6fh50ss5qnqw9rkjkd"; buildDepends = [ attoparsec base64Bytestring binary blazeBuilder caseInsensitive entropy ioStreams mtl network random SHA text diff --git a/pkgs/development/libraries/haskell/wreq/default.nix b/pkgs/development/libraries/haskell/wreq/default.nix new file mode 100644 index 00000000000..30fa943d085 --- /dev/null +++ b/pkgs/development/libraries/haskell/wreq/default.nix @@ -0,0 +1,28 @@ +{ cabal, aeson, attoparsec, doctest, exceptions, filepath +, httpClient, httpClientTls, httpTypes, HUnit, lens, mimeTypes +, temporary, testFramework, testFrameworkHunit, text, time +}: + +cabal.mkDerivation (self: { + pname = "wreq"; + version = "0.1.0.1"; + sha256 = "05w3b555arsab8a5w73nm9pk3p9r6jipi6cd3ngxv48gdn9wzhvz"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + aeson attoparsec exceptions httpClient httpClientTls httpTypes lens + mimeTypes text time + ]; + testDepends = [ + aeson doctest filepath httpClient httpTypes HUnit lens temporary + testFramework testFrameworkHunit text + ]; + doCheck = false; + meta = { + homepage = "http://www.serpentine.com/wreq"; + description = "An easy-to-use HTTP client library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix index ae01992db97..d404099bf53 100644 --- a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix +++ b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix @@ -8,6 +8,9 @@ cabal.mkDerivation (self: { sha256 = "1ma6vjf87b493vz3sj6hxzifqixk62n6b5gvixpfzfig1lysddgp"; buildDepends = [ filepath parsec stm time wxc wxdirect ]; extraLibraries = [ libX11 mesa wxGTK ]; + patchPhase = '' + sed -i -e 's|array >= .*,|array,|' 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 63bc82d6f67..b369fe407da 100644 --- a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix +++ b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { isLibrary = true; isExecutable = true; buildDepends = [ filepath parsec strict time ]; + jailbreak = true; meta = { homepage = "http://haskell.org/haskellwiki/WxHaskell"; description = "helper tool for building wxHaskell"; diff --git a/pkgs/development/libraries/haskell/x509-system/default.nix b/pkgs/development/libraries/haskell/x509-system/default.nix index 36d1f5bd706..c5467722294 100644 --- a/pkgs/development/libraries/haskell/x509-system/default.nix +++ b/pkgs/development/libraries/haskell/x509-system/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "x509-system"; - version = "1.4.2"; - sha256 = "1r22ignmwkv1z26bmnwh7prqy69cln26pfyyaf5r2vw8s66rgl39"; + version = "1.4.5"; + sha256 = "0pwn624n6fagg9rw2p09x2k212rc8167jhqz6z5wf6m7y56ql28x"; buildDepends = [ filepath mtl pem time x509 x509Store ]; meta = { homepage = "http://github.com/vincenthz/hs-certificate"; diff --git a/pkgs/development/libraries/haskell/xdot/default.nix b/pkgs/development/libraries/haskell/xdot/default.nix index 700a838f894..78a9d921ff6 100644 --- a/pkgs/development/libraries/haskell/xdot/default.nix +++ b/pkgs/development/libraries/haskell/xdot/default.nix @@ -2,9 +2,10 @@ cabal.mkDerivation (self: { pname = "xdot"; - version = "0.2.4.2"; - sha256 = "0a5wmwcl3akw1n9xgdhvlrbvphvy9s528daax28137ixaphvrl0f"; + version = "0.2.4.3"; + sha256 = "0p6y3ng8nwi8sksy0881bs331asi73x816zd5v7qlg4v719s8jxg"; buildDepends = [ cairo graphviz gtk mtl polyparse text ]; + jailbreak = true; meta = { description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix index d31f1d0e70d..4f3e7fcebb7 100644 --- a/pkgs/development/libraries/haskell/xml-conduit/default.nix +++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "xml-conduit"; - version = "1.2.0.1"; - sha256 = "0ry3h1csblssv2x8b63hvl2gqc0wyzyqbvp6iyisrk77wkz72jw9"; + version = "1.2.0.2"; + sha256 = "1kcrhyri4knkp1x9zn99qklkj4nd47gwdfy6q0pwdz7cgjskps1z"; buildDepends = [ attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit blazeHtml blazeMarkup conduit conduitExtra dataDefault deepseq diff --git a/pkgs/development/libraries/haskell/xml-hamlet/default.nix b/pkgs/development/libraries/haskell/xml-hamlet/default.nix index 346891cc68d..16e4abfa2cd 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.7"; - sha256 = "05rygs3ja3zc87az151mkbm4llrnshzrqf1mfpbwx4ysfgjkvq7b"; + version = "0.4.0.8"; + sha256 = "10hc4a6lqifiinm9rf1ziw35bjnjgkd5mhagg9anvz35hhr7bbrr"; 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 00000000000..7c4496f974f --- /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 6bc1a4b6f59..c466ddb1d55 100644 --- a/pkgs/development/libraries/haskell/xmlgen/default.nix +++ b/pkgs/development/libraries/haskell/xmlgen/default.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { sha256 = "1rmsg9wxs0bsj0xpagxrm3fmlqd63b0dfyc21rx9jj76g9za29wh"; buildDepends = [ blazeBuilder mtl text ]; testDepends = [ filepath HUnit hxt QuickCheck text ]; + doCheck = false; meta = { description = "Fast XML generation library"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix index 5b0d4ad3f47..502a11e8125 100644 --- a/pkgs/development/libraries/haskell/yaml/default.nix +++ b/pkgs/development/libraries/haskell/yaml/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "yaml"; - version = "0.8.8.1"; - sha256 = "1lkw05rx88jckzlkslb945zswn6g7i3vxsgxpj9pkcxvh3y9zagv"; + version = "0.8.8.3"; + sha256 = "031d1wx31mw9lw0swlcf1xfzdixaq6wmglhzaj9sixhid0r2isvf"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/yap/default.nix b/pkgs/development/libraries/haskell/yap/default.nix index ab162988c95..e21948de974 100644 --- a/pkgs/development/libraries/haskell/yap/default.nix +++ b/pkgs/development/libraries/haskell/yap/default.nix @@ -4,6 +4,7 @@ cabal.mkDerivation (self: { pname = "yap"; version = "0.2"; sha256 = "14lq549jhgnf51pgy1jv31ik8qx71yl7d53w8dpq1f9mlsn1g16i"; + jailbreak = true; meta = { description = "yet another prelude - a simplistic refactoring with algebraic classes"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix index 182e6bcf5b2..ecea7b9f99d 100644 --- a/pkgs/development/libraries/haskell/yesod-auth/default.nix +++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix @@ -1,23 +1,23 @@ -{ 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, aeson, authenticate, base16Bytestring, base64Bytestring +, binary, blazeHtml, blazeMarkup, byteable, cryptohash, dataDefault +, emailValidate, fileEmbed, hamlet, httpConduit, httpTypes +, liftedBase, mimeMail, network, persistent, persistentTemplate +, random, resourcet, safe, shakespeare, shakespeareCss +, shakespeareJs, text, time, transformers, unorderedContainers, wai +, yesodCore, yesodForm, yesodPersistent }: cabal.mkDerivation (self: { pname = "yesod-auth"; - version = "1.3.0.4"; - sha256 = "0r4xhr9xg6n3jxpj3mrcaf4mgzz8h4is772k84sgnir5my9lrsr7"; + version = "1.3.0.5"; + sha256 = "03vwmc2hql07mfl2s7a3sry82x0y0icr1977p1ljfhinyh35zc6l"; buildDepends = [ - 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 + aeson authenticate base16Bytestring base64Bytestring binary + blazeHtml blazeMarkup byteable cryptohash dataDefault emailValidate + fileEmbed hamlet httpConduit httpTypes liftedBase mimeMail network + persistent persistentTemplate 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 46b78fcbd8f..d722d5cd608 100644 --- a/pkgs/development/libraries/haskell/yesod-bin/default.nix +++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix @@ -5,13 +5,13 @@ , projectTemplate, resourcet, shakespeare, shakespeareCss , shakespeareJs, shakespeareText, split, streamingCommons , systemFileio, systemFilepath, tar, text, time, transformers -, unixCompat, unorderedContainers, wai, warp, yaml, zlib +, unixCompat, unorderedContainers, wai, waiExtra, warp, yaml, zlib }: cabal.mkDerivation (self: { pname = "yesod-bin"; - version = "1.2.8"; - sha256 = "0hic32k1ii1j2hrwxj7pc7vv26dmq8rv7h7as1fw0bwlysrnw8nm"; + version = "1.2.9.3"; + sha256 = "1gjcg798d7xpd8hgz8s1napgxm9dnbsks1g1s5hgx8ml5xkp2la7"; isLibrary = false; isExecutable = true; buildDepends = [ @@ -21,8 +21,20 @@ cabal.mkDerivation (self: { optparseApplicative parsec projectTemplate resourcet shakespeare shakespeareCss shakespeareJs shakespeareText split streamingCommons systemFileio systemFilepath tar text time transformers unixCompat - unorderedContainers wai warp yaml zlib + unorderedContainers wai waiExtra warp yaml zlib ]; + + postInstall = '' + mv $out/bin/yesod $out/bin/.yesod-wrapped + cat - > $out/bin/yesod <pb, &c, 1); +- size = json_min(tok->st_pos+1, json_null_str_len); + size_inf = json_min(tok->st_pos+1, json_inf_str_len); + char *infbuf = tok->pb->buf; + if (*infbuf == '-') diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix index 1380cec86ae..7a45ca0f227 100644 --- a/pkgs/development/libraries/json-glib/default.nix +++ b/pkgs/development/libraries/json-glib/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl_gnome, glib, pkgconfig, gobjectIntrospection, dbus }: +{ stdenv, fetchurlGnome, glib, pkgconfig, gobjectIntrospection, dbus }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "json-glib"; - major = "0"; - minor = "16"; - patchlevel = "2"; + major = "1"; + minor = "0"; + patchlevel = "0"; extension = "xz"; - sha256 = "0b22yw0n87mg7a5lkqw1d7xqnm8qj1bwy0wklv9b2yn29qv7am59"; + sha256 = "dbf558d2da989ab84a27e4e13daa51ceaa97eb959c2c2f80976c9322a8f4cdde"; }; configureflags= "--with-introspection" ; @@ -17,8 +17,10 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ glib gobjectIntrospection ]; nativeBuildInputs = [ pkgconfig ]; - meta = { + meta = with stdenv.lib; { homepage = http://live.gnome.org/JsonGlib; description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format"; + license = licenses.lgpl2; + maintainers = with maintainers; [ lethalman ]; }; } diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix index 14e22000537..97dda155dc1 100644 --- a/pkgs/development/libraries/lensfun/default.nix +++ b/pkgs/development/libraries/lensfun/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { name = "lensfun-0.2.7"; src = fetchurl { - url = "http://download.berlios.de/lensfun/${name}.tar.bz2"; + url = "mirror://sourceforge/lensfun/${name}.tar.bz2"; sha256 = "0xv4h219zn0ldhhjnjc1q2bgpbfqzpd4b31gf9yyrwbapm3hgprx"; }; @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.urkud ]; license = "LGPL3"; description = "An opensource database of photographic lenses and their characteristics"; + homepage = http://lensfun.sourceforge.net/; }; } diff --git a/pkgs/development/libraries/leveldb/default.nix b/pkgs/development/libraries/leveldb/default.nix index 7c990e99c33..64c03798fea 100644 --- a/pkgs/development/libraries/leveldb/default.nix +++ b/pkgs/development/libraries/leveldb/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "leveldb-1.9.0"; + name = "leveldb-1.15.0"; src = fetchurl { url = "https://leveldb.googlecode.com/files/${name}.tar.gz"; - sha256 = "b2699b04e5aba8e98382c4955b94725d1f76bd0b5decd60c5628205b717a1d4f"; + sha256 = "10363j8qmlyh971ipb7fmgk9b97bl5267c0xyccrgvpj3rbyri6p"; }; buildPhase = "make all db_bench"; diff --git a/pkgs/development/libraries/libarchive/CVE-2013-0211.patch b/pkgs/development/libraries/libarchive/CVE-2013-0211.patch new file mode 100644 index 00000000000..5b1a9831063 --- /dev/null +++ b/pkgs/development/libraries/libarchive/CVE-2013-0211.patch @@ -0,0 +1,30 @@ +From 22531545514043e04633e1c015c7540b9de9dbe4 Mon Sep 17 00:00:00 2001 +From: Tim Kientzle +Date: Fri, 22 Mar 2013 23:48:41 -0700 +Subject: [PATCH] Limit write requests to at most INT_MAX. This prevents a + certain common programming error (passing -1 to write) from leading to other + problems deeper in the library. + +--- + libarchive/archive_write.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libarchive/archive_write.c b/libarchive/archive_write.c +index eede5e0..be85621 100644 +--- a/libarchive/archive_write.c ++++ b/libarchive/archive_write.c +@@ -673,8 +673,13 @@ static ssize_t + _archive_write_data(struct archive *_a, const void *buff, size_t s) + { + struct archive_write *a = (struct archive_write *)_a; ++ const size_t max_write = INT_MAX; ++ + archive_check_magic(&a->archive, ARCHIVE_WRITE_MAGIC, + ARCHIVE_STATE_DATA, "archive_write_data"); ++ /* In particular, this catches attempts to pass negative values. */ ++ if (s > max_write) ++ s = max_write; + archive_clear_error(&a->archive); + return ((a->format_write_data)(a, buff, s)); + } + diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix index 5e728d9b3dd..f0c3c0632a9 100644 --- a/pkgs/development/libraries/libarchive/default.nix +++ b/pkgs/development/libraries/libarchive/default.nix @@ -12,11 +12,9 @@ stdenv.mkDerivation rec { sha256 = "0pixqnrcf35dnqgv0lp7qlcw7k13620qkhgxr288v7p4iz6ym1zb"; }; - patches = [(fetchurl { - url = "https://github.com/libarchive/libarchive/commit/22531545514043e04633e1c015c7540b9de9dbe4.diff"; - sha256 = "1466ddrkdh2r8idmj3v7fk2gwnhc1kdxvyczdpnqms0qlmas6fj5"; - name = "CVE-2013-0211.patch"; - })]; + patches = [ + ./CVE-2013-0211.patch # https://github.com/libarchive/libarchive/commit/22531545 + ]; buildInputs = [ sharutils libxml2 zlib bzip2 openssl xz ] ++ stdenv.lib.optionals stdenv.isLinux [ e2fsprogs attr acl ]; diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix index 04d51edf531..b21f530478a 100644 --- a/pkgs/development/libraries/libav/default.nix +++ b/pkgs/development/libraries/libav/default.nix @@ -26,8 +26,9 @@ with { inherit (stdenv.lib) optional optionals; }; let result = { - libav_9 = libavFun "9.12" "1wm0nf12c1p138y54jh71mvbpikrpk43zc9m2qhpjm9pgnagizk0"; - libav_0_8 = libavFun "0.8.11" "0nhm0mzz2aj78sgmw9xf20a1mlgig78cv1nyhx4zrq7nvgqf8d2r"; + libav_0_8 = libavFun "0.8.12" "0069zv9s0f4silzdyjac87g7a89jhh27sadd1zcr9xngxbvd93fr"; + libav_9 = libavFun "9.13" "1jp6vlza5srks1scgl000x9y1y0l88inrcby4yxv6n92rpv5vw1g"; + libav_10 = libavFun "10.1" "05cy1yq9rxarajs9gfdhkji8gmcpar125xi8lrx4cfplmp4lvq6m"; }; libavFun = version : sha256 : stdenv.mkDerivation rec { @@ -84,7 +85,7 @@ let cp -s "$out"/bin/* "$tools/bin/" ''; - doInstallCheck = true; + doInstallCheck = false; # fails randomly installCheckTarget = "check"; # tests need to be run *after* installation crossAttrs = { diff --git a/pkgs/development/libraries/libbluray/A01-filter-dup.patch b/pkgs/development/libraries/libbluray/A01-filter-dup.patch new file mode 100644 index 00000000000..608f8dd1b49 --- /dev/null +++ b/pkgs/development/libraries/libbluray/A01-filter-dup.patch @@ -0,0 +1,80 @@ +diff --git a/src/libbluray/bdnav/navigation.c b/src/libbluray/bdnav/navigation.c +index c8dc307..26d0000 100644 +--- a/src/libbluray/bdnav/navigation.c ++++ b/src/libbluray/bdnav/navigation.c +@@ -32,9 +32,25 @@ + #include + #include + ++static int _stream_cmp(MPLS_STREAM *a, MPLS_STREAM *b) ++{ ++ if (a->stream_type == b->stream_type && ++ a->coding_type == b->coding_type && ++ a->pid == b->pid && ++ a->subpath_id == b->subpath_id && ++ a->subclip_id == b->subclip_id && ++ a->format == b->format && ++ a->rate == b->rate && ++ a->char_code == b->char_code && ++ memcmp(a->lang, b->lang, 4) == 0) { ++ return 1; ++ } ++ return 0; ++} ++ + static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl) + { +- unsigned ii, jj; ++ unsigned ii, jj, kk; + + for (ii = 0; ii < count; ii++) { + if (pl->list_count != pl_list[ii]->list_count) { +@@ -54,7 +70,48 @@ static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl) + pi1->out_time != pi2->out_time) { + break; + } ++ if (pi1->stn.num_video != pi2->stn.num_video || ++ pi1->stn.num_audio != pi2->stn.num_audio || ++ pi1->stn.num_pg != pi2->stn.num_pg || ++ pi1->stn.num_ig != pi2->stn.num_ig || ++ pi1->stn.num_secondary_audio != pi2->stn.num_secondary_audio || ++ pi1->stn.num_secondary_video != pi2->stn.num_secondary_video) { ++ break; ++ } ++ for (kk = 0; kk < pi1->stn.num_video; kk++) { ++ if (!_stream_cmp(&pi1->stn.video[kk], &pi2->stn.video[kk])) { ++ goto next; ++ } ++ } ++ for (kk = 0; kk < pi1->stn.num_audio; kk++) { ++ if (!_stream_cmp(&pi1->stn.audio[kk], &pi2->stn.audio[kk])) { ++ goto next; ++ } ++ } ++ for (kk = 0; kk < pi1->stn.num_pg; kk++) { ++ if (!_stream_cmp(&pi1->stn.pg[kk], &pi2->stn.pg[kk])) { ++ goto next; ++ } ++ } ++ for (kk = 0; kk < pi1->stn.num_ig; kk++) { ++ if (!_stream_cmp(&pi1->stn.ig[kk], &pi2->stn.ig[kk])) { ++ goto next; ++ } ++ } ++ for (kk = 0; kk < pi1->stn.num_secondary_audio; kk++) { ++ if (!_stream_cmp(&pi1->stn.secondary_audio[kk], ++ &pi2->stn.secondary_audio[kk])) { ++ goto next; ++ } ++ } ++ for (kk = 0; kk < pi1->stn.num_secondary_video; kk++) { ++ if (!_stream_cmp(&pi1->stn.secondary_video[kk], ++ &pi2->stn.secondary_video[kk])) { ++ goto next; ++ } ++ } + } ++next: + if (jj != pl->list_count) { + continue; + } diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix index 6c139242f3e..f0eea80e89d 100644 --- a/pkgs/development/libraries/libbluray/default.nix +++ b/pkgs/development/libraries/libbluray/default.nix @@ -11,7 +11,7 @@ let baseName = "libbluray"; in stdenv.mkDerivation { - name = "${baseName}-${version}"; + name = "${baseName}-${version}p1"; src = fetchgit { url = git://git.videolan.org/libbluray.git; @@ -26,6 +26,9 @@ stdenv.mkDerivation { preConfigure = "./bootstrap"; configureFlags = ["--disable-static"] ++ stdenv.lib.optionals withAACS ["--enable-bdjava" "--with-jdk=${jdk}"]; + # From Handbrake + patches = [ ./A01-filter-dup.patch ]; + meta = { homepage = http://www.videolan.org/developers/libbluray.html; description = "Library to access Blu-Ray disks for video playback"; diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 0969b51a168..69d09fe9fae 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.52"; + name = "libdrm-2.4.54"; src = fetchurl { url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "1h8q0azb5bxqljpi1dlxmh5i30c4wdrncffcpppzrgk13wpkqsgs"; + sha256 = "1sg45y9yiz9yyp6dkyilqz8rhii9azgy53i2s4iia3p8zgmh2h6r"; }; nativeBuildInputs = [ pkgconfig ]; @@ -27,6 +27,6 @@ stdenv.mkDerivation rec { description = "Library for accessing the kernel's Direct Rendering Manager"; license = "bsd"; maintainers = [ stdenv.lib.maintainers.urkud ]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch b/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch new file mode 100644 index 00000000000..c0991b43555 --- /dev/null +++ b/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch @@ -0,0 +1,137 @@ +Index: src/dvdnav.c +=================================================================== +--- libdvdnav.orig/src/dvdnav.c (revision 1168) ++++ libdvdnav/src/dvdnav.c (working copy) +@@ -71,6 +71,67 @@ + return DVDNAV_STATUS_OK; + } + ++dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src) { ++ dvdnav_t *this; ++ ++ (*dest) = NULL; ++ this = (dvdnav_t*)malloc(sizeof(dvdnav_t)); ++ if(!this) ++ return DVDNAV_STATUS_ERR; ++ ++ memcpy(this, src, sizeof(dvdnav_t)); ++ this->file = NULL; ++ ++ pthread_mutex_init(&this->vm_lock, NULL); ++ ++ this->vm = vm_new_copy(src->vm); ++ if(!this->vm) { ++ printerr("Error initialising the DVD VM."); ++ pthread_mutex_destroy(&this->vm_lock); ++ free(this); ++ return DVDNAV_STATUS_ERR; ++ } ++ ++ /* Start the read-ahead cache. */ ++ this->cache = dvdnav_read_cache_new(this); ++ ++ (*dest) = this; ++ return DVDNAV_STATUS_OK; ++} ++ ++dvdnav_status_t dvdnav_free_dup(dvdnav_t *this) { ++ ++#ifdef LOG_DEBUG ++ fprintf(MSG_OUT, "libdvdnav: free_dup:called\n"); ++#endif ++ ++ if (this->file) { ++ pthread_mutex_lock(&this->vm_lock); ++ DVDCloseFile(this->file); ++#ifdef LOG_DEBUG ++ fprintf(MSG_OUT, "libdvdnav: close:file closing\n"); ++#endif ++ this->file = NULL; ++ pthread_mutex_unlock(&this->vm_lock); ++ } ++ ++ /* Free the VM */ ++ if(this->vm) ++ vm_free_copy(this->vm); ++ ++ pthread_mutex_destroy(&this->vm_lock); ++ ++ /* We leave the final freeing of the entire structure to the cache, ++ * because we don't know, if there are still buffers out in the wild, ++ * that must return first. */ ++ if(this->cache) ++ dvdnav_read_cache_free(this->cache); ++ else ++ free(this); ++ ++ return DVDNAV_STATUS_OK; ++} ++ + dvdnav_status_t dvdnav_open(dvdnav_t** dest, const char *path) { + dvdnav_t *this; + struct timeval time; +Index: src/dvdnav/dvdnav.h +=================================================================== +--- libdvdnav.orig/src/dvdnav/dvdnav.h (revision 1168) ++++ libdvdnav/src/dvdnav.h (working copy) +@@ -89,6 +89,9 @@ + */ + dvdnav_status_t dvdnav_open(dvdnav_t **dest, const char *path); + ++dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src); ++dvdnav_status_t dvdnav_free_dup(dvdnav_t *this); ++ + /* + * Closes a dvdnav_t previously opened with dvdnav_open(), freeing any + * memory associated with it. +Index: src/vm/vm.c +=================================================================== +--- libdvdnav.orig/src/vm/vm.c (revision 1168) ++++ libdvdnav/src/vm/vm.c (working copy) +@@ -96,6 +98,7 @@ + + static pgcit_t* get_MENU_PGCIT(vm_t *vm, ifo_handle_t *h, uint16_t lang); + static pgcit_t* get_PGCIT(vm_t *vm); ++static void vm_close(vm_t *vm); + + + /* Helper functions */ +@@ -262,7 +265,7 @@ + } + + void vm_free_vm(vm_t *vm) { +- vm_stop(vm); ++ vm_close(vm); + free(vm); + } + +@@ -289,12 +292,20 @@ + + int vm_start(vm_t *vm) { + /* Set pgc to FP (First Play) pgc */ ++ if (vm->stopped) { ++ vm_reset(vm, NULL); ++ vm->stopped = 0; ++ } + set_FP_PGC(vm); + process_command(vm, play_PGC(vm)); + return !vm->stopped; + } + + void vm_stop(vm_t *vm) { ++ vm->stopped = 1; ++} ++ ++static void vm_close(vm_t *vm) { + if(vm->vmgi) { + ifoClose(vm->vmgi); + vm->vmgi=NULL; +@@ -346,7 +357,7 @@ + + if (vm->dvd && dvdroot) { + /* a new dvd device has been requested */ +- vm_stop(vm); ++ vm_close(vm); + } + if (!vm->dvd) { + vm->dvd = DVDOpen(dvdroot); diff --git a/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch b/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch new file mode 100644 index 00000000000..0e061861735 --- /dev/null +++ b/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch @@ -0,0 +1,21 @@ +diff -Naur libdvdnav.orig/Makefile.am libdvdnav/Makefile.am +--- libdvdnav.orig/Makefile.am 2008-10-03 16:11:46.000000000 -0400 ++++ libdvdnav/Makefile.am 2009-04-24 02:53:15.000000000 -0400 +@@ -1,7 +1,7 @@ + include $(top_srcdir)/misc/Makefile.common + + +-SUBDIRS = src examples doc misc m4 ++SUBDIRS = src doc misc m4 + + EXTRA_DIST = autogen.sh \ + AUTHORS \ +diff -Naur libdvdnav.orig/configure.ac libdvdnav/configure.ac +--- libdvdnav.orig/configure.ac 2009-01-08 17:57:11.000000000 -0500 ++++ libdvdnav/configure.ac 2009-04-24 02:52:34.000000000 -0400 +@@ -252,5 +252,4 @@ + misc/relchk.sh + m4/Makefile + doc/Makefile +-examples/Makefile + ]) diff --git a/pkgs/development/libraries/libdvdnav/default.nix b/pkgs/development/libraries/libdvdnav/default.nix index 4ba938911a4..9b4e912772b 100644 --- a/pkgs/development/libraries/libdvdnav/default.nix +++ b/pkgs/development/libraries/libdvdnav/default.nix @@ -1,13 +1,14 @@ -{stdenv, fetchurl, libdvdread}: +{stdenv, fetchurl, pkgconfig, libdvdread}: stdenv.mkDerivation { - name = "libdvdnav-4.1.3"; + name = "libdvdnav-4.2.1"; src = fetchurl { - url = http://www2.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdnav-4.1.3.tar.bz2; - sha1 = "d1b95eb8a7caee1fa7580a1abad84d6cb3cad046"; + url = http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz; + sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372"; }; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [libdvdread]; configureScript = "./configure2"; # wtf? @@ -16,9 +17,14 @@ stdenv.mkDerivation { mkdir -p $out ''; + # From Handbrake + patches = [ ./A08-dvdnav-dup.patch ./P00-mingw-no-examples.patch ]; + meta = { - homepage = http://www.mplayerhq.hu/; + homepage = http://dvdnav.mplayerhq.hu/; description = "A library that implements DVD navigation features such as DVD menus"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.wmertens ]; }; passthru = { inherit libdvdread; }; diff --git a/pkgs/development/libraries/libdvdread/default.nix b/pkgs/development/libraries/libdvdread/default.nix index 2593274d89b..eb5a48a99f1 100644 --- a/pkgs/development/libraries/libdvdread/default.nix +++ b/pkgs/development/libraries/libdvdread/default.nix @@ -1,29 +1,25 @@ {stdenv, fetchurl, libdvdcss}: stdenv.mkDerivation { - name = "libdvdread-4.2.1"; + name = "libdvdread-4.9.9"; src = fetchurl { - url = http://dvdnav.mplayerhq.hu/releases/libdvdread-4.2.1.tar.xz; - sha256 = "af9b98f049580a6521d56c978b736d3d609562dd12955e11d50e26d97542dcd4"; + url = http://dvdnav.mplayerhq.hu/releases/libdvdread-4.9.9.tar.xz; + sha256 = "d91275471ef69d488b05cf15c60e1cd65e17648bfc692b405787419f47ca424a"; }; buildInputs = [libdvdcss]; NIX_LDFLAGS = "-ldvdcss"; - configureScript = "./configure2"; # wtf? - - preConfigure = '' - mkdir -p $out - ''; - postInstall = '' ln -s dvdread $out/include/libdvdread ''; meta = { - homepage = http://www.mplayerhq.hu/; + homepage = http://dvdnav.mplayerhq.hu/; description = "A library for reading DVDs"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.wmertens ]; }; } diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix index a2a8403b498..bb854139b79 100644 --- a/pkgs/development/libraries/libevent/default.nix +++ b/pkgs/development/libraries/libevent/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl, python }: let version = "2.0.21"; in stdenv.mkDerivation { @@ -9,6 +9,11 @@ stdenv.mkDerivation { sha256 = "1xblymln9vihdmf1aqkp8chwvnhpdch3786bh30bj75slnl31992"; }; + patchPhase = '' + substituteInPlace event_rpcgen.py \ + --replace "/usr/bin/env python2" "${python}/bin/python" + ''; + meta = { description = "libevent, an event notification library"; diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix new file mode 100644 index 00000000000..273bdb3136e --- /dev/null +++ b/pkgs/development/libraries/libftdi/1.x.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, cmake, pkgconfig, libusb1, confuse +, cppSupport ? true, boost ? null +, pythonSupport ? true, python ? null, swig ? null +, docSupport ? true, doxygen ? null +}: + +assert cppSupport -> boost != null; +assert pythonSupport -> python != null && swig != null; +assert docSupport -> doxygen != null; + +stdenv.mkDerivation rec { + name = "libftdi1-1.1"; + + src = fetchurl { + url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2"; + sha256 = "088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0"; + }; + + buildInputs = with stdenv.lib; [ cmake pkgconfig confuse ] + ++ optionals cppSupport [ boost ] + ++ optionals pythonSupport [ python swig ] + ++ optionals docSupport [ doxygen ]; + + propagatedBuildInputs = [ libusb1 ]; + + postInstall = '' + mkdir -p "$out/etc/udev/rules.d/" + cp ../packages/99-libftdi.rules "$out/etc/udev/rules.d/" + cp -r doc/man "$out/share/" + '' + stdenv.lib.optionalString docSupport '' + mkdir -p "$out/share/libftdi/doc/" + cp -r doc/html "$out/share/libftdi/doc/" + ''; + + meta = with stdenv.lib; { + description = "A library to talk to FTDI chips using libusb"; + homepage = http://www.intra2net.com/en/developer/libftdi/; + license = with licenses; [ lgpl2 gpl2 ]; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/libraries/libgcrypt/1.6.nix b/pkgs/development/libraries/libgcrypt/1.6.nix index ea981f7ed12..9dc8b8a2317 100644 --- a/pkgs/development/libraries/libgcrypt/1.6.nix +++ b/pkgs/development/libraries/libgcrypt/1.6.nix @@ -24,6 +24,12 @@ stdenv.mkDerivation rec { make check ''; + crossAttrs = let + isCross64 = stdenv.cross.config == "x86_64-w64-mingw32"; + in stdenv.lib.optionalAttrs isCross64 { + configureFlags = [ "--disable-asm" "--disable-padlock-support" ]; + }; + meta = { description = "GNU Libgcrypt, a general-pupose cryptographic library"; diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix new file mode 100644 index 00000000000..f055b4f5a95 --- /dev/null +++ b/pkgs/development/libraries/libgnurl/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "7.35.0"; + + name = "libgnurl-${version}"; + + src = fetchurl { + url = "https://gnunet.org/sites/default/files/gnurl-${version}.tar.bz2"; + sha256 = "0dzj22f5z6ppjj1aq1bml64iwbzzcd8w1qy3bgpk6gnzqslsxknf"; + }; + + preConfigure = '' + sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure + ''; + + meta = with stdenv.lib; { + description = "A fork of libcurl used by GNUnet"; + homepage = https://gnunet.org/gnurl; + maintainers = with maintainers; [ falsifian ]; + hydraPlatforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix index da142a957ad..8ce9a10701e 100644 --- a/pkgs/development/libraries/libgpg-error/default.nix +++ b/pkgs/development/libraries/libgpg-error/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bash }: +{ stdenv, fetchurl, bash, gettext }: stdenv.mkDerivation (rec { name = "libgpg-error-1.12"; @@ -8,6 +8,10 @@ stdenv.mkDerivation (rec { sha256 = "0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"; }; + # If architecture-dependant MO files aren't available, they're generated + # during build, so we need gettext for cross-builds. + crossAttrs.buildInputs = [ gettext ]; + doCheck = true; meta = { diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix index afab21bc4f0..ca8073fbe30 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 = "18nd2zkgazphgkfdhf8ps7knda8vdnhrq9c02989279x2qxjsci9"; + sha256 = "1h0bwrbc69yq561pw4fjyclwvk0g6rrj3pw6zrdx33isipi15d2z"; }; 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.3.1"; + version = "2.5.4"; # 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/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix index 63d698dda18..d7a1bcb4638 100644 --- a/pkgs/development/libraries/libjpeg/default.nix +++ b/pkgs/development/libraries/libjpeg/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, static ? false }: + +with stdenv.lib; stdenv.mkDerivation { name = "libjpeg-8d"; @@ -7,6 +9,8 @@ stdenv.mkDerivation { url = http://www.ijg.org/files/jpegsrc.v8d.tar.gz; sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"; }; + + configureFlags = optional static "--enable-static --disable-shared"; meta = { homepage = http://www.ijg.org/; diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix index d9dfaa004de..be1f3f2b4b9 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.34"; + name = "libmicrohttpd-0.9.35"; src = fetchurl { url = "mirror://gnu/libmicrohttpd/${name}.tar.gz"; - sha256 = "122snbhhn10s8az46f0lrkirhj0k38lq7hmqav3n1prdzpabz8i9"; + sha256 = "1z0h6llx7pra78358ryi3bdh8p0ns0bn97n6bl0fj6cib9cz2pdw"; }; buildInputs = [ curl libgcrypt ]; @@ -18,7 +18,8 @@ stdenv.mkDerivation rec { done ''; - doCheck = true; + # Disabled because the tests can time-out. + doCheck = false; meta = { description = "GNU libmicrohttpd, an embeddable HTTP server library"; diff --git a/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch b/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch new file mode 100644 index 00000000000..9f863cac412 --- /dev/null +++ b/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch @@ -0,0 +1,12 @@ +diff --git a/include/libmkv.h b/include/libmkv.h +index 146a91f..f03d608 100644 +--- a/include/libmkv.h ++++ b/include/libmkv.h +@@ -94,6 +94,7 @@ extern "C" { + #define MK_SUBTITLE_USF "S_TEXT/USF" + #define MK_SUBTITLE_VOBSUB "S_VOBSUB" + #define MK_SUBTITLE_BMP "S_IMAGE/BMP" ++#define MK_SUBTITLE_PGS "S_HDMV/PGS" + + /* Official Tags */ + #define MK_TAG_TITLE "TITLE" diff --git a/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch b/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch new file mode 100644 index 00000000000..ea31957c1d2 --- /dev/null +++ b/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch @@ -0,0 +1,28 @@ +diff --git a/include/libmkv.h b/include/libmkv.h +index 146a91f..f03d608 100644 +--- a/include/libmkv.h ++++ b/include/libmkv.h +@@ -203,6 +204,7 @@ struct mk_TrackConfig_s { + } video; + struct { + float samplingFreq; /* Sampling Frequency in Hz */ ++ float outputSamplingFreq; /* Playback Sampling Frequency in Hz (e.g. for AAC w/SBR) */ + unsigned channels; /* Number of channels for this track */ + unsigned bitDepth; /* Bits per sample (PCM) */ + } audio; +diff --git a/src/tracks.c b/src/tracks.c +index f9c7e48..a2a60ca 100644 +--- a/src/tracks.c ++++ b/src/tracks.c +@@ -174,6 +174,11 @@ mk_Track *mk_createTrack(mk_Writer *w, mk_TrackConfig *tc) + /* SamplingFrequency */ + if (mk_writeFloat(v, MATROSKA_ID_AUDIOSAMPLINGFREQ, tc->extra.audio.samplingFreq) < 0) + return NULL; ++ if (tc->extra.audio.outputSamplingFreq) { ++ /* Output SamplingFrequency */ ++ if (mk_writeFloat(v, MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, tc->extra.audio.outputSamplingFreq) < 0) ++ return NULL; ++ } + /* Channels */ + if (mk_writeUInt(v, MATROSKA_ID_AUDIOCHANNELS, tc->extra.audio.channels) < 0) + return NULL; diff --git a/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch b/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch new file mode 100644 index 00000000000..6a83eacca83 --- /dev/null +++ b/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch @@ -0,0 +1,24 @@ +--- libmkv.orig/src/matroska.c 2009-01-12 23:14:26.000000000 -0800 ++++ libmkv/src/matroska.c 2009-03-25 15:22:30.000000000 -0700 +@@ -27,6 +27,11 @@ + + #include + ++#if defined( __MINGW32__ ) ++#undef fseeko ++#define fseeko fseeko64 ++#endif ++ + #define RESERVED_SEEKHEAD 0x100 + /* 256 bytes should be enough room for our Seek entries. */ + #define RESERVED_CHAPTERS 0x800 +@@ -34,7 +39,7 @@ + + int mk_seekFile(mk_Writer *w, uint64_t pos) + { +- if (fseek(w->fp, pos, SEEK_SET)) ++ if (fseeko(w->fp, pos, SEEK_SET)) + return -1; + + w->f_pos = pos; + diff --git a/pkgs/development/libraries/libmkv/default.nix b/pkgs/development/libraries/libmkv/default.nix new file mode 100644 index 00000000000..c4b98d956bb --- /dev/null +++ b/pkgs/development/libraries/libmkv/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchgit, libtool, autoconf, automake }: + +stdenv.mkDerivation rec { + name = "libmkv-0.6.5.1p2"; + + src = fetchgit { + url = https://github.com/saintdev/libmkv.git; + rev = "refs/tags/0.6.5.1"; + sha256 = "1b0441x5rl5dbwrc0hq9jih111iil7ckqws3hcdj63jx2ma3s4hi"; + }; + + nativeBuildInputs = [ libtool autoconf automake ]; + + # TODO fix library version + preConfigure = "sh bootstrap.sh"; + + # From Handbrake + patches = [ + ./A01-hbmv-pgs.patch + ./A02-audio-out-sampling-freq.patch + ./P00-mingw-large-file.patch + ]; + + meta = { + homepage = https://github.com/saintdev/libmkv; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.wmertens ]; + }; +} diff --git a/pkgs/development/libraries/libmms/default.nix b/pkgs/development/libraries/libmms/default.nix index 0f6d220861c..441b4ea7f9a 100644 --- a/pkgs/development/libraries/libmms/default.nix +++ b/pkgs/development/libraries/libmms/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, glib, pkgconfig }: stdenv.mkDerivation rec { - name = "libmms-0.6.2"; + name = "libmms-0.6.4"; src = fetchurl { url = "mirror://sourceforge/libmms/${name}.tar.gz"; - sha256 = "0cm4gq5jm8wj04biai6cyvlvdwv286vb3ycyzi870z9d2xi1p4q1"; + sha256 = "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w"; }; buildInputs = [ glib ]; diff --git a/pkgs/development/libraries/libmodplug/default.nix b/pkgs/development/libraries/libmodplug/default.nix index a45bc9fdf8d..c1fb0033aa9 100644 --- a/pkgs/development/libraries/libmodplug/default.nix +++ b/pkgs/development/libraries/libmodplug/default.nix @@ -1,47 +1,20 @@ -x@{builderDefsPackage - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{ stdenv, fetchurl }: - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="libmodplug"; - version="0.8.8.4"; - name="${baseName}-${version}"; - url="mirror://sourceforge/project/modplug-xmms/${baseName}/${version}/${name}.tar.gz"; - hash="1xv44bd84c4qi41i1wwjr6qzazx15l85yvi74sz49ldyvlyy2pjw"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; +let + version = "0.8.8.5"; +in stdenv.mkDerivation rec { + name = "libmodplug-${version}"; + + meta = with stdenv.lib; { + description = "MOD playing library"; + homepage = "http://modplug-xmms.sourceforge.net/"; + license = licenses.publicDomain; + platforms = platforms.linux; + maintainers = with maintainers; [ raskin ]; }; - inherit (sourceInfo) name version; - inherit buildInputs; - - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - - meta = { - description = "Music library"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.publicDomain; + src = fetchurl { + url = "mirror://sourceforge/project/modplug-xmms/libmodplug/${version}/${name}.tar.gz"; + sha256 = "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp"; }; - passthru = { - updateInfo = { - downloadPage = "http://sourceforge.net/projects/modplug-xmms/files/libmodplug/"; - }; - }; -}) x - +} diff --git a/pkgs/development/libraries/libmpeg2/A00-tags.patch b/pkgs/development/libraries/libmpeg2/A00-tags.patch new file mode 100644 index 00000000000..0b5d7d7da12 --- /dev/null +++ b/pkgs/development/libraries/libmpeg2/A00-tags.patch @@ -0,0 +1,27 @@ +diff -ru mpeg2dec.orig/libmpeg2/decode.c mpeg2dec/libmpeg2/decode.c +--- mpeg2dec.orig/libmpeg2/decode.c 2008-07-09 12:16:05.000000000 -0700 ++++ mpeg2dec/libmpeg2/decode.c 2009-07-03 16:29:48.000000000 -0700 +@@ -212,7 +212,7 @@ + + mpeg2_state_t mpeg2_parse_header (mpeg2dec_t * mpeg2dec) + { +- static int (* process_header[]) (mpeg2dec_t * mpeg2dec) = { ++ static int (* process_header[]) (mpeg2dec_t *) = { + mpeg2_header_picture, mpeg2_header_extension, mpeg2_header_user_data, + mpeg2_header_sequence, NULL, NULL, NULL, NULL, mpeg2_header_gop + }; +@@ -368,6 +368,14 @@ + + void mpeg2_tag_picture (mpeg2dec_t * mpeg2dec, uint32_t tag, uint32_t tag2) + { ++ if (mpeg2dec->num_tags == 0 && mpeg2dec->state == STATE_PICTURE && mpeg2dec->picture) { ++ // since tags got processed when we entered this state we ++ // have to set them directly or they'll end up on the next frame. ++ mpeg2dec->picture->tag = tag; ++ mpeg2dec->picture->tag2 = tag2; ++ mpeg2dec->picture->flags |= PIC_FLAG_TAGS; ++ return; ++ } + mpeg2dec->tag_previous = mpeg2dec->tag_current; + mpeg2dec->tag2_previous = mpeg2dec->tag2_current; + mpeg2dec->tag_current = tag; diff --git a/pkgs/development/libraries/libmpeg2/default.nix b/pkgs/development/libraries/libmpeg2/default.nix index 1d04eea89f6..e651a932efe 100644 --- a/pkgs/development/libraries/libmpeg2/default.nix +++ b/pkgs/development/libraries/libmpeg2/default.nix @@ -1,13 +1,18 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libmpeg2-0.5.1"; + name = "libmpeg2-0.5.1p4"; src = fetchurl { url = "http://libmpeg2.sourceforge.net/files/${name}.tar.gz"; sha256 = "1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny"; }; + # From Handbrake - Project seems unmaintained + patches = [ + ./A00-tags.patch + ]; + meta = { homepage = http://libmpeg2.sourceforge.net/; description = "A free library for decoding mpeg-2 and mpeg-1 video streams"; diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix new file mode 100644 index 00000000000..ab2a2d2afdd --- /dev/null +++ b/pkgs/development/libraries/libmx/default.nix @@ -0,0 +1,60 @@ +{ stdenv, fetchurl +, libtool, pkgconfig, automake, autoconf, intltool +, glib, gobjectIntrospection, gtk2, gtk_doc +, clutter, clutter_gtk +}: + +stdenv.mkDerivation rec { + name = "libmx-${version}"; + version = "1.4.7"; + + src = fetchurl { + url = "https://github.com/clutter-project/mx/archive/${version}.tar.gz"; + sha256 = "8a7514ea33c1dec7251d0141e24a702e7701dc9f00348cbcf1816925b7f74dbc"; + }; + + # remove the following superfluous checks + preConfigure = '' + substituteInPlace "autogen.sh" \ + --replace '`which intltoolize`' '"x"' \ + --replace '`which gtkdocize`' '"x"' \ + --replace '`which autoreconf`' '"x"' + ''; + + configureFlags = [ "--enable-introspection" + "--without-startup-notification" + "--without-dbus" + "--without-glade" + "--without-clutter-imcontext" + "--without-clutter-gesture" + ]; + + configureScript = "sh autogen.sh"; + + buildInputs = [ + pkgconfig automake autoconf libtool + intltool + gobjectIntrospection glib + gtk2 gtk_doc clutter clutter_gtk + ]; + + # patch to resolve GL errors + # source : https://github.com/clutter-project/mx/pull/62 + preBuild = '' + sed -i 's/GLushort/gushort/g' mx/mx-deform-texture.c + sed -i 's/GLfloat/gfloat/g' mx/mx-texture-frame.c + ''; + + meta = with stdenv.lib; { + homepage = http://www.clutter-project.org/; + description = "A Clutter-based toolkit"; + longDescription = + ''Mx is a widget toolkit using Clutter that provides a set of standard + interface elements, including buttons, progress bars, scroll bars and + others. It also implements some standard managers. One other interesting + feature is the possibility setting style properties from a CSS format + file.''; + license = licenses.lgpl21; + maintainers = with maintainers; [ cstrahan ]; + }; +} diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix index 00308bf9471..2b82fe2a4bc 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/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix index b1bf65d0fe6..78b264506f0 100644 --- a/pkgs/development/libraries/libopus/default.nix +++ b/pkgs/development/libraries/libopus/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fixedPoint ? false }: +{ stdenv, fetchurl, fixedPoint ? false, withCustomModes ? false }: let version = "1.1"; @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { sha256 = "158xprn2086arvdib3vbbygz7z6jqkw2nci7nlywzzwallap0wmr"; }; - configureFlags = stdenv.lib.optionalString fixedPoint "--enable-fixed-point"; + configureFlags = stdenv.lib.optional fixedPoint "--enable-fixed-point" + ++ stdenv.lib.optional withCustomModes "--enable-custom-modes"; doCheck = true; diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix index 094483da660..ff04c7181df 100644 --- a/pkgs/development/libraries/libpng/12.nix +++ b/pkgs/development/libraries/libpng/12.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, zlib, xz }: -assert zlib != null; +assert !(stdenv ? cross) -> zlib != null; stdenv.mkDerivation rec { name = "libpng-1.2.51"; @@ -16,6 +16,13 @@ stdenv.mkDerivation rec { passthru = { inherit zlib; }; + crossAttrs = stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") { + propagatedBuildInputs = []; + passthru = {}; + }; + + configureFlags = "--enable-static"; + meta = { description = "The official reference implementation for the PNG file format"; homepage = http://www.libpng.org/pub/png/libpng.html; diff --git a/pkgs/development/libraries/librevisa/default.nix b/pkgs/development/libraries/librevisa/default.nix new file mode 100644 index 00000000000..756a53d5ee5 --- /dev/null +++ b/pkgs/development/libraries/librevisa/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, libusb1 }: + +# TODO: add VXI development files, for VXI-11 (TCPIP) support + +stdenv.mkDerivation rec { + name = "librevisa-0.0.20130412"; + + src = fetchurl { + url = "http://www.librevisa.org/download/${name}.tar.gz"; + sha256 = "0bjzq23s3xzw0l9qx4l8achrx5id8xdd6r52lvdl4a28dxzbcfhq"; + }; + + buildInputs = [ pkgconfig libusb1 ]; + + meta = with stdenv.lib; { + description = "Implementation of the VISA standard (for instrument control)"; + longDescription = '' + LibreVISA aims to be a compliant implementation of the VISA standard in a + free software library. + + We currently support targets connected via USB, exposing the USBTMC + interface, and VXI-11 devices. + ''; + homepage = http://www.librevisa.org/; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix index 863a42b741b..32cb7b860c4 100644 --- a/pkgs/development/libraries/libsearpc/default.nix +++ b/pkgs/development/libraries/libsearpc/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { - version = "1.2.1"; - seafileVersion = "2.1.1"; + version = "1.2.2"; + seafileVersion = "3.0.4"; name = "libsearpc-${version}"; src = fetchurl { url = "https://github.com/haiwen/libsearpc/archive/v${seafileVersion}.tar.gz"; - sha256 = "c0e7cc812c642ebb1339c3701570e78ff5b8c8aa2a521e5a505e28d9666e89ec"; + sha256 = "0s5bqqajxfzyw4km6nhhx39nyq20gv0fxlf2v6ifipvnyk14850k"; }; patches = [ ./libsearpc.pc.patch ]; @@ -29,4 +29,4 @@ stdenv.mkDerivation rec platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.calrama ]; }; -} \ No newline at end of file +} diff --git a/pkgs/development/libraries/libserialport/default.nix b/pkgs/development/libraries/libserialport/default.nix new file mode 100644 index 00000000000..c40812beeac --- /dev/null +++ b/pkgs/development/libraries/libserialport/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, udev }: + +stdenv.mkDerivation rec { + name = "libserialport-0.1.0"; + + src = fetchurl { + url = "http://sigrok.org/download/source/libserialport/${name}.tar.gz"; + sha256 = "1bqrldwrcsv6jbq3pmqczq27gdkrzpaxwplanqs25f6q9gb5p47c"; + }; + + buildInputs = [ pkgconfig udev ]; + + meta = with stdenv.lib; { + description = "Cross-platform shared library for serial port access"; + homepage = http://sigrok.org/; + license = licenses.gpl3Plus; + # Mac OS X, Windows and Android is also supported (according to upstream). + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/libraries/libunibreak/default.nix b/pkgs/development/libraries/libunibreak/default.nix index bf4d07c51cf..50bc0539589 100644 --- a/pkgs/development/libraries/libunibreak/default.nix +++ b/pkgs/development/libraries/libunibreak/default.nix @@ -14,6 +14,6 @@ stdenv.mkDerivation rec { description = "A library implementing a line breaking algorithm as described in Unicode 6.0.0 Standard"; license = licenses.zlib; platforms = platforms.unix; - maintainer = [ maintainers.coroa ]; + maintainers = [ maintainers.coroa ]; }; } diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix index 44daabe6a73..e7f627f62f7 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/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 587fbfe48d3..c69d787b086 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -4,14 +4,14 @@ , dnsmasq, libnl }: -let version = "1.2.2"; in +let version = "1.2.4"; in stdenv.mkDerivation rec { name = "libvirt-${version}"; src = fetchurl { url = "http://libvirt.org/sources/${name}.tar.gz"; - sha256 = "1hxvgh2fp2fk3wva7fnbz2pk6g5217wrmf9xwikiphn50zipg0x4"; + sha256 = "0xg8m7x4a3dqrg2b9pqcikaghdp6jyl07gkp2z8grsmsnbvcafp4"; }; buildInputs = [ diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix index aa869b4b19d..45fc442a713 100644 --- a/pkgs/development/libraries/libvpx/default.nix +++ b/pkgs/development/libraries/libvpx/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, bash, yasm, which, perl}: +{stdenv, fetchurl, bash, yasm, which, perl, binutils}: let version = "1.3.0"; in @@ -16,7 +16,8 @@ stdenv.mkDerivation rec { sed -e '/enable linux/d' -i configure ''; - buildInputs = [ yasm which perl ]; + buildInputs = [ yasm which perl ] + ++ stdenv.lib.optional stdenv.isDarwin binutils; # new asm opcode support preConfigure = '' mkdir -p build diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix index 854af5942f9..6800541d923 100644 --- a/pkgs/development/libraries/libwebp/default.nix +++ b/pkgs/development/libraries/libwebp/default.nix @@ -1,14 +1,20 @@ -{stdenv, fetchurl, libpng, libjpeg}: +{ stdenv, fetchurl, libpng, libjpeg, giflib, libtiff }: stdenv.mkDerivation rec { - name = "libwebp-0.1.3"; - + name = "libwebp-0.4.0"; + src = fetchurl { url = "http://webp.googlecode.com/files/${name}.tar.gz"; - sha256 = "1fkssvg99s9ypswh4ywkirgcy1wmy3b6388f3cqj4a4vwdb89ca0"; + sha256 = "0sadjkx8m6sf064r5gngjvz4b5246q3j27dlaml5b1k3x5vkb49i"; }; - buildInputs = [ libpng libjpeg ]; + buildInputs = [ libpng libjpeg giflib libtiff ]; + + configureFlags = [ + "--enable-libwebpmux" + "--enable-libwebpdemux" + "--enable-libwebpdecoder" + ]; meta = { homepage = http://code.google.com/p/webp/; diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix index 3b1fd9faa6b..d8a2ea6ee37 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/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index b7de29109dc..f77dc4a3711 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -23,7 +23,7 @@ else */ let - version = "10.0.4"; + version = "10.1.4"; # this is the default search path for DRI drivers driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32"; in @@ -34,7 +34,7 @@ stdenv.mkDerivation { src = fetchurl { url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2"; - sha256 = "0h2sq8h0l7415vsqfkb7mn1rxm62m2anpi9swlca69fbpr9bavpz"; + sha256 = "0g2j2zz7yq3i8k8dkji8h7iqfbcm8afb5lrb4dxrcyjl1bh6gibg"; }; prePatch = "patchShebangs ."; @@ -88,7 +88,8 @@ stdenv.mkDerivation { ; buildInputs = with xorg; [ autoreconfHook intltool expat libxml2Python llvm - libXfixes glproto dri2proto libX11 libXext libxcb libXt + glproto dri2proto dri3proto presentproto + libX11 libXext libxcb libXt libXfixes libxshmfence libffi wayland libvdpau libelf ] ++ optionals enableExtraFeatures [ /*libXvMC*/ ] ++ optional stdenv.isLinux udev @@ -151,11 +152,6 @@ stdenv.mkDerivation { substituteInPlace "$out/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}" '' + /* move vdpau drivers to $drivers/lib, so they are found */ '' mv "$drivers"/lib/vdpau/* "$drivers"/lib/ && rmdir "$drivers"/lib/vdpau - '' + /* add libGL* links from /run/opengl-driver */ '' - ( - cd "$drivers/lib" - cp -s "$out"/lib/*.so . - ) ''; #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM diff --git a/pkgs/development/libraries/minizip/default.nix b/pkgs/development/libraries/minizip/default.nix new file mode 100644 index 00000000000..b71920446e4 --- /dev/null +++ b/pkgs/development/libraries/minizip/default.nix @@ -0,0 +1,14 @@ +{ stdenv, zlib, autoconf, automake, libtool }: + +stdenv.mkDerivation { + name = "minizip-${zlib.version}"; + inherit (zlib) src; + + nativeBuildInputs = [ autoconf automake libtool ]; + buildInputs = [ zlib ]; + + preConfigure = '' + cd contrib/minizip + autoreconf -vfi + ''; +} diff --git a/pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch b/pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch new file mode 100644 index 00000000000..beb8be6d892 --- /dev/null +++ b/pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch @@ -0,0 +1,142 @@ +diff -Naur mp4v2-trunk-r355/include/mp4v2/general.h mp4v2-trunk-r355/include/mp4v2/general.h +--- mp4v2-trunk-r355/include/mp4v2/general.h 2009-05-23 06:09:58.000000000 -0700 ++++ mp4v2-trunk-r355/include/mp4v2/general.h 2010-05-23 14:22:21.949288657 -0700 +@@ -75,6 +75,7 @@ + #define MP4_CNTL_TRACK_TYPE "cntl" /**< Constant: control track. */ + #define MP4_TEXT_TRACK_TYPE "text" /**< Constant: text track. */ + #define MP4_SUBTITLE_TRACK_TYPE "sbtl" /**< Constant: subtitle track. */ ++#define MP4_SUBPIC_TRACK_TYPE "subp" /**< Constant: subtitle track. */ + /* + * This second set of track types should be created + * via MP4AddSystemsTrack(type) +diff -Naur mp4v2-trunk-r355/include/mp4v2/track.h mp4v2-trunk-r355/include/mp4v2/track.h +--- mp4v2-trunk-r355/include/mp4v2/track.h 2009-05-23 06:21:49.000000000 -0700 ++++ mp4v2-trunk-r355/include/mp4v2/track.h 2010-05-23 15:43:47.249286008 -0700 +@@ -310,6 +310,13 @@ + uint16_t height ); + + MP4V2_EXPORT ++MP4TrackId MP4AddSubpicTrack( ++ MP4FileHandle hFile, ++ uint32_t timescale, ++ uint16_t width, ++ uint16_t height ); ++ ++MP4V2_EXPORT + MP4TrackId MP4AddPixelAspectRatio( + MP4FileHandle hFile, + MP4TrackId refTrackId, +diff -Naur mp4v2-trunk-r355/src/descriptors.h mp4v2-trunk-r355/src/descriptors.h +--- mp4v2-trunk-r355/src/descriptors.h 2009-05-20 19:52:32.000000000 -0700 ++++ mp4v2-trunk-r355/src/descriptors.h 2010-05-23 16:29:34.800935677 -0700 +@@ -119,6 +119,7 @@ + // ES objectTypeId + const uint8_t MP4SystemsV1ObjectType = 0x01; + const uint8_t MP4SystemsV2ObjectType = 0x02; ++const uint8_t MP4SubpicObjectType = 0xe0; + + // ES streamType + const uint8_t MP4ObjectDescriptionStreamType = 0x01; +@@ -131,6 +132,7 @@ + const uint8_t MP4OCIStreamType = 0x08; + const uint8_t MP4MPEGJStreamType = 0x09; + const uint8_t MP4UserPrivateStreamType = 0x20; ++const uint8_t MP4NeroSubpicStreamType = 0x38; + + /////////////////////////////////////////////////////////////////////////////// + +diff -Naur mp4v2-trunk-r355/src/mp4.cpp mp4v2-trunk-r355/src/mp4.cpp +--- mp4v2-trunk-r355/src/mp4.cpp 2009-05-23 06:29:37.000000000 -0700 ++++ mp4v2-trunk-r355/src/mp4.cpp 2010-05-23 15:45:28.852222074 -0700 +@@ -1174,6 +1174,23 @@ + return MP4_INVALID_TRACK_ID; + } + ++ MP4TrackId MP4AddSubpicTrack(MP4FileHandle hFile, ++ uint32_t timescale, ++ uint16_t width, ++ uint16_t height) ++ { ++ if (MP4_IS_VALID_FILE_HANDLE(hFile)) { ++ try { ++ return ((MP4File*)hFile)->AddSubpicTrack(timescale, width, height); ++ } ++ catch (MP4Error* e) { ++ PRINT_ERROR(e); ++ delete e; ++ } ++ } ++ return MP4_INVALID_TRACK_ID; ++ } ++ + MP4TrackId MP4AddChapterTextTrack( + MP4FileHandle hFile, MP4TrackId refTrackId, uint32_t timescale) + { +diff -Naur mp4v2-trunk-r355/src/mp4file.cpp mp4v2-trunk-r355/src/mp4file.cpp +--- mp4v2-trunk-r355/src/mp4file.cpp 2009-05-26 19:34:56.000000000 -0700 ++++ mp4v2-trunk-r355/src/mp4file.cpp 2010-05-23 16:32:52.654220633 -0700 +@@ -2095,6 +2095,50 @@ + return trackId; + } + ++MP4TrackId MP4File::AddSubpicTrack(uint32_t timescale, ++ uint16_t width, ++ uint16_t height) ++{ ++ MP4TrackId trackId = ++ AddTrack(MP4_SUBPIC_TRACK_TYPE, timescale); ++ ++ InsertChildAtom(MakeTrackName(trackId, "mdia.minf"), "nmhd", 0); ++ ++ (void)AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd"), "mp4s"); ++ ++ SetTrackFloatProperty(trackId, "tkhd.width", width); ++ SetTrackFloatProperty(trackId, "tkhd.height", height); ++ SetTrackIntegerProperty(trackId, "tkhd.layer", 0); ++ ++ // stsd is a unique beast in that it has a count of the number ++ // of child atoms that needs to be incremented after we add the mp4s atom ++ MP4Integer32Property* pStsdCountProperty; ++ FindIntegerProperty( ++ MakeTrackName(trackId, "mdia.minf.stbl.stsd.entryCount"), ++ (MP4Property**)&pStsdCountProperty); ++ pStsdCountProperty->IncrementValue(); ++ ++ SetTrackIntegerProperty(trackId, ++ "mdia.minf.stbl.stsd.mp4s.esds.ESID", ++#if 0 ++ // note - for a file, these values need to ++ // be 0 - wmay - 04/16/2003 ++ trackId ++#else ++ 0 ++#endif ++ ); ++ ++ SetTrackIntegerProperty(trackId, ++ "mdia.minf.stbl.stsd.mp4s.esds.decConfigDescr.objectTypeId", ++ MP4SubpicObjectType); ++ ++ SetTrackIntegerProperty(trackId, ++ "mdia.minf.stbl.stsd.mp4s.esds.decConfigDescr.streamType", ++ MP4NeroSubpicStreamType); ++ return trackId; ++} ++ + MP4TrackId MP4File::AddChapterTextTrack(MP4TrackId refTrackId, uint32_t timescale) + { + // validate reference track id +diff -Naur mp4v2-trunk-r355/src/mp4file.h mp4v2-trunk-r355/src/mp4file.h +--- mp4v2-trunk-r355/src/mp4file.h 2009-05-23 06:29:37.000000000 -0700 ++++ mp4v2-trunk-r355/src/mp4file.h 2010-05-23 15:44:57.568026299 -0700 +@@ -388,6 +388,10 @@ + uint16_t width, + uint16_t height); + ++ MP4TrackId AddSubpicTrack(uint32_t timescale, ++ uint16_t width, ++ uint16_t height); ++ + MP4TrackId AddPixelAspectRatio(MP4TrackId trackId, uint32_t hSpacing, uint32_t vSpacing); + MP4TrackId AddColr(MP4TrackId trackId, uint16_t pri, uint16_t tran, uint16_t mat); + diff --git a/pkgs/development/libraries/mp4v2/A01-divide-zero.patch b/pkgs/development/libraries/mp4v2/A01-divide-zero.patch new file mode 100644 index 00000000000..4d6aa4d2a39 --- /dev/null +++ b/pkgs/development/libraries/mp4v2/A01-divide-zero.patch @@ -0,0 +1,22 @@ +--- mp4v2-r355/src/mp4track.cpp 2012-01-05 15:44:29.000000000 +0100 ++++ mp4v2-r355/src/mp4track.cpp 2012-01-05 15:47:34.000000000 +0100 +@@ -819,13 +819,14 @@ + (thisSecStart + timeScale) - lastSampleTime; + // calculate the duration of the last sample + MP4Duration lastSampleDur = sampleTime - lastSampleTime; +- uint32_t overflow_bytes; + // now, calculate the number of bytes we overflowed. Round up. +- overflow_bytes = +- ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur; ++ if( lastSampleDur > 0 ) { ++ uint32_t overflow_bytes = 0; ++ overflow_bytes = ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur; + +- if (bytesThisSec - overflow_bytes > maxBytesPerSec) { +- maxBytesPerSec = bytesThisSec - overflow_bytes; ++ if (bytesThisSec - overflow_bytes > maxBytesPerSec) { ++ maxBytesPerSec = bytesThisSec - overflow_bytes; ++ } + } + + // now adjust the values for this sample. Remove the bytes diff --git a/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch b/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch new file mode 100644 index 00000000000..987298bd5b0 --- /dev/null +++ b/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch @@ -0,0 +1,14 @@ +diff -Naur mp4v2-trunk-r355/src/mp4atom.cpp mp4v2-trunk-r355/src/mp4atom.cpp +--- mp4v2-trunk-r355/src/mp4atom.cpp 2012-02-21 19:40:03.000000000 +0100 ++++ mp4v2-trunk-r355/src/mp4atom.cpp 2012-02-21 19:36:38.000000000 +0100 +@@ -543,6 +543,10 @@ + m_pFile->SetPosition(m_start + 8); + m_pFile->WriteUInt64(m_size); + } else { ++ if (!(m_size <= (uint64_t)0xFFFFFFFF)) { ++ // Let the user know what the following assert is all about ++ fprintf(stderr, "MP4ERROR: File size exceeded 4 GB; output unplayable. Enable \"Large file size\" to fix it.\n"); ++ } + ASSERT(m_size <= (uint64_t)0xFFFFFFFF); + m_pFile->SetPosition(m_start); + m_pFile->WriteUInt32(m_size); diff --git a/pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch b/pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch new file mode 100644 index 00000000000..5b7f1a300bd --- /dev/null +++ b/pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch @@ -0,0 +1,11 @@ +--- mp4v2-trunk-r355/include/mp4v2/platform.h 2009-05-20 19:52:26.000000000 -0700 ++++ xxx/include/mp4v2/platform.h 2010-09-11 09:36:20.881523832 -0700 +@@ -24,7 +24,7 @@ + #if defined( _WIN32 ) || defined( __MINGW32__ ) + # if defined( _WINDLL ) || defined( DLL_EXPORT ) + # define MP4V2_EXPORT __declspec(dllexport) +-# elif defined( _DLL ) || defined( DLL_IMPORT ) ++# elif defined( DLL_IMPORT ) + # define MP4V2_EXPORT __declspec(dllimport) + # else + # define MP4V2_EXPORT diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix index 7b0dd938211..06e8c8e5ac3 100644 --- a/pkgs/development/libraries/mp4v2/default.nix +++ b/pkgs/development/libraries/mp4v2/default.nix @@ -1,13 +1,19 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "mp4v2-1.9.1"; + name = "mp4v2-1.9.1p4"; src = fetchurl { url = "http://mp4v2.googlecode.com/files/${name}.tar.bz2"; sha256 = "1d73qbi0faqad3bpmjfr4kk0mfmqpl1f43ysrx4gq9i3mfp1qf2w"; }; + # From Handbrake + # mp4v2 doesn't seem to be actively maintained any more :-/ + patches = [ + ./A00-nero-vobsub.patch ./A01-divide-zero.patch ./A02-meaningful-4gb-warning.patch + ./P00-mingw-dllimport.patch + ]; # `faac' expects `mp4.h'. postInstall = "ln -s mp4v2/mp4v2.h $out/include/mp4.h"; diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index 8aa8edfd3b9..f6848ae5860 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.3"; in +let version = "4.10.5"; 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"; - sha256 = "1r81rc2v8rlvc9wfsmi98h7k4qwsqb37v5ww1c4v1nk5lsqpjmzj"; + sha1 = "891de2b62ad42f9b38808a0aa58c95e8cbd5c9a9"; }; preConfigure = "cd nspr"; diff --git a/pkgs/development/libraries/nss/85_security_load.patch b/pkgs/development/libraries/nss/85_security_load.patch index 4268231380c..d20572a051e 100644 --- a/pkgs/development/libraries/nss/85_security_load.patch +++ b/pkgs/development/libraries/nss/85_security_load.patch @@ -1,25 +1,29 @@ -## 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 @@ +diff -ru nss-3.16-orig/nss/cmd/shlibsign/shlibsign.c nss-3.16/nss/cmd/shlibsign/shlibsign.c +--- nss-3.16-orig/nss/cmd/shlibsign/shlibsign.c 2014-03-14 21:31:59.000000000 +0100 ++++ nss-3.16/nss/cmd/shlibsign/shlibsign.c 2014-04-22 14:50:31.340743655 +0200 +@@ -852,6 +852,8 @@ libname = PR_GetLibraryName(NULL, "softokn3"); assert(libname != NULL); lib = PR_LoadLibrary(libname); + if (!lib) -+ lib = PR_LoadLibrary("/usr/lib/nss/libsoftokn3.so"); ++ lib = PR_LoadLibrary(NIX_NSS_LIBDIR"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 +Only in nss-3.16/nss/cmd/shlibsign: shlibsign.c.orig +diff -ru nss-3.16-orig/nss/coreconf/config.mk nss-3.16/nss/coreconf/config.mk +--- nss-3.16-orig/nss/coreconf/config.mk 2014-03-14 21:31:59.000000000 +0100 ++++ nss-3.16/nss/coreconf/config.mk 2014-04-22 14:50:51.302731097 +0200 +@@ -188,3 +188,6 @@ + + # Hide old, deprecated, TLS cipher suite names when building NSS + DEFINES += -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES ++ ++# Nix specific stuff. ++DEFINES += -DNIX_NSS_LIBDIR=\"$(out)/lib/\" +diff -ru nss-3.16-orig/nss/lib/pk11wrap/pk11load.c nss-3.16/nss/lib/pk11wrap/pk11load.c +--- nss-3.16-orig/nss/lib/pk11wrap/pk11load.c 2014-03-14 21:31:59.000000000 +0100 ++++ nss-3.16/nss/lib/pk11wrap/pk11load.c 2014-04-22 14:50:22.164749330 +0200 @@ -406,6 +406,13 @@ * unload the library if anything goes wrong from here on out... */ @@ -34,18 +38,17 @@ Index: nss/nss/lib/pk11wrap/pk11load.c 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 +diff -ru nss-3.16-orig/nss/lib/util/secload.c nss-3.16/nss/lib/util/secload.c +--- nss-3.16-orig/nss/lib/util/secload.c 2014-03-14 21:31:59.000000000 +0100 ++++ nss-3.16/nss/lib/util/secload.c 2014-04-22 14:50:31.342743654 +0200 @@ -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 / */ ++ * and program was called from $PATH. Hack to get libs from NIX_NSS_LIBDIR */ ++ referencePath = NIX_NSS_LIBDIR; ++ c = &referencePath[sizeof(NIX_NSS_LIBDIR) - 1]; /* last / */ + } if (c) { size_t referencePathSize = 1 + c - referencePath; @@ -54,7 +57,7 @@ Index: nss/nss/lib/util/secload.c if (fullName) { memcpy(fullName, referencePath, referencePathSize); strcpy(fullName + referencePathSize, name); -@@ -81,6 +86,12 @@ +@@ -81,6 +86,11 @@ #endif libSpec.type = PR_LibSpec_Pathname; libSpec.value.pathname = fullName; @@ -62,12 +65,11 @@ Index: nss/nss/lib/util/secload.c + (strncmp(fullName + referencePathSize - 4, "bin", 3) == 0)) { + memcpy(fullName + referencePathSize -4, "lib", 3); + } -+ strcpy(fullName + referencePathSize, "nss/"); -+ strcpy(fullName + referencePathSize + 4, name); ++ strcpy(fullName + referencePathSize, 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 @@ +@@ -88,6 +98,10 @@ | PR_LD_ALT_SEARCH_PATH #endif ); diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix index 92cc12fe1be..a8c12fe4856 100644 --- a/pkgs/development/libraries/nss/default.nix +++ b/pkgs/development/libraries/nss/default.nix @@ -11,11 +11,11 @@ let in stdenv.mkDerivation rec { name = "nss-${version}"; - version = "3.15.4"; + version = "3.16.1"; src = fetchurl { - url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_4_RTM/src/${name}.tar.gz"; - sha1 = "c164fac83fcbaff010786767e2a858ca23a89a5b"; + url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_1_RTM/src/${name}.tar.gz"; + sha1 = "450a88dde8c7e4533507ac8340dbf94be28a759b"; }; buildInputs = [ nspr perl zlib sqlite ]; @@ -26,9 +26,8 @@ in stdenv.mkDerivation rec { patches = [ ./nss-3.15-gentoo-fixups.patch - # from http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch + # Based on 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 ]; postPatch = '' diff --git a/pkgs/development/libraries/nss/nix_secload_fixup.patch b/pkgs/development/libraries/nss/nix_secload_fixup.patch deleted file mode 100644 index 89c82f1b87d..00000000000 --- a/pkgs/development/libraries/nss/nix_secload_fixup.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -ru -x '*~' nss-3.15.1-orig/nss/cmd/shlibsign/shlibsign.c nss-3.15.1/nss/cmd/shlibsign/shlibsign.c ---- nss-3.15.1-orig/nss/cmd/shlibsign/shlibsign.c 2013-08-07 16:03:40.013256377 +0200 -+++ nss-3.15.1/nss/cmd/shlibsign/shlibsign.c 2013-08-07 16:04:21.128410153 +0200 -@@ -853,7 +853,7 @@ - assert(libname != NULL); - lib = PR_LoadLibrary(libname); - if (!lib) -- lib = PR_LoadLibrary("/usr/lib/nss/libsoftokn3.so"); -+ lib = PR_LoadLibrary(NIX_NSS_LIBDIR"libsoftokn3.so"); - assert(lib != NULL); - PR_FreeLibraryName(libname); - -diff -ru -x '*~' nss-3.15.1-orig/nss/coreconf/config.mk nss-3.15.1/nss/coreconf/config.mk ---- nss-3.15.1-orig/nss/coreconf/config.mk 2013-06-27 19:58:08.000000000 +0200 -+++ nss-3.15.1/nss/coreconf/config.mk 2013-08-07 16:11:27.364608802 +0200 -@@ -181,3 +181,6 @@ - - # Build with NO_NSPR_10_SUPPORT to avoid using obsolete NSPR features - DEFINES += -DNO_NSPR_10_SUPPORT -+ -+# Nix specific stuff. -+DEFINES += -DNIX_NSS_LIBDIR=\"$(out)/lib/\" -diff -ru -x '*~' nss-3.15.1-orig/nss/lib/util/secload.c nss-3.15.1/nss/lib/util/secload.c ---- nss-3.15.1-orig/nss/lib/util/secload.c 2013-08-07 16:03:40.014256381 +0200 -+++ nss-3.15.1/nss/lib/util/secload.c 2013-08-07 16:05:02.453563064 +0200 -@@ -70,9 +70,9 @@ - /* 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 / */ -+ * and program was called from $PATH. Hack to get libs from NIX_NSS_LIBDIR */ -+ referencePath = NIX_NSS_LIBDIR; -+ c = &referencePath[sizeof(NIX_NSS_LIBDIR) - 1]; /* last / */ - } - if (c) { - size_t referencePathSize = 1 + c - referencePath; -@@ -90,8 +90,7 @@ - (strncmp(fullName + referencePathSize - 4, "bin", 3) == 0)) { - memcpy(fullName + referencePathSize -4, "lib", 3); - } -- strcpy(fullName + referencePathSize, "nss/"); -- strcpy(fullName + referencePathSize + 4, name); -+ strcpy(fullName + referencePathSize, 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 diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix index 75999f18d62..97981218478 100644 --- a/pkgs/development/libraries/openjpeg/default.nix +++ b/pkgs/development/libraries/openjpeg/default.nix @@ -15,7 +15,21 @@ stdenv.mkDerivation rec { nativebuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ libpng libtiff lcms ]; # in closure anyway - postInstall = glib.flattenInclude; + postInstall = glib.flattenInclude + '' + mkdir -p "$out/lib/pkgconfig" + cat >"$out/lib/pkgconfig/libopenjp2.pc" < #include -@@ -71,7 +75,19 @@ +@@ -71,7 +75,25 @@ { return(X509_CERT_DIR); } const char *X509_get_default_cert_file(void) @@ -23,9 +23,15 @@ diff -ru -x '*~' openssl-1.0.0e-orig/crypto/x509/x509_def.c openssl-1.0.0e/crypt + if (!init) { + init = 1; + char * s = getenv("OPENSSL_X509_CERT_FILE"); -+ if (s && getuid() == geteuid()) { -+ strncpy(buf, s, sizeof(buf)); -+ buf[sizeof(buf) - 1] = 0; ++ if (s) { ++#ifndef OPENSSL_SYS_WINDOWS ++ if (getuid() == geteuid()) { ++#endif ++ strncpy(buf, s, sizeof(buf)); ++ buf[sizeof(buf) - 1] = 0; ++#ifndef OPENSSL_SYS_WINDOWS ++ } ++#endif + } + } + return buf; diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 0d57018dcd6..93f7cbe1a1f 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -2,13 +2,15 @@ , withCryptodev ? false, cryptodevHeaders }: let - name = "openssl-1.0.1g"; + name = "openssl-1.0.1h"; opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ] (throw "openssl needs its platform name cross building" null) stdenv.cross; - patchesCross = isCross: + patchesCross = isCross: let + isDarwin = stdenv.isDarwin || (isCross && stdenv.cross.libc == "libSystem"); + in [ # Allow the location of the X509 certificate file (the CA # bundle) to be set through the environment variable # ‘OPENSSL_X509_CERT_FILE’. This is necessary because the @@ -29,7 +31,7 @@ let ./kfreebsd-gnu.patch ] - ++ stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch; + ++ stdenv.lib.optional isDarwin ./darwin-arch.patch; in @@ -41,7 +43,7 @@ stdenv.mkDerivation { "http://www.openssl.org/source/${name}.tar.gz" "http://openssl.linux-mirror.org/source/${name}.tar.gz" ]; - sha256 = "0a70qdqccg16nw4bbawa6pjvzn05vfp5wkwg6jl0grch7f683jsk"; + sha256 = "14yhsgag5as7nhxnw7f0vklwjwa3pmn1i15nmp3f4qxa6sc8l74x"; }; patches = patchesCross false; @@ -91,6 +93,8 @@ stdenv.mkDerivation { rm $out/bin/c_rehash $out/ssl/misc/CA.pl $out/ssl/misc/tsget ''; configureScript = "./Configure"; + } // stdenv.lib.optionalAttrs (opensslCrossSystem == "darwin64-x86_64-cc") { + CC = "gcc"; }; meta = { diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 2dc71bb2d11..1c62a64d006 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -19,7 +19,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - doCheck = true; + # jww (2014-05-05): The tests currently fail on Darwin: + # + # ERROR:testiter.c:139:iter_char_test: assertion failed: (extents.width == x1 - x0) + # .../bin/sh: line 5: 14823 Abort trap: 6 srcdir=. PANGO_RC_FILE=./pangorc ${dir}$tst + # FAIL: testiter + doCheck = !stdenv.isDarwin; postInstall = "rm -rf $out/share/gtk-doc"; meta = { diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index 51279701d4a..7138c44da64 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchurl, unicodeSupport ? true, cplusplusSupport ? true }: +{ stdenv, fetchurl, unicodeSupport ? true, cplusplusSupport ? true +, windows ? null +}: + +with stdenv.lib; stdenv.mkDerivation rec { name = "pcre-8.34"; @@ -16,12 +20,16 @@ stdenv.mkDerivation rec { --enable-jit ${if unicodeSupport then "--enable-unicode-properties" else ""} ${if !cplusplusSupport then "--disable-cpp" else ""} - '' + stdenv.lib.optionalString stdenv.isDarwin "CXXFLAGS=-O0"; + '' + optionalString stdenv.isDarwin "CXXFLAGS=-O0"; doCheck = with stdenv; !(isCygwin || isFreeBSD); # XXX: test failure on Cygwin # we are running out of stack on both freeBSDs on Hydra + crossAttrs = optionalAttrs (stdenv.cross.libc == "msvcrt") { + buildInputs = [ windows.mingw_w64_pthreads.crossDrv ]; + }; + meta = { homepage = "http://www.pcre.org/"; description = "A library for Perl Compatible Regular Expressions"; @@ -35,7 +43,7 @@ stdenv.mkDerivation rec { PCRE library is free, even for building proprietary software. ''; - platforms = stdenv.lib.platforms.all; - maintainers = [ stdenv.lib.maintainers.simons ]; + platforms = platforms.all; + maintainers = [ maintainers.simons ]; }; } diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 1e1452f4578..b9412b37cba 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -66,7 +66,11 @@ let propagatedBuildInputs = [ qt4 poppler_glib ]; patches = qtcairo_patches; NIX_LDFLAGS = "-lpoppler"; - postConfigure = "cd qt4"; + postConfigure = '' + mkdir -p "$out/lib/pkgconfig" + install -c -m 644 poppler-qt4.pc "$out/lib/pkgconfig" + cd qt4 + ''; }; in { inherit poppler_glib poppler_qt4; } // poppler_glib diff --git a/pkgs/development/libraries/ppl/default.nix b/pkgs/development/libraries/ppl/default.nix index cbdb7b128b4..e3b1444b8cb 100644 --- a/pkgs/development/libraries/ppl/default.nix +++ b/pkgs/development/libraries/ppl/default.nix @@ -13,7 +13,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl gnum4 ]; propagatedBuildInputs = [ gmpxx ]; - configureFlags = "--disable-watchdog"; + configureFlags = [ "--disable-watchdog" ] ++ + stdenv.lib.optionals stdenv.isDarwin [ + "CPPFLAGS=-fexceptions" + "--disable-ppl_lcdd" "--disable-ppl_lpsol" "--disable-ppl_pips" + ]; patches = [ ./upstream-based.patch ]; diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index 16bd1ee65d2..1679b4953e7 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -16,7 +16,7 @@ with stdenv.lib; let v_maj = "4.8"; - v_min = "5"; + v_min = "6"; vers = "${v_maj}.${v_min}"; in @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://download.qt-project.org/official_releases/qt/" + "${v_maj}/${vers}/qt-everywhere-opensource-src-${vers}.tar.gz"; - sha256 = "0f51dbgn1dcck8pqimls2qyf1pfmsmyknh767cvw87c3d218ywpb"; + sha256 = "0b036iqgmbbv37dgwwfihw3mihjbnw3kb5kaisdy0qi8nn8xs54b"; }; # The version property must be kept because it will be included into the QtSDK package name @@ -49,16 +49,6 @@ stdenv.mkDerivation rec { patches = [ ./glib-2.32.patch - (fetchurl { - name = "CVE-2013-4549.patch"; - url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/CVE-2013-4549.patch?h=packages/qt4"; - sha256 = "0xz60fmspzvsyhd0f013pvh2bbm87976128fphbckfcwiqr1hanw"; - }) - (fetchurl { - name = "libmng2.patch"; - url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/libmng2.patch?h=packages/qt4"; - sha256 = "1sgnrl3qzr370ad5bqc66f7sp0gk046jnsy1811x24f16cs04xzh"; - }) (substituteAll { src = ./dlopen-absolute-paths.diff; inherit cups icu libXfixes; @@ -148,8 +138,7 @@ stdenv.mkDerivation rec { ''; crossAttrs = let - isMingw = stdenv.cross.config == "i686-pc-mingw32" || - stdenv.cross.config == "x86_64-w64-mingw32"; + isMingw = stdenv.cross.libc == "msvcrt"; in { # I've not tried any case other than i686-pc-mingw32. # -nomake tools: it fails linking some asian language symbols @@ -184,7 +173,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://qt-project.org/; description = "A cross-platform application framework for C++"; - license = "GPL/LGPL"; + license = licenses.lgpl21Plus; # or gpl3 maintainers = with maintainers; [ lovek323 phreedom sander urkud ]; platforms = platforms.linux; }; diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/default.nix index e94aecc41e4..be028e89ce8 100644 --- a/pkgs/development/libraries/qt-5/default.nix +++ b/pkgs/development/libraries/qt-5/default.nix @@ -10,7 +10,7 @@ , gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs , buildDocs ? false , buildExamples ? false -, buildTests ? true +, buildTests ? false , developerBuild ? false }: @@ -84,8 +84,6 @@ stdenv.mkDerivation rec { -optimized-qmake -strip -reduce-relocations - -force-debug-info - -no-separate-debug-info -system-proxies -gui @@ -143,7 +141,15 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ python perl pkgconfig ]; - postInstall = if buildDocs then "make docs&&make install_docs" else ""; + postInstall = + '' + ${optionalString buildDocs '' + make docs && make install_docs + ''} + + # Don't retain build-time dependencies like gdb and ruby. + sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri + ''; #enableParallelBuilding = true; # often fails on Hydra, as well as qt4 diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6.nix new file mode 100644 index 00000000000..c1386277526 --- /dev/null +++ b/pkgs/development/libraries/qwt/6.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, qt4 }: + +stdenv.mkDerivation rec { + name = "qwt-6.1.0"; + + src = fetchurl { + url = "mirror://sourceforge/qwt/${name}.tar.bz2"; + sha256 = "00klw6jsn8z3dnhxg52pqg3hg5mw2sih8prwjxm1hzcivgqxkqx7"; + }; + + propagatedBuildInputs = [ qt4 ]; + + postPatch = '' + sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri + ''; + + configurePhase = "qmake -after doc.path=$out/share/doc/${name} -r"; + + meta = with stdenv.lib; { + description = "Qt widgets for technical applications"; + homepage = http://qwt.sourceforge.net/; + # LGPL 2.1 plus a few exceptions (more liberal) + license = "Qwt License, Version 1.0"; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix index 26ef47199e3..301fcc84b9f 100644 --- a/pkgs/development/libraries/re2/default.nix +++ b/pkgs/development/libraries/re2/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "re2"; - version = "20130802"; + version = "20140304"; src = fetchurl { url = "https://re2.googlecode.com/files/${name}-${version}.tgz"; - sha256 = "12yxbjsnc1ym7jny470wbnb6h3rgsfv0z75vdp12npklck5nmwhp"; + sha256 = "19wn0472c9dsxp35d0m98hlwhngx1f2xhxqgr8cb5x72gnjx3zqb"; }; preConfigure = '' diff --git a/pkgs/development/libraries/science/math/liblbfgs/default.nix b/pkgs/development/libraries/science/math/liblbfgs/default.nix new file mode 100644 index 00000000000..63de26ee90c --- /dev/null +++ b/pkgs/development/libraries/science/math/liblbfgs/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl }: +stdenv.mkDerivation { + name = "liblbfgs-1.10"; + + configureFlags = "--enable-sse2"; + src = fetchurl { + url = https://github.com/downloads/chokkan/liblbfgs/liblbfgs-1.10.tar.gz; + sha256 = "1kv8d289rbz38wrpswx5dkhr2yh4fg4h6sszkp3fawxm09sann21"; + }; + + meta = { + description = "Library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)"; + homepage = http://www.chokkan.org/software/liblbfgs/; + license = "MIT"; + }; +} diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix index f874804c001..83f64d1eb00 100644 --- a/pkgs/development/libraries/silgraphite/graphite2.nix +++ b/pkgs/development/libraries/silgraphite/graphite2.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig freetype cmake ]; + patches = stdenv.lib.optionals stdenv.isDarwin [ ./macosx.patch ]; + meta = { description = "An advanced font engine"; maintainers = [ stdenv.lib.maintainers.raskin ]; diff --git a/pkgs/development/libraries/silgraphite/macosx.patch b/pkgs/development/libraries/silgraphite/macosx.patch new file mode 100644 index 00000000000..7929c1967c8 --- /dev/null +++ b/pkgs/development/libraries/silgraphite/macosx.patch @@ -0,0 +1,13 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -102,7 +102,8 @@ set_target_properties(graphite2 PROPERTIES PUBLIC_HEADER "${GRAPHITE_HEADERS}" + VERSION ${GRAPHITE_VERSION} + LT_VERSION_CURRENT ${GRAPHITE_API_CURRENT} + LT_VERSION_REVISION ${GRAPHITE_API_REVISION} +- LT_VERSION_AGE ${GRAPHITE_API_AGE}) ++ LT_VERSION_AGE ${GRAPHITE_API_AGE} ++ INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) + + if (${CMAKE_BUILD_TYPE} STREQUAL "ClangASN") + set(GRAPHITE_LINK_FLAGS "-fsanitize=address") + diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix index 0525043b6cf..f5394fffdaa 100644 --- a/pkgs/development/libraries/simgear/default.nix +++ b/pkgs/development/libraries/simgear/default.nix @@ -13,11 +13,11 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { baseName="simgear"; - version="2.12.1"; + version="3.0.0"; name="${baseName}-${version}"; extension="tar.bz2"; url="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.${extension}"; - hash="0w8drzglgp01019frx96062qcigzfflsyq59f8shpwmzjb2hzli4"; + hash="05l0wvi0s4a98ihmjbpcc66rj6qy3hrsqkjs388bddf2ws3qyi09"; }; in rec { diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix index 027f9e2f2fc..93f2ff0de6b 100644 --- a/pkgs/development/libraries/sodium/default.nix +++ b/pkgs/development/libraries/sodium/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="sodium"; - version="0.4.5"; + version="0.5.0"; name="${baseName}-${version}"; - hash="0cmcw479p866r6cjh20wzjr84pdn0mfswr5h57mw1siyylnj1mbs"; - url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.4.5.tar.gz"; - sha256="0cmcw479p866r6cjh20wzjr84pdn0mfswr5h57mw1siyylnj1mbs"; + hash="1w7rrnsvhhzhywrr3nhlhppv4kqzdszz3dwy8jrsv8lrj5hs181w"; + url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.5.0.tar.gz"; + sha256="1w7rrnsvhhzhywrr3nhlhppv4kqzdszz3dwy8jrsv8lrj5hs181w"; }; buildInputs = [ ]; diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix index adb1fe90558..f649401c5ca 100644 --- a/pkgs/development/libraries/spice-gtk/default.nix +++ b/pkgs/development/libraries/spice-gtk/default.nix @@ -1,16 +1,16 @@ { 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, usbredir +, cyrus_sasl, python, pygtk, autoconf, automake, libtool, usbredir, libsoup , gtk3, enableGTK3 ? false }: with stdenv.lib; stdenv.mkDerivation rec { - name = "spice-gtk-0.22"; + name = "spice-gtk-0.24"; src = fetchurl { url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2"; - sha256 = "0fpsn6qhy9a701lmd4yym6qz6zhpp8xp6vw42al0b4592pcybs85"; + sha256 = "1l8y1pbaqyzb6w8w8xa097dvj4zxhksn85pif1b9847r8l451zkf"; }; buildInputs = [ @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { libjpeg_turbo zlib cyrus_sasl python pygtk usbredir ] ++ (if enableGTK3 then [ gtk3 ] else [ gtk ]); - nativeBuildInputs = [ pkgconfig intltool libtool autoconf automake ]; + nativeBuildInputs = [ pkgconfig intltool libtool libsoup autoconf automake ]; NIX_CFLAGS_COMPILE = "-fno-stack-protector"; diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index de96ab58eae..ec392e71531 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/sword/default.nix b/pkgs/development/libraries/sword/default.nix index f8c5a213ee3..e6769285fc8 100644 --- a/pkgs/development/libraries/sword/default.nix +++ b/pkgs/development/libraries/sword/default.nix @@ -2,20 +2,17 @@ stdenv.mkDerivation rec { - version = "1.6.2"; + version = "1.7.2"; name = "sword-${version}"; src = fetchurl { - url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.6/${name}.tar.gz"; - sha256 = "1fc71avaxkhx6kckjiflw6j02lpg569b9bzaksq49i1m87awfxmg"; + url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/${name}.tar.gz"; + sha256 = "ac7aace0ecb7a405d4b4b211ee1ae5b2250bb5c57c9197179747c9e830787871"; }; 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 ./gcc47.patch ]; - prePatch = '' patchShebangs .; ''; @@ -27,7 +24,7 @@ stdenv.mkDerivation rec { homepage = http://www.crosswire.org/sword/; platforms = stdenv.lib.platforms.linux; license = "GPLv2"; - maintainers = [ stdenv.lib.maintainers.piotr ]; + maintainers = [ stdenv.lib.maintainers.piotr stdenv.lib.maintainers.AndersonTorres ]; }; } diff --git a/pkgs/development/libraries/sword/dont_include_curl_types_h.patch b/pkgs/development/libraries/sword/dont_include_curl_types_h.patch deleted file mode 100644 index 233d59a3243..00000000000 --- a/pkgs/development/libraries/sword/dont_include_curl_types_h.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/mgr/curlftpt.cpp b/src/mgr/curlftpt.cpp -index 7d2fd3c..046291e 100644 ---- a/src/mgr/curlftpt.cpp -+++ b/src/mgr/curlftpt.cpp -@@ -26,7 +26,6 @@ - #include - - #include --#include - #include - - #include -diff --git a/src/mgr/curlhttpt.cpp b/src/mgr/curlhttpt.cpp -index b736050..229d4dd 100644 ---- a/src/mgr/curlhttpt.cpp -+++ b/src/mgr/curlhttpt.cpp -@@ -25,7 +25,6 @@ - #include - - #include --#include - #include - - #include diff --git a/pkgs/development/libraries/sword/gcc47.patch b/pkgs/development/libraries/sword/gcc47.patch deleted file mode 100644 index 7b55de75b64..00000000000 --- a/pkgs/development/libraries/sword/gcc47.patch +++ /dev/null @@ -1,35 +0,0 @@ -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/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix index 78d2d520050..6c0806ec4cd 100644 --- a/pkgs/development/libraries/telepathy/glib/default.nix +++ b/pkgs/development/libraries/telepathy/glib/default.nix @@ -2,11 +2,11 @@ , gobjectIntrospection, valaSupport ? true, vala }: stdenv.mkDerivation rec { - name = "telepathy-glib-0.22.1"; + name = "telepathy-glib-0.24.0"; src = fetchurl { url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz"; - sha256 = "0vf2drh7g55nxyd0mxyn9sf99m981dagnvv9yc3q9f4k8x092a78"; + sha256 = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf"; }; configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings"; diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix index e1129d25ef4..191f9da99d1 100644 --- a/pkgs/development/libraries/thrift/default.nix +++ b/pkgs/development/libraries/thrift/default.nix @@ -15,6 +15,11 @@ stdenv.mkDerivation { enableParallelBuilding = true; + # Fixes build error: /lib/libfl.so: undefined reference to `yylex'. + # Patch exists in upstream git repo, so it can be removed on the next version + # bump. + patches = [ ./yylex.patch ]; + # Workaround to make the python wrapper not drop this package: # pythonFull.override { extraLibs = [ thrift ]; } pythonPath = []; diff --git a/pkgs/development/libraries/thrift/yylex.patch b/pkgs/development/libraries/thrift/yylex.patch new file mode 100644 index 00000000000..3700bc6a436 --- /dev/null +++ b/pkgs/development/libraries/thrift/yylex.patch @@ -0,0 +1,23 @@ +Fixes build error: + + /lib/libfl.so: undefined reference to `yylex' + +The same patch exists in upstream thrift git repo, commit +ec8daae71004b3c2346bf12b2d74e52ed0815337 +"THRIFT-2386: Thrift refuses to link yylex". +diff --git a/compiler/cpp/src/main.h b/compiler/cpp/src/main.h +index 87af5f6..27285f5 100644 +--- a/compiler/cpp/src/main.h ++++ b/compiler/cpp/src/main.h +@@ -28,8 +28,9 @@ + /** + * Defined in the flex library + */ +- +-int yylex(void); ++extern "C" { ++ int yylex(void); ++} + + int yyparse(void); + diff --git a/pkgs/development/libraries/tk/default.nix b/pkgs/development/libraries/tk/default.nix index a45c4217c7b..fd3684d189c 100644 --- a/pkgs/development/libraries/tk/default.nix +++ b/pkgs/development/libraries/tk/default.nix @@ -1,23 +1,28 @@ -{ stdenv, fetchurl, tcl, x11, libX11 }: +{ stdenv, fetchurl, pkgconfig, tcl, libXft, fontconfig }: stdenv.mkDerivation { - name = "tk-8.5.7"; - + name = "tk-8.5.15"; + src = fetchurl { - url = "mirror://sourceforge/tcl/tk8.5.7-src.tar.gz"; - sha256 = "0c5gsy3nlwl0wn9swz4k4v7phy7nzjl317gca1jykgf4jz9nwdnr"; + url = "mirror://sourceforge/tcl/tk8.5.15-src.tar.gz"; + sha256 = "0grj0k0hljvwiz913pafqibz18fzk9xjxf0nzqrd9zdls036fp41"; }; - + + patches = [ ./different-prefix-with-tcl.patch ]; + postInstall = '' ln -s $out/bin/wish* $out/bin/wish ''; - + configureFlags = "--with-tcl=${tcl}/lib"; - + preConfigure = "cd unix"; - buildInputs = [ tcl x11 libX11 ]; - + buildInputs = [ pkgconfig tcl libXft ] + ++ stdenv.lib.optional stdenv.isDarwin fontconfig; + + NIX_CFLAGS_LINK = if stdenv.isDarwin then "-lfontconfig" else null; + inherit tcl; passthru = { @@ -27,6 +32,7 @@ stdenv.mkDerivation { meta = { description = "A widget toolkit that provides a library of basic elements for building a GUI in many different programming languages"; homepage = http://www.tcl.tk/; + license = stdenv.lib.licenses.tcltk; maintainers = with stdenv.lib.maintainers; [ lovek323 ]; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/development/libraries/tk/different-prefix-with-tcl.patch b/pkgs/development/libraries/tk/different-prefix-with-tcl.patch new file mode 100644 index 00000000000..bf331b75cae --- /dev/null +++ b/pkgs/development/libraries/tk/different-prefix-with-tcl.patch @@ -0,0 +1,22 @@ +--- tk8.5.15-orig/unix/Makefile.in 2014-01-25 08:57:45.626713122 +0800 ++++ tk8.5.15/unix/Makefile.in 2014-01-25 08:59:35.315341825 +0800 +@@ -995,7 +995,8 @@ + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c + + tkWindow.o: $(GENERIC_DIR)/tkWindow.c +- $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkWindow.c ++ $(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \ ++ $(GENERIC_DIR)/tkWindow.c + + tkButton.o: $(GENERIC_DIR)/tkButton.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c +--- tk8.5.15-orig/generic/tkWindow.c 2014-01-25 10:10:03.964476436 +0800 ++++ tk8.5.15/generic/tkWindow.c 2014-01-25 10:08:06.020950933 +0800 +@@ -983,6 +983,7 @@ + + Tcl_SetVar(interp, "tk_patchLevel", TK_PATCH_LEVEL, TCL_GLOBAL_ONLY); + Tcl_SetVar(interp, "tk_version", TK_VERSION, TCL_GLOBAL_ONLY); ++ Tcl_SetVar(interp, "tk_library", TK_LIBRARY, TCL_GLOBAL_ONLY); + + tsdPtr->numMainWindows++; + return tkwin; diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index 0564e688795..d3a2511c90c 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -1,65 +1,66 @@ -{ stdenv, fetchsvn, gyp, readline, python, which }: +{ stdenv, fetchurl, gyp, readline, python, which, icu }: assert readline != null; let - system = stdenv.system; - arch = if system == "i686-linux" then "ia32" else if system == "x86_64-linux" || system == "x86_64-darwin" then "x64" else ""; - version = "3.14.5.9"; + arch = if stdenv.is64bit then "x64" else "ia32"; in -assert arch != ""; +stdenv.mkDerivation rec { + name = "v8-${version}"; + version = "3.26.8"; -stdenv.mkDerivation { - name = "v8-${version}"; + src = fetchurl { + url = "https://commondatastorage.googleapis.com/chromium-browser-official/" + + "${name}.tar.bz2"; + sha256 = "0w8mfy8jlqvp958c0zhsfwf0s3m6kw53jhcyg6aiwh877g6s21iz"; + }; - src = fetchsvn { - url = "http://v8.googlecode.com/svn/tags/${version}"; - sha256 = "18qp5qp5xrb6f00w01cklz358yrl54pks963f5rwvwz82d8sfyqr"; - name = "v8-${version}-src"; - }; + configurePhase = '' + PYTHONPATH="tools/generate_shim_headers:$PYTHONPATH" \ + ${gyp}/bin/gyp \ + -f make \ + --generator-output="out" \ + -Dflock_index=0 \ + -Dv8_enable_i18n_support=1 \ + -Duse_system_icu=1 \ + -Dconsole=readline \ + -Dcomponent=shared_library \ + -Dv8_target_arch=${arch} \ + --depth=. -Ibuild/standalone.gypi \ + build/all.gyp + ''; - patches = [ ./fix-GetLocalizedMessage-usage.patch ]; + nativeBuildInputs = [ which ]; + buildInputs = [ readline python icu ]; - configurePhase = '' - mkdir build/gyp - ln -sv ${gyp}/bin/gyp build/gyp/gyp - ''; + buildFlags = [ + "LINK=g++" + "-C out" + "builddir=$(CURDIR)/Release" + "BUILDTYPE=Release" + ]; - nativeBuildInputs = [ which ]; - buildInputs = [ readline python ]; + enableParallelBuilding = true; - buildFlags = [ - "library=shared" - "console=readline" - "${arch}.release" - ]; + installPhase = '' + install -vD out/Release/d8 "$out/bin/d8" + ${if stdenv.system == "x86_64-darwin" then '' + install -vD out/Release/lib.target/libv8.dylib "$out/lib/libv8.dylib" + '' else '' + install -vD out/Release/lib.target/libv8.so "$out/lib/libv8.so" + ''} + cp -vr include "$out/" + ''; - # http://code.google.com/p/v8/issues/detail?id=2149 - NIX_CFLAGS_COMPILE = "-Wno-unused-local-typedefs -Wno-aggressive-loop-optimizations"; + postFixup = if stdenv.isDarwin then '' + install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/bin/d8 + install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib + '' else null; - enableParallelBuilding = true; - - installPhase = '' - mkdir -p $out/bin - mkdir -p $out/lib - mv -v out/${arch}.release/d8 $out/bin - - ${if stdenv.system == "x86_64-darwin" then - "mv -v out/${arch}.release/libv8.dylib $out/lib" - else - "mv -v out/${arch}.release/lib.target/libv8.so $out/lib"} - mv -v include $out/ - ''; - - postFixup = if stdenv.isDarwin then '' - install_name_tool -change /usr/local/lib/libv8.dylib $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/bin/d8 - install_name_tool -id $out/lib/libv8.dylib -change /usr/lib/libgcc_s.1.dylib ${stdenv.gcc.gcc}/lib/libgcc_s.1.dylib $out/lib/libv8.dylib - '' else null; - - meta = with stdenv.lib; { - description = "V8 is Google's open source JavaScript engine"; - platforms = platforms.linux ++ platforms.darwin; - license = licenses.bsd3; - }; + meta = with stdenv.lib; { + description = "V8 is Google's open source JavaScript engine"; + platforms = platforms.linux ++ platforms.darwin; + license = licenses.bsd3; + }; } diff --git a/pkgs/development/libraries/webkit/bison26.patch b/pkgs/development/libraries/webkit/bison26.patch deleted file mode 100644 index 95898adeb8a..00000000000 --- 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 ef4d259cb02..00000000000 --- 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 c2e3b9b06dd..00000000000 --- 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 65bcd435096..00000000000 --- 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 65bcd435096..00000000000 --- 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 f90bafbf6dc..00000000000 --- 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 c4e5b8a6fd6..00000000000 --- 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 994cae544cb..00000000000 --- 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 8497ea9ae94..3b6ef1acd98 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -8,7 +8,7 @@ }: stdenv.mkDerivation rec { - name = "webkitgtk-2.4.0"; + name = "webkitgtk-2.4.3"; meta = { description = "Web content rendering engine, GTK+ port"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://webkitgtk.org/releases/${name}.tar.xz"; - sha256 = "1fyz6ysw7npy5wa7m1zg05zrj0gi0wdlpjbqix03iq4ym36pflnw"; + sha256 = "1b6fm1c5kk6vl0llalsd605raqs152hn14635kjwcb6iq7mc6qlq"; }; patches = [ ./webcore-svg-libxml-cflags.patch ]; diff --git a/pkgs/development/libraries/wildmidi/default.nix b/pkgs/development/libraries/wildmidi/default.nix index eb55d1d60f4..5b3f9e03ac7 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/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix index ef7a65599a9..9f578e4b9dd 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/zeitgeist/dbus_glib.patch b/pkgs/development/libraries/zeitgeist/dbus_glib.patch new file mode 100644 index 00000000000..872ea0db31b --- /dev/null +++ b/pkgs/development/libraries/zeitgeist/dbus_glib.patch @@ -0,0 +1,10 @@ +--- configure.ac 2014-01-27 22:45:42.000000000 +0100 ++++ configure.ac.new 2014-05-02 17:25:45.813491239 +0200 +@@ -151,6 +151,7 @@ + gio-2.0 >= $GLIB_REQUIRED + gio-unix-2.0 >= $GLIB_REQUIRED + gtk+-3.0 >= $GTK_REQUIRED ++ dbus-glib-1 + json-glib-1.0 >= $JSON_GLIB_REQUIRED" + + AC_ARG_ENABLE([datahub], diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix new file mode 100644 index 00000000000..92fbe81a32e --- /dev/null +++ b/pkgs/development/libraries/zeitgeist/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, glib, sqlite, gnome3, vala +, intltool, libtool, python, dbus_libs, telepathy_glib +, gtk3, json_glib, librdf_raptor2, pythonPackages, dbus_glib }: + +stdenv.mkDerivation rec { + name = "zeitgeist-0.0.14"; + + src = fetchurl { + url = "https://github.com/seiflotfy/zeitgeist/archive/v0.9.15.tar.gz"; + sha256 = "07pnc7kmjpd0ncm32z6s3ny5p4zl52v9lld0n0f8sp6cw87k12p0"; + }; + + NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0"; + + configureScript = "./autogen.sh"; + + configureFlags = [ "--with-session-bus-services-dir=$(out)/share/dbus-1/services" ]; + + buildInputs = [ pkgconfig glib sqlite gnome3.gnome_common intltool + libtool python dbus_libs telepathy_glib vala dbus_glib + gtk3 json_glib librdf_raptor2 pythonPackages.rdflib ]; + + prePatch = "patchShebangs ."; + + patches = [ ./dbus_glib.patch ]; + + patchFlags = [ "-p0" ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://launchpad.net/zeitgeist; + description = "Zeitgeist is a service which logs the users's activities and events"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix new file mode 100644 index 00000000000..f06f0b5fbec --- /dev/null +++ b/pkgs/development/libraries/zeromq/4.x.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, libuuid}: + +stdenv.mkDerivation rec { + name = "zeromq-4.0.4"; + + src = fetchurl { + url = "http://download.zeromq.org/${name}.tar.gz"; + sha256 = "1ef71d46e94f33e27dd5a1661ed626cd39be4d2d6967792a275040e34457d399"; + }; + + buildInputs = [ libuuid ]; + + meta = { + branch = "4"; + homepage = "http://www.zeromq.org"; + description = "The Intelligent Transport Layer"; + }; +} diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index 0d4abaf25e0..088eb1b9493 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -36,8 +36,12 @@ stdenv.mkDerivation rec { "-f" "win32/Makefile.gcc" "PREFIX=${stdenv.cross.config}-" ] ++ (if static then [] else [ "SHARED_MODE=1" ]); + } // stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") { + makeFlags = [ "RANLIB=${stdenv.cross.config}-ranlib" ]; }; # zlib doesn't like the automatic --disable-shared from the Cygwin stdenv. cygwinConfigureEnableShared = true; + + passthru.version = version; } diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix index c0602e2c028..97e1661544b 100644 --- a/pkgs/development/lisp-modules/asdf/default.nix +++ b/pkgs/development/lisp-modules/asdf/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="asdf"; - version="3.0.3"; + version="3.1.2"; name="${baseName}-${version}"; - hash="0iszin6j0qxw48gkn30rqgwm240177hx06khhgv8041zsf1ivw85"; - url="http://common-lisp.net/project/asdf/archives/asdf-3.0.3.tar.gz"; - sha256="0iszin6j0qxw48gkn30rqgwm240177hx06khhgv8041zsf1ivw85"; + hash="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki"; + url="http://common-lisp.net/project/asdf/archives/asdf-3.1.2.tar.gz"; + sha256="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki"; }; buildInputs = [ texinfo texLive diff --git a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix index 5218f5b7744..1f54d132dcc 100644 --- a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix +++ b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix @@ -78,10 +78,11 @@ stdenv.mkDerivation { ''; }; - meta = { + meta = with stdenv.lib; { description = "AVR developement environment including binutils, avr-gcc and avr-libc"; # I've tried compiling the packages separately.. too much hassle. This just works. Fine. license = ["GPL" "LGPL"]; # see single packages .. homepage = []; # dito + platforms = platforms.linux; }; } diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix new file mode 100644 index 00000000000..cbcff8178e3 --- /dev/null +++ b/pkgs/development/mobile/androidenv/androidndk.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, zlib, ncurses +}: + +stdenv.mkDerivation rec { + name = "android-ndk-r9d"; + + src = if stdenv.system == "i686-linux" + then fetchurl { + url = "http://dl.google.com/android/ndk/${name}-linux-x86.tar.bz2"; + md5 = "6c1d7d99f55f0c17ecbcf81ba0eb201f"; + } + else if stdenv.system == "x86_64-linux" then fetchurl { + url = "http://dl.google.com/android/ndk/${name}-linux-x86_64.tar.bz2"; + md5 = "c7c775ab3342965408d20fd18e71aa45"; + } + else throw "platform not ${stdenv.system} supported!"; + + phases = "installPhase"; + + installPhase = '' + set -x + mkdir -pv $out + tar xf $src + mv */* $out + find $out \( \ + \( -type f -a -name "*.so*" \) -o \ + \( -type f -a -perm +0100 \) \ + \) -exec patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-*so.? \ + --set-rpath ${zlib}/lib:${ncurses}/lib {} \; + ''; +} diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix index f1bbdc35bcd..1a2124754a2 100644 --- a/pkgs/development/mobile/androidenv/androidsdk.nix +++ b/pkgs/development/mobile/androidenv/androidsdk.nix @@ -7,17 +7,18 @@ }: {platformVersions, abiVersions, useGoogleAPIs}: -stdenv.mkDerivation { - name = "android-sdk-22.3"; +stdenv.mkDerivation rec { + name = "android-sdk-${version}"; + version = "22.6.2"; src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl { - url = http://dl.google.com/android/android-sdk_r22.3-linux.tgz; - md5 = "6ae581a906d6420ad67176dff25a31cc"; + url = "http://dl.google.com/android/android-sdk_r${version}-linux.tgz"; + md5 = "ff1541418a44d894bedc5cef10622220"; } else if stdenv.system == "x86_64-darwin" then fetchurl { - url = http://dl.google.com/android/android-sdk_r22.3-macosx.zip; - md5 = "ecde88ca1f05955826697848fcb4a9e7"; + url = "http://dl.google.com/android/android-sdk_r${version}-macosx.zip"; + md5 = "2a319c862dd1dcf450bfe2a6b3d9c608"; } else throw "platform not ${stdenv.system} supported!"; diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix index db7067c989c..ca00e78b2cb 100644 --- a/pkgs/development/mobile/androidenv/build-app.nix +++ b/pkgs/development/mobile/androidenv/build-app.nix @@ -1,7 +1,7 @@ -{ stdenv, androidsdk, jdk, ant }: +{ stdenv, androidsdk, jdk, ant, androidndk, gnumake, gawk, file, which }: args@{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false, antFlags ? "" , release ? false, keyStore ? null, keyAlias ? null, keyStorePassword ? null, keyAliasPassword ? null -, ... +, useNDK ? false, ... }: assert release -> keyStore != null && keyAlias != null && keyStorePassword != null && keyAliasPassword != null; @@ -18,11 +18,12 @@ let in stdenv.mkDerivation ({ name = stdenv.lib.replaceChars [" "] [""] name; - + ANDROID_HOME = "${androidsdkComposition}/libexec/android-sdk-${platformName}"; - buildInputs = [ jdk ant ]; - + buildInputs = [ jdk ant ] ++ + stdenv.lib.optional useNDK [ androidndk gnumake gawk file which ]; + buildPhase = '' ${stdenv.lib.optionalString release '' @@ -33,11 +34,16 @@ stdenv.mkDerivation ({ echo "key.alias.password=${keyAliasPassword}" ) >> ant.properties ''} - + export ANDROID_SDK_HOME=`pwd` # Key files cannot be stored in the user's home directory. This overrides it. + ${if useNDK then '' + export GNUMAKE=${gnumake}/bin/make + export NDK_HOST_AWK=${gawk}/bin/gawk + ${androidndk}/ndk-build + '' else ""} ant ${antFlags} ${if release then "release" else "debug"} ''; - + installPhase = '' mkdir -p $out mv bin/*-${if release then "release" else "debug"}.apk $out diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index 1e87c30f6bd..bc022bd70b4 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -81,10 +81,14 @@ rec { abiVersions = [ "armeabi-v7a" "x86" ]; useGoogleAPIs = true; }; + + androidndk = import ./androidndk.nix { + inherit (pkgs) stdenv fetchurl zlib ncurses; + }; buildApp = import ./build-app.nix { - inherit (pkgs) stdenv jdk ant; - inherit androidsdk; + inherit (pkgs) stdenv jdk ant gnumake gawk file which; + inherit androidsdk androidndk; }; emulateApp = import ./emulate-app.nix { diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix index b81fcd41bcb..556b96975b4 100644 --- a/pkgs/development/mobile/titaniumenv/examples/default.nix +++ b/pkgs/development/mobile/titaniumenv/examples/default.nix @@ -4,15 +4,16 @@ , 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; @@ -23,7 +24,7 @@ rec { 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; @@ -35,7 +36,7 @@ rec { 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; @@ -44,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; @@ -78,7 +79,7 @@ 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 { diff --git a/pkgs/development/mobile/xpwn/default.nix b/pkgs/development/mobile/xpwn/default.nix new file mode 100644 index 00000000000..b248107141f --- /dev/null +++ b/pkgs/development/mobile/xpwn/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }: + +stdenv.mkDerivation { + name = "xpwn-0.5.8git"; + + src = fetchgit { + url = "git://github.com/dborca/xpwn.git"; + rev = "4534da88d4e8a32cdc9da9b5326e2cc482c95ef0"; + sha256 = + "1h1ak40fg5bym0hifpii9q2hqdp2m387cwfzb4bl6qq36xpkd6wv"; + }; + + preConfigure = '' + sed -r -i \ + -e 's/(install.*TARGET.*DESTINATION )\.\)/\1bin)/' \ + -e 's!(install.*(FILE|DIR).*DESTINATION )([^)]*)!\1share/xpwn/\3!' \ + */CMakeLists.txt + sed -i -e '/install/d' CMakeLists.txt + ''; + + buildInputs = [ cmake zlib libpng bzip2 libusb openssl ]; + + meta = { + homepage = "http://planetbeing.lighthouseapp.com/projects/15246-xpwn"; + description = "Custom NOR firmware loader/IPSW generator for the iPhone"; + license = stdenv.lib.licenses.gpl3Plus; + }; +} diff --git a/pkgs/development/ocaml-modules/lablgtk/META.patch b/pkgs/development/ocaml-modules/lablgtk/META.patch deleted file mode 100644 index d2b7b500c69..00000000000 --- a/pkgs/development/ocaml-modules/lablgtk/META.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -ruN zzz/lablgtk-2.14.1/META lablgtk-2.14.1/META ---- zzz/lablgtk-2.14.1/META 2009-02-12 21:39:14.000000000 -0500 -+++ lablgtk-2.14.1/META 2010-09-07 19:48:06.454452726 -0400 -@@ -1,8 +1,52 @@ --requires="" --version="2.12.0" --archive(byte)="lablgtk.cma" --archive(byte,init)="lablgtk.cma gtkInit.cmo" --archive(native)="lablgtk.cmxa" --archive(native,init)="lablgtk.cmxa gtkInit.cmx" --linkopts="" --directory="+lablgtk2" -+version="2.14.1" -+requires(mt) = "threads" -+requires(mt,mt_vm) = "threads.vm" -+requires(mt,mt_posix) = "threads.posix" -+archive(byte) = "lablgtk.cma" -+archive(native) = "lablgtk.cmxa" -+archive(byte,mt) += "gtkThread.cmo" -+archive(native,mt) += "gtkThread.cmx" -+ -+package "init" ( -+ requires = "lablgtk2" -+ archive(byte) = "gtkInit.cmo" -+ archive(native) = "gtkInit.cmx" -+) -+ -+package "glade" ( -+ requires = "lablgtk2" -+ archive(byte) = "lablglade.cma" -+ archive(native) = "lablglade.cmxa" -+) -+ -+package "gtkspell" ( -+ requires = "lablgtk2" -+ archive(byte) = "lablgtkspell.cma" -+ archive(native) = "lablgtkspell.cmxa" -+) -+ -+package "gnomecanvas" ( -+ archive(byte) = "lablgnomecanvas.cma" -+ archive(native) = "lablgnomecanvas.cmxa" -+) -+ -+package "gnomeui" ( -+ archive(byte) = "lablgnomeui.cma" -+ archive(native) = "lablgnomeui.cmxa" -+) -+ -+package "panel" ( -+ archive(byte) = "lablpanel.cma" -+ archive(native) = "lablpanel.cmxa" -+) -+ -+package "rsvg" ( -+ archive(byte) = "lablrsvg.cma" -+ archive(native) = "lablrsvg.cmxa" -+) -+ -+package "gtksourceview" ( -+ requires = "lablgtk2" -+ archive(byte) = "lablgtksourceview2.cma" -+ archive(native) = "lablgtksourceview2.cmxa" -+) diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix index a62f4ab9ae9..392cf5c9772 100644 --- a/pkgs/development/ocaml-modules/lablgtk/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk/default.nix @@ -15,8 +15,6 @@ stdenv.mkDerivation (rec { buildInputs = [ocaml findlib pkgconfig gtk libgnomecanvas libglade gtksourceview]; - # patches = [ ./META.patch ]; - configureFlags = "--with-libdir=$(out)/lib/ocaml/${ocaml_version}/site-lib"; buildFlags = "world"; diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix index 997ca220610..9f411dd2a6f 100644 --- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix +++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix @@ -2,7 +2,7 @@ let ocaml_version = (builtins.parseDrvName ocaml.name).version; - version = "1.8.2"; + version = "1.8.5"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://ocamlgraph.lri.fr/download/ocamlgraph-${version}.tar.gz"; - sha256 = "e54ae60cd977a032854166dad56348d0fb76c6cd8e03e960af455268f0c8b5a6"; + sha256 = "0bxqxzd5sd7siz57vhzb8bmiz1ddhgdv49gcsmwwfmd16mj4cryi"; }; buildInputs = [ ocaml findlib ocamlPackages.lablgtk ]; @@ -24,7 +24,7 @@ stdenv.mkDerivation { postPatch = '' sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml_version}/site-lib/ocamlgraph@' Makefile.in sed -i 's@$OCAMLLIB/lablgtk2@${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2@' configure Makefile.in - sed -i 's@-I +lablgtk2@-I ${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2 -I ${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/stublibs@' configure Makefile.in editor/Makefile + sed -i 's@+lablgtk2@${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2 -I ${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/stublibs@' configure Makefile.in editor/Makefile ''; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix index 3ddac79a9a5..6df221a9244 100644 --- a/pkgs/development/ocaml-modules/pcre/default.nix +++ b/pkgs/development/ocaml-modules/pcre/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, pcre, ocaml, findlib}: stdenv.mkDerivation { - name = "ocaml-pcre-6.2.5"; + name = "ocaml-pcre-7.0.4"; src = fetchurl { - url = https://bitbucket.org/mmottl/pcre-ocaml/downloads/pcre-ocaml-6.2.5.tar.gz; - sha256 = "0iwfi0wmw3xbx31ri96pmrsmmn4r3h9f0k6gyk8j4pajlhl40xzi"; + url = https://bitbucket.org/mmottl/pcre-ocaml/downloads/pcre-ocaml-7.0.4.tar.gz; + sha256 = "0h2qlza7jkzgrglw1k0fydpbil0dgpv526kxyyd1apdbyzhb0mpw"; }; buildInputs = [ocaml findlib]; @@ -15,13 +15,11 @@ stdenv.mkDerivation { configurePhase = "true"; # Skip configure phase - meta = { - homepage = "http://www.ocaml.info/home/ocaml_sources.html"; + meta = with stdenv.lib; { + homepage = "https://bitbucket.org/mmottl/pcre-ocaml"; description = "An efficient C-library for pattern matching with Perl-style regular expressions in OCaml"; - license = "LGPL"; + license = licenses.lgpl21; platforms = ocaml.meta.platforms; - maintainers = [ - stdenv.lib.maintainers.z77z - ]; + maintainers = with maintainers; [ z77z vbmithr ]; }; } diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix index a69ef9d446c..6b0e694d54a 100644 --- a/pkgs/development/ocaml-modules/react/default.nix +++ b/pkgs/development/ocaml-modules/react/default.nix @@ -1,28 +1,30 @@ -{stdenv, fetchurl, ocaml, findlib, ocaml_oasis}: +{stdenv, fetchurl, ocaml, findlib, opam}: stdenv.mkDerivation { - name = "ocaml-react-0.9.4"; + name = "ocaml-react-1.0.1"; src = fetchurl { - url = http://github.com/dbuenzli/react/archive/v0.9.4.tar.gz; - sha256 = "16k0kx93kd45s7pigkzvirfsbr22xhby0y88y86p473qxzc6ngrm"; + url = "http://erratique.ch/software/react/releases/react-1.0.1.tbz"; + sha256 = "007c9kzl0i6xvxnqj9jny4hgm28v9a1i079q53vl5hfb5f7h1mda"; }; - buildInputs = [ocaml findlib ocaml_oasis]; + unpackCmd = "tar xjf $src"; + buildInputs = [ocaml findlib opam]; createFindlibDestdir = true; - configurePhase = "oasis setup && ocaml setup.ml -configure --prefix $out"; - buildPhase = "ocaml setup.ml -build"; - installPhase = "ocaml setup.ml -install"; + configurePhase = "ocaml pkg/git.ml"; + buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"; + installPhase = '' + opam-installer --script --prefix=$out react.install > install.sh + sh install.sh + ''; - meta = { + meta = with stdenv.lib; { homepage = http://erratique.ch/software/react; description = "Applicative events and signals for OCaml"; - license = stdenv.lib.licenses.bsd3; + license = licenses.bsd3; platforms = ocaml.meta.platforms; - maintainers = [ - stdenv.lib.maintainers.z77z - ]; + maintainers = with maintainers; [ z77z vbmithr ]; }; } diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix new file mode 100644 index 00000000000..10ac88bcb90 --- /dev/null +++ b/pkgs/development/ocaml-modules/zarith/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, ocaml, findlib, pkgconfig, gmp, perl }: + +let + ocaml_version = (builtins.parseDrvName ocaml.name).version; +in +stdenv.mkDerivation rec { + name = "zarith-${version}"; + version = "1.2.1"; + + src = fetchurl { + url = "http://forge.ocamlcore.org/frs/download.php/1199/${name}.tgz"; + sha256 = "0i21bsx41br0jgw8xmlpnky5zamzqkpbykrq0z53z7ar77602s4i"; + }; + + buildInputs = [ ocaml findlib pkgconfig gmp perl ]; + + patchPhase = '' + substituteInPlace ./z_pp.pl --replace '/usr/bin/perl' '${perl}/bin/perl' + ''; + configurePhase = '' + ./configure -installdir $out/lib/ocaml/${ocaml_version}/site-lib + ''; + preInstall = "mkdir -p $out/lib/ocaml/${ocaml_version}/site-lib"; + + meta = { + description = "fast, arbitrary precision OCaml integers"; + homepage = "http://forge.ocamlcore.org/projects/zarith"; + license = stdenv.lib.licenses.lgpl2; + platforms = ocaml.meta.platforms; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/perl-modules/dbix-class-fix-tests.patch b/pkgs/development/perl-modules/dbix-class-fix-tests.patch new file mode 100644 index 00000000000..476a159f621 --- /dev/null +++ b/pkgs/development/perl-modules/dbix-class-fix-tests.patch @@ -0,0 +1,52 @@ +diff --git a/t/multi_create/standard.t b/t/multi_create/standard.t +index 5a02947..6c1efd8 100644 +--- a/t/multi_create/standard.t ++++ b/t/multi_create/standard.t +@@ -444,7 +444,11 @@ throws_ok ( sub { + #$t->cd($t->new_related('cd', { artist => undef } ) ); + #$t->{_rel_in_storage} = 0; + $t->insert; +-}, qr/cd.artist may not be NULL/, "Exception propogated properly"); ++}, qr/DBI Exception.+(?x: ++ \QNOT NULL constraint failed: cd.artist\E ++ | ++ \Qcd.artist may not be NULL\E ++)/s, "Exception propogated properly"); + + lives_ok ( sub { + $schema->resultset('CD')->create ({ +diff --git a/t/relationship/update_or_create_multi.t b/t/relationship/update_or_create_multi.t +index 8710048..c7cce7a 100644 +--- a/t/relationship/update_or_create_multi.t ++++ b/t/relationship/update_or_create_multi.t +@@ -69,7 +69,12 @@ throws_ok { + year => 2020, + title => 'the best thing since sliced bread', + }) +-} qr/\Qcd.artist may not be NULL/, 'ambiguous find + create failed'; ++} qr/DBI Exception.+(?x: ++ \QNOT NULL constraint failed: cd.artist\E ++ | ++ \Qcd.artist may not be NULL\E ++)/s, 'ambiguous find + create failed' ++; + + # expect a create, after a failed search using *only* the + # *current* relationship and the unique column constraints +diff --git a/t/storage/error.t b/t/storage/error.t +index d5980eb..61d6782 100644 +--- a/t/storage/error.t ++++ b/t/storage/error.t +@@ -15,7 +15,11 @@ warnings_are ( sub { + sub { + $schema->resultset('CD')->create({ title => 'vacation in antarctica' }) + }, +- qr/DBI Exception.+cd\.artist.+NULL/s ++ qr/DBI Exception.+(?x: ++ \QNOT NULL constraint failed: cd.artist\E ++ | ++ \Qcd.artist may not be NULL\E ++ )/s + ); # as opposed to some other error + }, [], 'No warnings besides exception' ); + diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix index 54a50a2b71f..3dc64f68129 100644 --- a/pkgs/development/python-modules/pycairo/default.nix +++ b/pkgs/development/python-modules/pycairo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python, pkgconfig, cairo, x11 }: +{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11 }: stdenv.mkDerivation rec { version = "1.10.0"; @@ -13,12 +13,27 @@ stdenv.mkDerivation rec { sha256 = "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"; }; + patches = [(fetchpatch { + url = http://www.linuxfromscratch.org/patches/blfs/svn/pycairo-1.10.0-waf_unpack-1.patch; + sha256 = "1bmrhq2nmhx4l5glvyi59r0hc7w5m56kz41frx7v3dcp8f91p7xd"; + })]; + + patch_waf = fetchpatch { + url = http://www.linuxfromscratch.org/patches/blfs/svn/pycairo-1.10.0-waf_python_3_4-1.patch; + sha256 = "0xfl1i9dips2nykyg91f5h5r3xpk2hp1js1gq5z0hwjr0in55id4"; + }; + buildInputs = [ python pkgconfig cairo x11 ]; - preConfigure = '' - sed -e 's@#!/usr/bin/env python@#!${python.executable}@' -i waf - head waf + + configurePhase = '' + ( + cd $(${python.executable} waf unpack) + pwd + patch -p1 < ${patch_waf} + ) + + ${python.executable} waf configure --prefix=$out ''; - configurePhase = "${python.executable} waf configure --prefix=$out"; buildPhase = "${python.executable} waf"; installPhase = "${python.executable} waf install"; } diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix index 5da727a08db..b203eebf90c 100644 --- a/pkgs/development/python-modules/pycrypto/default.nix +++ b/pkgs/development/python-modules/pycrypto/default.nix @@ -11,9 +11,11 @@ buildPythonPackage rec { buildInputs = [ gmp ]; + doCheck = !stdenv.isDarwin; # error: AF_UNIX path too long + meta = { homepage = "http://www.pycrypto.org/"; description = "Python Cryptography Toolkit"; - platforms = stdenv.lib.platforms.gnu; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix index 903db3e252c..94de33f0d50 100644 --- a/pkgs/development/python-modules/pygobject/3.nix +++ b/pkgs/development/python-modules/pygobject/3.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo }: - + stdenv.mkDerivation rec { - name = "pygobject-3.10.2"; + name = "pygobject-3.12.1"; src = fetchurl { - url = "mirror://gnome/sources/pygobject/3.10/${name}.tar.xz"; - sha256 = "75608f2c4052f0277508fc79debef026d9e84cb9261de2b922387c093d32c326"; + url = "mirror://gnome/sources/pygobject/3.12/${name}.tar.xz"; + sha256 = "0dfsjsa95ix8bx3h8w4bhnz7rymgl2paclvbn93x6qp8b53y0pys"; }; buildInputs = [ python pkgconfig glib gobjectIntrospection pycairo cairo ]; diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix index dfe805ec9e4..7d3804d264a 100644 --- a/pkgs/development/python-modules/pygtk/default.nix +++ b/pkgs/development/python-modules/pygtk/default.nix @@ -2,11 +2,11 @@ , buildPythonPackage, libglade ? null }: buildPythonPackage rec { - name = "pygtk-2.22.0"; + name = "pygtk-2.24.0"; src = fetchurl { - url = "mirror://gnome/sources/pygtk/2.22/${name}.tar.bz2"; - sha256 = "4acf0ef2bde8574913c40ee4a43d9c4f43bb77b577b67147271b534501a54cc8"; + url = "mirror://gnome/sources/pygtk/2.24/${name}.tar.bz2"; + sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d"; }; buildInputs = [ pkgconfig ] diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix index df95e56377d..552def7241b 100644 --- a/pkgs/development/python-modules/pylint/default.nix +++ b/pkgs/development/python-modules/pylint/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, pythonPackages }: pythonPackages.buildPythonPackage rec { - name = "pylint-0.28.0"; + name = "pylint-1.2.1"; namePrefix = ""; src = fetchurl { - url = "http://download.logilab.org/pub/pylint/${name}.tar.gz"; - sha256 = "1077hs8zpl1q5yc6wcg645nfqc4pwbdk8vjcv0qrldbb87f3yv7a"; + url = "https://pypi.python.org/packages/source/p/pylint/${name}.tar.gz"; + sha256 = "0q7zj5hgmz27wifhcqyaddc9yc5b2q6p16788zzm3da6qshv7xk3"; }; - propagatedBuildInputs = [ pythonPackages.logilab_astng ]; + propagatedBuildInputs = with pythonPackages; [ astroid ]; postInstall = '' mkdir -p $out/share/emacs/site-lisp diff --git a/pkgs/development/python-modules/virtualenv-change-prefix.patch b/pkgs/development/python-modules/virtualenv-change-prefix.patch index d3e588bd1cd..958187f982f 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/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix new file mode 100644 index 00000000000..2c48adc558b --- /dev/null +++ b/pkgs/development/r-modules/cran-packages.nix @@ -0,0 +1,5566 @@ +/* This file defines the composition for CRAN (R) packages. + + It was generated automatically by the following R program: + + | library(data.table) + | library(parallel) + | cl <- makeCluster(10) + | + | nixPrefetch <- function(name, version) { + | system(paste0("nix-prefetch-url 2>/dev/null http://cran.rstudio.com/src/contrib/", name, "_", version, ".tar.gz"), intern=TRUE) + | } + | + | formatPackage <- function(name, version, sha256, depends, imports, knownPackages) { + | attr <- gsub(".", "_", name, fixed=TRUE) + | if (is.na(depends)) depends <- ""; + | depends <- unlist(strsplit(depends, split="[ \t\n]*,[ \t\n]*", fixed=FALSE)) + | depends <- c(depends, unlist(strsplit(imports, split="[ \t\n]*,[ \t\n]*", fixed=FALSE))) + | depends <- sapply(depends, gsub, pattern="([^ \t\n(]+).*", replacement="\\1") + | depends <- depends[depends %in% knownPackages] + | depends <- sapply(depends, gsub, pattern=".", replacement="_", fixed=TRUE) + | depends <- paste(depends, collapse=" ") + | paste0(attr, " = derive { name=\"", name, "\"; version=\"", version, "\"; sha256=\"", sha256, "\"; depends=[", depends, "]; };") + | } + | + | clusterExport(cl, c("nixPrefetch")) + | + | pkgs <- as.data.table(available.packages(filters=c("R_version", "OS_type", "CRAN", "duplicates"))) + | pkgs <- subset(pkgs, Repository=="http://cran.rstudio.com/src/contrib") + | pkgs$sha256 <- parApply(cl, pkgs, 1, function(p) nixPrefetch(p[1], p[2])) + | knownPackages <- unique(pkgs$Package) + | + | nix <- apply(pkgs, 1, function(p) formatPackage(p[1], p[2], p[18], p[4], p[5], knownPackages)) + | cat(paste(nix, collapse="\n"), "\n", file="/tmp/r-packages.nix") +*/ + +{ pkgs, overrides }: + +let + + inherit (pkgs) R fetchurl stdenv; + + buildRPackage = import ./generic-builder.nix R; + + derive = { name, version, sha256, depends ? [] }: buildRPackage { + name = "${name}-${version}"; + src = fetchurl { + url = "mirror://cran/src/contrib/${name}_${version}.tar.gz"; + inherit sha256; + }; + propagatedBuildInputs = depends; + meta.homepage = "http://cran.r-project.org/web/packages/${name}/"; + meta.hydraPlatforms = R.meta.hydraPlatforms; + }; + +in + +let self = _self // overrides; _self = with self; { + + RcppArmadillo = buildRPackage { + name="RcppArmadillo-0.4.300.0"; + src = fetchurl { + url = "mirror://cran/src/contrib/RcppArmadillo_0.4.300.0.tar.gz"; + sha256="01xsj98sgidlv47bswwaa41kqaz6k6yy57pssr1rkicnf5xg7abj"; + }; + propagatedBuildInputs = [Rcpp]; + patchPhase = "patchShebangs configure"; + }; + + A3 = derive { name="A3"; version="0.9.2"; sha256="01s7znhph2mr3snpscci3y7nbcisa6kg6hy7im3742r6ah0z3jv7"; depends=[xtable pbapply]; }; + abc = derive { name="abc"; version="1.8"; sha256="042hnhk8npx6rhbsmrdpz4gcczjg5sy665hzvwqvcw8a6836fd1n"; depends=[nnet quantreg MASS]; }; + abcdeFBA = derive { name="abcdeFBA"; version="0.4"; sha256="1rxjripy8v6bxi25vdfjnbk24zkmf752qbl73cin6nvnqflwxkx4"; depends=[Rglpk rgl corrplot lattice]; }; + ABCExtremes = derive { name="ABCExtremes"; version="1.0"; sha256="032bc9a6cxy4war95n8v4vaax3q96k2wryjbcipi3z55b2l8hdny"; depends=[SpatialExtremes combinat]; }; + ABCoptim = derive { name="ABCoptim"; version="0.13.11"; sha256="1j2pbfl5g9x71gq9f7vg6wznsds8sn8dj3q2h5fhjcv58di3gjhl"; depends=[]; }; + ABCp2 = derive { name="ABCp2"; version="1.1"; sha256="0s0lbwlc8nycm7b8vx0v01f8dmy91r1zqcj9zgrlj7dnpg4cpkml"; depends=[MASS]; }; + abctools = derive { name="abctools"; version="0.2-2"; sha256="00i1lnnzyry1xj8pgx977j9fp0zmy6nmpr93jb18nq1r5mbagp0n"; depends=[abc abind pls plyr]; }; + abd = derive { name="abd"; version="0.2-6"; sha256="0nlqgjmzpn715kg7pb4zz3rcrf11zd4inj7gam8mr8faf4b5qq2w"; depends=[nlme lattice mosaic]; }; + abf2 = derive { name="abf2"; version="0.7-0"; sha256="0ybl7w8sjfghy8svbxj01q5ldfi05g1r24q9ah1nfca8xzby410n"; depends=[]; }; + abind = derive { name="abind"; version="1.4-0"; sha256="0s7m7wv23z485fc0nb61svcszx0skxl3m8kiilrj506ndazk95hv"; depends=[]; }; + abn = derive { name="abn"; version="0.83"; sha256="12nhk7hb26285pyyppl5289m7y8zvssnriyj84hlnz0ykar66mpi"; depends=[]; }; + abundant = derive { name="abundant"; version="1.0"; sha256="0n2yvq057vq5idi7mynnp15cbsijyyipgbl4p7rqfbbgpk5hy3qb"; depends=[QUIC]; }; + accelerometry = derive { name="accelerometry"; version="2.2.1"; sha256="1ivwb60vj35radl4vdaqlv2amxrp4rns38x19hhffzw498rj7mxp"; depends=[Rcpp]; }; + AcceptanceSampling = derive { name="AcceptanceSampling"; version="1.0-3"; sha256="1camxmvz8prkvpf3d3rc07bnfphakwdlickqlr4sgzrs4k27rr4f"; depends=[]; }; + ACCLMA = derive { name="ACCLMA"; version="1.0"; sha256="1na27sp18fq12gp6vxgqw1ffsz2yi1d8xvrxbrzx5g1kqxrayy0v"; depends=[]; }; + accrual = derive { name="accrual"; version="1.0"; sha256="0gw418i9nlrm7nkg6d4m2icd4a04a7avqfjj7nidhl6vy4nflg3k"; depends=[fgui SMPracticals]; }; + accrued = derive { name="accrued"; version="1.0"; sha256="1prrsb7w0pppyc3j3y08pvdgna0h4hmb31sqjll32smxcav6pfvg"; depends=[]; }; + ACD = derive { name="ACD"; version="1.5.3"; sha256="1a67bi3hklq8nlc50r0qnyr4k7m9kpvijy8sqqpm54by5hsysfd6"; depends=[]; }; + Ace = derive { name="Ace"; version="0.0.8"; sha256="0zjg6xwzd2lc555rviaq60rb1fq9vdf8cdazlf3c9m0i1pvz990i"; depends=[]; }; + acepack = derive { name="acepack"; version="1.3-3.3"; sha256="17xfxjflc79y15hnrks3wina5irrggrxb9al9h5q0x1c401ds843"; depends=[]; }; + acer = derive { name="acer"; version="0.1.2"; sha256="17x7281m2wa6a1pcga3xarg3infw5vygr7z068h8pqm30ix34ky4"; depends=[Rcpp]; }; + aCGH_Spline = derive { name="aCGH.Spline"; version="2.2"; sha256="1ll045qgwl1170a4x93vj1xrn197l5ds648qasxlpnsm1a6svwas"; depends=[rJava]; }; + acm4r = derive { name="acm4r"; version="1.0"; sha256="1wqzc35i1rshx0zlmas8y4qkkvy6h9r4i4apscjjv1xg2wjflzxa"; depends=[MASS]; }; + ACNE = derive { name="ACNE"; version="0.7.0"; sha256="137xp69adhggz1wxzm5r95vcphrlrqpxsrz0gny59isx4xr28aal"; depends=[aroma_affymetrix MASS R_methodsS3 R_oo R_utils matrixStats R_filesets]; }; + acopula = derive { name="acopula"; version="0.9.2"; sha256="1z8bs4abbfsdxfpbczdrf1ma84bmh7akwx2ki9070zavrhbf00cf"; depends=[]; }; + aCRM = derive { name="aCRM"; version="0.1.1"; sha256="0kzp568hd9c9a9qgniia5s5gv0q5f89xfvvwpzb197gqhs3x092v"; depends=[dummies randomForest kernelFactory ada]; }; + acs = derive { name="acs"; version="1.2"; sha256="1vw4ghqcz53m3qy7hy2j7nrdinbbqjpwvr1hsvglq31fq7wss3bd"; depends=[stringr plyr XML]; }; + acss = derive { name="acss"; version="0.1-1"; sha256="16y0g6vwbgsqaafm8l8h49ijs2jmz4595k0h7yndkcn5x0xaj8ig"; depends=[acss_data zoo]; }; + acss_data = derive { name="acss.data"; version="1.0"; sha256="09kl4179ipr8bq19g89xcdi1xxs397zcx5cvgp6viy8gn687ilgv"; depends=[]; }; + ACTCD = derive { name="ACTCD"; version="1.0-0"; sha256="0zn8f6l5vmn4w1lqjnpcxvfbr2fhwbhdjx4144h3bk71bk9raavl"; depends=[R_methodsS3]; }; + Actigraphy = derive { name="Actigraphy"; version="1.2"; sha256="02xxmzjqym46q0fzddmy29i8la9knrna3b46y8849nmbpqvmp3qn"; depends=[fda lattice SDMTools]; }; + actuar = derive { name="actuar"; version="1.1-6"; sha256="0f0zvk4a3rni656jfml2nqb3h3amks3g4aczp8j2x01ywwmazqr9"; depends=[]; }; + ActuDistns = derive { name="ActuDistns"; version="3.0"; sha256="04rff9czcgac80clpv32a1dl0jbyvfsa7wqxyywgk99w672x50i2"; depends=[reliaR actuar hypergeo]; }; + ada = derive { name="ada"; version="2.0-3"; sha256="1c0nj9k628bcl4r8j0rmyp5f1igdjq6qhjxyif6575fvn2gdzmbw"; depends=[rpart]; }; + adabag = derive { name="adabag"; version="3.2"; sha256="1ijr5i5p8sf2cq7cgiwh0qk3c4wxagk6r06a2vrjy76d262m1060"; depends=[rpart mlbench caret]; }; + adagio = derive { name="adagio"; version="0.5.9"; sha256="1yp9w557advb7dzrdqwkffpdmhn6mk4879lrrjd0d6kv89fwz5yr"; depends=[]; }; + AdapEnetClass = derive { name="AdapEnetClass"; version="1.0"; sha256="0m8wg515djdpkq5lv8nkcny9s2iq9ym092jd99nysazqw0qy6a8r"; depends=[imputeYn glmnet lars]; }; + AdaptFit = derive { name="AdaptFit"; version="0.2-2"; sha256="124lj1sq5cbp35z4ybkc7ci3fi6pgf8pc5k9mpqmyb6dj870q836"; depends=[SemiPar MASS nlme cluster]; }; + AdaptFitOS = derive { name="AdaptFitOS"; version="0.50"; sha256="034qmx4jd5j7al9jnnc4whz9a5wa4hc2fkaci50ndm55agpk1h8w"; depends=[SemiPar nlme MASS mgcv]; }; + AdaptiveSparsity = derive { name="AdaptiveSparsity"; version="1.4"; sha256="1az7isvalf3kmdiycrfl6s9k9xqk22k1mc6rh8v0jmcz402qyq8z"; depends=[Rcpp]; }; + adaptivetau = derive { name="adaptivetau"; version="2.0"; sha256="0hp09wna5aqz9xq0nyymk91y4acrqzlg4isx4vpcfy5dnhmazgz6"; depends=[]; }; + adaptMCMC = derive { name="adaptMCMC"; version="1.1"; sha256="1y1qxn3qm59nyy9ld5x30p452yam7b2fyl236b14xvpm8g3xx1fa"; depends=[coda Matrix]; }; + adaptsmoFMRI = derive { name="adaptsmoFMRI"; version="1.1"; sha256="1h79gh1bd6s2xhwf4whh72wf2cz4di2p8dnlf6192mfg108qc6nw"; depends=[Matrix coda mvtnorm MCMCpack spatstat]; }; + adaptTest = derive { name="adaptTest"; version="1.0"; sha256="08d7a5dlzhaj236jvaw3c91008l66vf5i4k5anhcs32a3j8yh2iv"; depends=[lattice]; }; + additivityTests = derive { name="additivityTests"; version="1.1-2"; sha256="0ijk91whhsb7nm1ax9wpfw9qgxfb1bvg2cq939m81gvk09kzrvgz"; depends=[]; }; + ade4 = derive { name="ade4"; version="1.6-2"; sha256="0h136nhfqrapwscm3c7frlcynrfxb9x8gmd1s44gaa8m25rjgdqf"; depends=[]; }; + ade4TkGUI = derive { name="ade4TkGUI"; version="0.2-6"; sha256="010ggsxcmljh0cdba4lcfnsd9r49pwqs6kbw88syfn2qv65hh5kq"; depends=[ade4]; }; + adegenet = derive { name="adegenet"; version="1.4-1"; sha256="0xfyck7p6261vv2k21z123q13v0bw10rs9x9v3afx5vf6zxnvs4f"; depends=[ade4 MASS igraph ape shiny ggplot2]; }; + adehabitat = derive { name="adehabitat"; version="1.8.14"; sha256="048jp9408x80akfnxqpyhhlzl2f89axsc90vr8cgqkimlg6h6xjh"; depends=[ade4 tkrplot shapefiles sp]; }; + adehabitatHR = derive { name="adehabitatHR"; version="0.4.11"; sha256="1llpmpfax9846v3s2finyq9x97hyi87148jx83phzjl7daag3qn1"; depends=[sp deldir ade4 adehabitatMA adehabitatLT]; }; + adehabitatHS = derive { name="adehabitatHS"; version="0.3.9"; sha256="0jv7470z1m219q5paw8cglx3d5l99iagkpm24v6q0xgdffvcq94l"; depends=[sp ade4 adehabitatMA adehabitatHR]; }; + adehabitatLT = derive { name="adehabitatLT"; version="0.3.15"; sha256="046mzhn2h1lnr0ph4r5w7bw6sdndyjxjr64yknjbilg80332njlx"; depends=[sp ade4 adehabitatMA CircStats]; }; + adehabitatMA = derive { name="adehabitatMA"; version="0.3.8"; sha256="1j3ngry7qyhl4p5m02bgdynixb0v9hd5nbjs6ndfqw23layh8yig"; depends=[sp]; }; + adephylo = derive { name="adephylo"; version="1.1-6"; sha256="1sk639gmk3cs711xn68mx18r28kjd1pychcg89qlki03y1hnxg7j"; depends=[ade4 phylobase ape adegenet]; }; + AdequacyModel = derive { name="AdequacyModel"; version="1.0.8"; sha256="1bpb6lwgkh5g82h4yaf5dh2jbl6f0vz36k22538rhb3kdld6w0i3"; depends=[]; }; + ADGofTest = derive { name="ADGofTest"; version="0.3"; sha256="0ik817qzqp6kfbckjp1z7srlma0w6z2zcwykh0jdiv7nahwk3ncw"; depends=[]; }; + adhoc = derive { name="adhoc"; version="1.0"; sha256="193adddarjkc2kk1xncfkm919s1lkmc1yzgyz9793p74nqmfsj0a"; depends=[spider ape polynom]; }; + adimpro = derive { name="adimpro"; version="0.7.8"; sha256="06zwdgl7g4azg2mn7p35may8hsjcvf2dz7dj86zqngjspda123s4"; depends=[]; }; + adlift = derive { name="adlift"; version="1.3-2"; sha256="0nzg16vhm5qg3xzczi3f6cynvp9ym2jsfrc4fdyxq7bwp9kry2i4"; depends=[EbayesThresh]; }; + ADM3 = derive { name="ADM3"; version="1.3"; sha256="1hg9wjdhckilqd13dr4cim4j6jsh2sdwm18i3pfmfdj8cyswm3h0"; depends=[]; }; + AdMit = derive { name="AdMit"; version="2.0.1"; sha256="0bqzq2pf5449qyr8ff5d3sq0lbsph29ppv6zzf1rbjz06sc5d6ff"; depends=[mvtnorm]; }; + ads = derive { name="ads"; version="1.5-2.1"; sha256="1jwgk48qypg36v53kj7wy5rcz059p1qg8awm3nf7xngrb2zff6h3"; depends=[ade4 spatstat]; }; + AER = derive { name="AER"; version="1.2-2"; sha256="0ny9khzqxzx4npaqmknhpi3aldz11ipg71zw4skxphclamlsgp86"; depends=[car lmtest sandwich survival zoo Formula]; }; + afex = derive { name="afex"; version="0.9-109"; sha256="01wwlab77jaalr6a10bp8rklqk54jrzxacxlwpp9n6gf6pqzdpmv"; depends=[car lme4 pbkrtest reshape2 stringr coin Matrix]; }; + AFLPsim = derive { name="AFLPsim"; version="0.3-3"; sha256="1vknmd98v65118c093gqpfckcggnk4c8rn6bblsaclwmx0jdi78s"; depends=[adegenet introgress]; }; + aftgee = derive { name="aftgee"; version="0.4-3"; sha256="0r1fq3n28hfkdih6a2nyz5vy832fsxxs0fr2zlml6cikpbay8zqx"; depends=[MASS BB survival geepack]; }; + AGD = derive { name="AGD"; version="0.30"; sha256="175hsii3g8vx5ms552wnh1hcn3p6hgfggv1zi5gpwlsc0i875iag"; depends=[gamlss]; }; + agop = derive { name="agop"; version="0.1-3"; sha256="02yc7n8avg69750cnc1prvp2fnz964sfc7vggxfyyqrig9q5ppyq"; depends=[Matrix igraph]; }; + agRee = derive { name="agRee"; version="0.2-2"; sha256="0d4cfmqqxjdqidiwrrs83386qqxz80px3v9ikfv9s6xq2v7zz5ys"; depends=[miscF]; }; + Agreement = derive { name="Agreement"; version="0.8-1"; sha256="1g29rxr8xsr0dh2r6c6j2bqs0q6snz9wz0hrnb92cxj27ili55yq"; depends=[R2HTML]; }; + agricolae = derive { name="agricolae"; version="1.1-8"; sha256="0a70ngilbnmhlhd8a6s7r41bamhcjxzjzpmw910r3y6s6338hrbf"; depends=[]; }; + agridat = derive { name="agridat"; version="1.8"; sha256="12cw7hp7bjcw0zy4gbihc8w82ak36548jdk4i0b2dck6sl78004g"; depends=[lattice reshape2]; }; + agrmt = derive { name="agrmt"; version="1.31"; sha256="0s0av1fg9aswkyj1vzr6fng53r5cnkfb3x0n46zrkb1fgb5fwdgm"; depends=[]; }; + AGSDest = derive { name="AGSDest"; version="2.1"; sha256="1l36x3sjb0732aic2y4yrvx64phii1xjfzr4nc3x9b2crr988n0g"; depends=[ldbounds]; }; + ahaz = derive { name="ahaz"; version="1.14"; sha256="1z7w5rxd5cya7kxhgxqvn72k87y33ginxra9g7j9wrfs5jgx6kvx"; depends=[survival Matrix]; }; + AICcmodavg = derive { name="AICcmodavg"; version="1.35"; sha256="1hxldkvyvfk10a50vw26xwsbq3wl5r92abqlpdp7vsla4ff72x39"; depends=[]; }; + AID = derive { name="AID"; version="1.4"; sha256="1wj2jmqla0b2y9hrvl5i69bncdx1xjdd7if69j6dy1dnxv6clx1z"; depends=[MASS tseries nortest]; }; + aidar = derive { name="aidar"; version="1.0.0"; sha256="01vs14bz4k504q5lx65b60kyi7hgvjdmib8igiipjmg4snwh8hdk"; depends=[XML]; }; + AIM = derive { name="AIM"; version="1.01"; sha256="11lkfilxk265a7jkc1wq5xlgxa56xhg302f1q9xb7gmjnzdigb21"; depends=[survival survival]; }; + akima = derive { name="akima"; version="0.5-11"; sha256="17n7iiwybwanvm5mflb1f2xx1gnw1pcmfsnl1f82afixpalbs0gh"; depends=[]; }; + akmeans = derive { name="akmeans"; version="1.0"; sha256="1z2a4k419qq4vkl0zx7hnn5vka6vwh9k6ir89ldvwyi849b1nnxv"; depends=[]; }; + alabama = derive { name="alabama"; version="2011.9-1"; sha256="05c1a8707akwy39n2gjg3ahdp9xdkl18a32wdchw60f0h4ixqfdi"; depends=[numDeriv]; }; + aLFQ = derive { name="aLFQ"; version="1.3.1"; sha256="0i351xa5x3sn0li5qway0wjhifvf9jfjb7hxk5vw13gzn0cq9sd5"; depends=[data_table plyr caret seqinr]; }; + AlgDesign = derive { name="AlgDesign"; version="1.1-7.2"; sha256="1c0hxg02dzjnns6awwsfaa5sc00x4zkc5jmsdz5vssjkliviwm9k"; depends=[]; }; + algstat = derive { name="algstat"; version="0.0.0"; sha256="0g1bylrwfigh2wb005iais5blrz95asq9dizp1jbqgiyxqfbd1g4"; depends=[mpoly stringr reshape2 Rcpp]; }; + ALKr = derive { name="ALKr"; version="0.5.3.1"; sha256="09df3vx2q0sn8fwz2cc9lckzwrf2hgbglzyn376d6nkrm6gq792a"; depends=[MASS Rcpp]; }; + allan = derive { name="allan"; version="1.01"; sha256="02bv9d5ywbq67achfjifb3i7iiaaxa8r9x3qvpri2jl1cxnlf27m"; depends=[biglm]; }; + allanvar = derive { name="allanvar"; version="1.0"; sha256="0wpywdr15gb49m9kxrpjfsxlxrm4hwm46x42k8dgc6sihfsqbm22"; depends=[gplots]; }; + allelematch = derive { name="allelematch"; version="2.03"; sha256="1dmalyljsmf7njr6fj8bcjii13swvh89dj3r1mp2xxf1r0p6jry8"; depends=[dynamicTreeCut]; }; + AlleleRetain = derive { name="AlleleRetain"; version="1.3.1"; sha256="1k2iwns1wk5n02cii6p9prgdb6asys3vwiq5dq2i26fk2xr6j4gq"; depends=[]; }; + allelic = derive { name="allelic"; version="0.1"; sha256="0xs4kd3vqb5ph8kqc3lcqgirrdkz8b627pvnczvci2g0sr3cl18j"; depends=[]; }; + AllPossibleSpellings = derive { name="AllPossibleSpellings"; version="1.1"; sha256="0ksfm2pfjka3yjgcd257v7sns1niaylsfxvhhh2jwdi016cpdw10"; depends=[]; }; + alm = derive { name="alm"; version="0.1.6"; sha256="148sbp87dz963xq1lzm1hrg0201pba5fqfk3wh2v7zqz4qfji1i8"; depends=[ggplot2 RCurl plyr stringr reshape reshape2 httr RJSONIO lubridate]; }; + alphahull = derive { name="alphahull"; version="1.0"; sha256="0k3n9l4vbvpmdb4m37y1ynsiv27l8b5fmm6l35sazlfbbinhzwc1"; depends=[tripack sgeostat splancs]; }; + alphashape3d = derive { name="alphashape3d"; version="1.0-4"; sha256="029j5zwg34hqp21d7w3k89i10sslrs7xiwckk8wc9cikvr1fr79h"; depends=[geometry rgl]; }; + alr3 = derive { name="alr3"; version="2.0.5"; sha256="0zrrsv2kjq3cky3bhk6gp32p1qpr1i5k2lx7c1w08bql0nb1x740"; depends=[car]; }; + alr4 = derive { name="alr4"; version="1.0.3"; sha256="1m73b626fljfs96wvv1v627v48qilq5dyi5clqn8b4a5lyjjs2mg"; depends=[car effects]; }; + ALS = derive { name="ALS"; version="0.0.5"; sha256="1ryviknpf7c0v20bmc40khhmx51b83hbh9q9iwz9d694by51xryc"; depends=[nnls Iso]; }; + ALSCPC = derive { name="ALSCPC"; version="1.0"; sha256="0ippxzq5qwb9dnpvm1kxhc0fxh83rs9ny5rcvd30w2bp632q9qdx"; depends=[]; }; + amap = derive { name="amap"; version="0.8-12"; sha256="0z7c5lrwqvjcnjm48zq2ifyx089fabvwf1zz17qlxq44i8xzpx8j"; depends=[]; }; + AMAP_Seq = derive { name="AMAP.Seq"; version="1.0"; sha256="0z0rrzps6rm58k4m1ybg77s3w05m5zfya4x8ril78ksxsjwi3636"; depends=[]; }; + amei = derive { name="amei"; version="1.0-7"; sha256="0dyx6a1y5i0abwka0y89d0mpj55rm5ywb4r9c2mqmy43djp181hn"; depends=[]; }; + Amelia = derive { name="Amelia"; version="1.7.2"; sha256="1zmaqnjqam8f4spdgy9gfvd5r0a48amvlsqdpdq9zwn7sq7702jj"; depends=[foreign Rcpp RcppArmadillo]; }; + amen = derive { name="amen"; version="0.999"; sha256="1p9ma31bzrxylcgi43nk44bq0cg4xgk9fzmxw2dpqz33x4xlrfiq"; depends=[]; }; + AmericanCallOpt = derive { name="AmericanCallOpt"; version="0.95"; sha256="1nhy44j5bmmjsp6g79nrn741rzzxikhdnxk4wwbdj9igcc1bs573"; depends=[]; }; + AMGET = derive { name="AMGET"; version="1.0"; sha256="18wdzzg5wr7akbd1iasa4mvmy44fb2n5gpghwcrx80knnicy3dxq"; depends=[]; }; + aml = derive { name="aml"; version="0.1-1"; sha256="09xxlxp784wlb561apns3j8f2h9pfk497cy5pk8wr4hhqqv4d3al"; depends=[lars]; }; + AMOEBA = derive { name="AMOEBA"; version="1.0"; sha256="0iaznr19hdi40mkj82ai4r83b8whvvzmbiba0kwkp2g8g38a5brk"; depends=[snowfall rlecuyer spdep]; }; + AMORE = derive { name="AMORE"; version="0.2-15"; sha256="00zfqcsah2353mrhqkv8bbh24l8gaxk4y78icr9kxy4pqb2988yz"; depends=[]; }; + AmpliconDuo = derive { name="AmpliconDuo"; version="1.0"; sha256="0l6p5c2802a1f3b77cdrrk3wdf41926mh34630p462fb3wqipps0"; depends=[ggplot2 xtable]; }; + anacor = derive { name="anacor"; version="1.0-4"; sha256="13f5cnna7vdimv4mxmjj21alxjzi1rk0hksajfy2m0b3yn2vl612"; depends=[rgl scatterplot3d fda colorspace car]; }; + anaglyph = derive { name="anaglyph"; version="0.1-1"; sha256="1a9c7rl7r2sgl230mcwqnmxjqba8skycdhi09i834qaw2h9qd4k5"; depends=[]; }; + analogue = derive { name="analogue"; version="0.12-0"; sha256="16bdrvhk4ivq43lfl7pncrwzjdsvwqj8d3j2krskmpdh9qc3sq65"; depends=[vegan lattice rgl mgcv MASS brglm princurve]; }; + AnalyzeFMRI = derive { name="AnalyzeFMRI"; version="1.1-16"; sha256="1mbjb682ns5230jd3vcvd6x4gnn9hpbmjd7r8120y4sp2g733b0f"; depends=[R_matlab fastICA]; }; + anametrix = derive { name="anametrix"; version="1.6"; sha256="14xrrnvz7jn1jqds48l5pvzlx6hsaxrjc932lqnvv70sfypinjkm"; depends=[RCurl XML pastecs]; }; + anapuce = derive { name="anapuce"; version="2.2"; sha256="0qs27as628090k3sq5b14l90g7qdp23d0jz5lb1wxsgi3ji0f7qj"; depends=[]; }; + AncestryMapper = derive { name="AncestryMapper"; version="1.1"; sha256="0nc9iacdgmdda9d9ga9mn0dvmv8d1571sblifqdrz35p5yl7fr0g"; depends=[]; }; + anchors = derive { name="anchors"; version="3.0-8"; sha256="12gd2526y7s2a8i6b9xma2c3sc6zxnwzl6sn8b50hbxizwr8d34j"; depends=[rgenoud MASS]; }; + AnDE = derive { name="AnDE"; version="1.0"; sha256="1yil8ab50wvlqmdla9kmfba8vfgy5r694r6igb58s6vnmld78yf2"; depends=[discretization functional foreign stringr]; }; + andrews = derive { name="andrews"; version="1.0"; sha256="130i86qkdy1xpcf611jpzqgmd17iik7j7spdcfwzk48f31biyp8v"; depends=[]; }; + anesrake = derive { name="anesrake"; version="0.70"; sha256="17127rmjfrdwnr2m6205cci3b0kd9girp82qranxwac4mgb7p7ld"; depends=[Hmisc]; }; + Animal = derive { name="Animal"; version="1.04"; sha256="0hahvq1x81s0qmr58jv6q96jnc8lzn4ycljd8adhpgsx3wn8s7mq"; depends=[]; }; + animalTrack = derive { name="animalTrack"; version="1.0.0"; sha256="0jlvfflpaq64s48sblzh1n1vx8g3870iss97whigri29s6hn79ry"; depends=[rgl]; }; + animation = derive { name="animation"; version="2.2"; sha256="0dg754hrbba4k69pd1k85ailiyzm7cc59dcjs3w6gbgy5l605qqa"; depends=[MASS]; }; + ANN = derive { name="ANN"; version="0.1.4"; sha256="06cgbjybp731bxsv0y3fm3dsl0lzlgm6rqjmni1r3bjp60pjxdxl"; depends=[]; }; + AnnotLists = derive { name="AnnotLists"; version="1.2"; sha256="1g2khb2ggniwg2zcjamsm3bxyrl2zabvk540b5vyy9am9k83m1g9"; depends=[]; }; + anoint = derive { name="anoint"; version="1.3"; sha256="0hwvwd6ghxhkfymf124igski8l98k29pj3ahi5mflm8gv0qan92g"; depends=[survival glmnet MASS]; }; + anominate = derive { name="anominate"; version="0.4"; sha256="00cqwlka33aqr3jks1fsxizwdlrfmv5w5bpnkzknhgz70l60h38n"; depends=[wnominate oc pscl MCMCpack]; }; + ant = derive { name="ant"; version="0.0-10"; sha256="00fmjkkp4ml8kgx90918l36amzr29a9cw756k4z64dd4gdv9s25p"; depends=[rJava]; }; + AnthropMMD = derive { name="AnthropMMD"; version="0.9.9"; sha256="10wn0fkcli5yz3fhngsz8sg1mfllqkvjrpjggd9qynay2zrpiw1n"; depends=[tcltk2]; }; + Anthropometry = derive { name="Anthropometry"; version="1.0"; sha256="1cvq06hyxcgg95n21bi22csdgc6l6av78bvz7r7qdsl7wffddk0w"; depends=[shapes rgl archetypes nnls depth FNN ICGE cluster]; }; + antitrust = derive { name="antitrust"; version="0.93"; sha256="1ria3ybar84gclqpc5hmigl84m59ajkb75rbmjr5fs8244j6szif"; depends=[MASS evd BB numDeriv ggplot2]; }; + AntWeb = derive { name="AntWeb"; version="0.6.1"; sha256="1m4r7zx6mmxwdf1ldwmqad2lzc9kw150l0b3z2994nvcx36r4cj4"; depends=[rjson plyr assertthat httr leafletR]; }; + aod = derive { name="aod"; version="1.3"; sha256="1a6xs5d5289w69xd2salsxwikjjhjzvsnplqrq78b1sr6kzfyxz3"; depends=[]; }; + aods3 = derive { name="aods3"; version="0.4-1"; sha256="074c16wmgd1vc2yvwx1y84bg55hvmm5yi8zgpwh51jcsbqlhbpgn"; depends=[lme4 boot]; }; + AOfamilies = derive { name="AOfamilies"; version="1.01"; sha256="0v3b83k12lsrdcrkjl2ff38d0g8sbrnm5pmm9xphyrk3lfgap76k"; depends=[lqmm quantreg]; }; + aoristic = derive { name="aoristic"; version="0.4"; sha256="114vhh5sxa7m900w1l0xzqp8n6kfqbvhq0fynlxdll6dbh9gg3gm"; depends=[ggplot2 spatstat GISTools lubridate classInt reshape2]; }; + apcluster = derive { name="apcluster"; version="1.3.3"; sha256="0ly4crmkg0v2dilk54ipbh15gmqchddbdl40rjlzs31vcn3clwkp"; depends=[Rcpp]; }; + ape = derive { name="ape"; version="3.1-1"; sha256="0vywi5a8hmpc6wphzxvnlln1sffsbkcrwxw26mcagaq4hzc8fbr0"; depends=[nlme lattice]; }; + aplpack = derive { name="aplpack"; version="1.2.9"; sha256="024q0vsimhr3cj4fz2x10hf7mm89psn8f04j013qas7wdsixkswk"; depends=[]; }; + apmsWAPP = derive { name="apmsWAPP"; version="1.0"; sha256="1azgif06dsbadwlvv9nqs8vwixp6balrrbpj62khzmv1jvqr4072"; depends=[seqinr gtools]; }; + appell = derive { name="appell"; version="0.0-4"; sha256="0g7pzhxqgscnyf07xycbrpyimp1z1hljgcr3nqigpx09w7zi5wlw"; depends=[]; }; + apple = derive { name="apple"; version="0.3"; sha256="194z2f6hwdjjxdkjwlmfhpfp26p9yp3gparklhdbb6zlb4a9nnhz"; depends=[MASS]; }; + AppliedPredictiveModeling = derive { name="AppliedPredictiveModeling"; version="1.1-5"; sha256="1kcgr1kf4fjhr2skmjp4cdky5093xwm17z46zywimksc94j8aa83"; depends=[CORElearn MASS plyr reshape2]; }; + approximator = derive { name="approximator"; version="1.2-6"; sha256="165qvx5946wkv1qsgbmjhmwvik7m23r1vbpnp7claylflgj1ycnm"; depends=[emulator]; }; + aprof = derive { name="aprof"; version="0.1"; sha256="1lqbcm9b4hc03nrjg5szpyl7dgxx5xlrx65x9hnj1f6b6g0vvv18"; depends=[]; }; + APSIMBatch = derive { name="APSIMBatch"; version="0.1.0.2374"; sha256="0j44ijq1v1k60lka9nmw8m1jfjw7pidny9bvswqy5v82gzmwl29d"; depends=[]; }; + apsrtable = derive { name="apsrtable"; version="0.8-8"; sha256="1qmm89npjgqij0bh6p393wywl837lfsshp2mv9b5izh1sg2qfwvw"; depends=[]; }; + apt = derive { name="apt"; version="2.0"; sha256="1myhda1ickxiw6abf8ci9ca976daldcm5i0yb0jfl5zrxjanx552"; depends=[car erer urca]; }; + apTreeshape = derive { name="apTreeshape"; version="1.4-5"; sha256="0mvnjchhfbpbnrgnplb6qxa7r2kkvw29gqiprwggkf553wi6zl48"; depends=[ape quantreg]; }; + aqfig = derive { name="aqfig"; version="0.8"; sha256="0ha0jb5ag3zx6v7c63lsm81snslzb8y8g565mxjmf7vxpcmzzqsi"; depends=[geoR]; }; + aqp = derive { name="aqp"; version="1.7"; sha256="034lxhssn98rkcvwyycqcpppabm4xi89kr19d8ydj74dfgbhyx1z"; depends=[plyr reshape lattice cluster sp Hmisc stringr scales plotrix RColorBrewer]; }; + aqr = derive { name="aqr"; version="0.4"; sha256="04frgil3nbxsww66r9x0c6f308pzqr1970prp20bdv9qm3ym5axw"; depends=[xts RCurl]; }; + AquaEnv = derive { name="AquaEnv"; version="1.0-3"; sha256="1hkygw09w70im9f6l6q5yxk86mdl5pkczqfqrwc4wl1yhz7z1gjb"; depends=[minpack_lm deSolve]; }; + ARAMIS = derive { name="ARAMIS"; version="1.0.1"; sha256="12bsn5lpb9cv0py1ymbqhbnjrpisf09yixpnqbazsmrz7lrin079"; depends=[MASS LearnBayes]; }; + archetypes = derive { name="archetypes"; version="2.2-0"; sha256="1djzlnl1pjb0ndgpfj905kf9kpgf9yizrcvh4i1p6f043qiy0axf"; depends=[modeltools nnls]; }; + ArDec = derive { name="ArDec"; version="2.0"; sha256="14niggcq7xlvpdhxhy8j870gb11cpk4rwn9gwsfmcfvh49g58i80"; depends=[]; }; + arf3DS4 = derive { name="arf3DS4"; version="2.5-10"; sha256="12cbrk57c9m7fj1x7nfmcj1vp28wj0wymsjdz8ylxhm3jblbgmxc"; depends=[corpcor]; }; + arfima = derive { name="arfima"; version="1.2-5"; sha256="0bjhb5swhw4knmsp7fimbcc68bws60saij07p3hj2asjbsqw8n16"; depends=[ltsa]; }; + argosfilter = derive { name="argosfilter"; version="0.63"; sha256="0rrc2f28hla0azw90a5gk3zj72vxhm1b6yy8ani7r78yyfhgm9ig"; depends=[]; }; + argparse = derive { name="argparse"; version="1.0.1"; sha256="03p8dpwc26xz01lfbnmckcx6wzky43dyq71085b0anzsavgx0786"; depends=[proto findpython getopt rjson]; }; + arm = derive { name="arm"; version="1.7-03"; sha256="0v92ilikbk5viy544axqapb2q88n21qilfg7hxc0ag87n0xyxfaq"; depends=[MASS Matrix lme4 abind coda nlme]; }; + aroma_affymetrix = derive { name="aroma.affymetrix"; version="2.12.0"; sha256="1r3ywi97xqvk6dif7kkc3gqapiydd2sbq0ibxs1qf6s2v236d71r"; depends=[R_utils aroma_core R_methodsS3 R_oo R_cache R_filesets aroma_apd MASS matrixStats]; }; + aroma_apd = derive { name="aroma.apd"; version="0.5.0"; sha256="1pi4k7psrc120r8mn352vg60mjvbnm1f56dm9svfxfyl0qhcfd00"; depends=[R_methodsS3 R_oo R_utils R_huge]; }; + aroma_cn = derive { name="aroma.cn"; version="1.5.0"; sha256="1aih11r3gs969ci5gs7x7z5pia51y75iy559y23cz40q2qsq4ikc"; depends=[R_utils aroma_core R_methodsS3 R_oo R_filesets R_cache matrixStats PSCBS]; }; + aroma_core = derive { name="aroma.core"; version="2.12.1"; sha256="1rg7m9z2j9hn0adj407amyabyh6jhpgip51zd8fb8rplzgbkrm7s"; depends=[R_utils R_filesets R_devices R_methodsS3 R_oo R_cache R_rsp matrixStats RColorBrewer PSCBS]; }; + aRpsDCA = derive { name="aRpsDCA"; version="1.0.0"; sha256="035888scbl5333sz25f9n6xh1zis7l2752p4nhsbs2g44q38l9h6"; depends=[]; }; + ArrayBin = derive { name="ArrayBin"; version="0.2"; sha256="0jlhcv2d7pmqi32w71nz063ri1yj4i4isr3msnw7ckzvi9r42jwm"; depends=[]; }; + arrayhelpers = derive { name="arrayhelpers"; version="0.76-20120816"; sha256="1q80dykcbqbcigv2f9xg1brfm3835i0zvs0810q6kh682a3hpqbi"; depends=[]; }; + ars = derive { name="ars"; version="0.4"; sha256="0ynciw8n2jpqi40gsrj189419vgr1lgs9wridh09nj7n451b4kvg"; depends=[]; }; + ARTIVA = derive { name="ARTIVA"; version="1.2.2"; sha256="1k51yfh2xxchbiq9b64llc3sp330kh30lai75fgnbycwynkpsk5m"; depends=[MASS igraph gplots]; }; + ARTP = derive { name="ARTP"; version="2.0.4"; sha256="1f6ay9lyaqsc33b0larb8v6imp5adaycya84wif2sg32rv4gx3yl"; depends=[]; }; + arules = derive { name="arules"; version="1.1-2"; sha256="01dp7mhqff9kqz281dz37in040gxr6wzyxmz4r6kmgww7wzi6j80"; depends=[Matrix]; }; + arulesNBMiner = derive { name="arulesNBMiner"; version="0.1-2"; sha256="1wsl8g9hi1pv4wm4345p8ch6sn8900s6ak8hnzb9ini0djq6jzyw"; depends=[arules rJava]; }; + arulesSequences = derive { name="arulesSequences"; version="0.2-6"; sha256="1fvph6c8dy3hj0h63h85bzzzka8dx0cc0lcncz9svyahy1j4q3z0"; depends=[arules]; }; + arulesViz = derive { name="arulesViz"; version="0.1-9"; sha256="1s1hsf64fg32r3p1h8bvzbpr7a28szdh9hs7ck9qykh2s93xh12z"; depends=[arules scatterplot3d vcd seriation igraph]; }; + asbio = derive { name="asbio"; version="1.0"; sha256="198fkj2wlw0dpqlc6fbycxfkmgj8wkbvfvk2pxvliqy83dkh8d7l"; depends=[scatterplot3d pixmap tkrplot plotrix mvtnorm deSolve lattice]; }; + ascii = derive { name="ascii"; version="2.1"; sha256="19dfbp7k4bjxjn8wdzhbmz7g3za6gn8vcnd5qkm4dz7gg1fg7b8p"; depends=[]; }; + ascrda = derive { name="ascrda"; version="1.15"; sha256="17anzlhcjmrk13s5gs752rsc735y5wvba6r3w1nbv0cnkpnyk8i7"; depends=[class nnet rda MASS sfsmisc e1071 pamr]; }; + asd = derive { name="asd"; version="2.0"; sha256="1nnsbh6g0bhvhp6644zf2l6frr3qnls0s7y7r0g211b5zagq20z3"; depends=[mvtnorm]; }; + ash = derive { name="ash"; version="1.0-14"; sha256="15x16ld25i160asqf4z4difa6zn2yfgl04j8y8nqb0djymdx7a1f"; depends=[]; }; + aspace = derive { name="aspace"; version="3.2"; sha256="1g51mrzb6amafky2kg2mx63g6n327f505ndhna6s488xlsr1sl49"; depends=[splancs Hmisc shapefiles]; }; + aspect = derive { name="aspect"; version="1.0-2"; sha256="1p06vglsj2z0qal3sacjfm6cr9vb3jidk1c1rsmwy4cfv7dzh58n"; depends=[]; }; + assertive = derive { name="assertive"; version="0.1-8"; sha256="0j1phpx2w34rdjaar3fqhp0rsvdlidvw2irfazbh9955mdn2cwq1"; depends=[]; }; + assertthat = derive { name="assertthat"; version="0.1"; sha256="0dwsqajyglfscqilj843qfqn1ndbqpswa7b4l1d633qjk9d68qqk"; depends=[]; }; + AssetPricing = derive { name="AssetPricing"; version="0.1-3"; sha256="0043z4453njxm0ziwxbxsxf1d1zanwmaf9flajawm4f96c0iydp2"; depends=[polynom deSolve]; }; + AssotesteR = derive { name="AssotesteR"; version="0.1-10"; sha256="0aysilg79vprcyjirqz6c5s1ry1ia92xik3l38qrw1gf3vfli9cw"; depends=[mvtnorm]; }; + aster = derive { name="aster"; version="0.8-27"; sha256="1bn83n41fa58xsv7p69lq06fr07x3w317gfcg4icgj4wyhzgj5c4"; depends=[trust]; }; + aster2 = derive { name="aster2"; version="0.1"; sha256="1qbh1l2cnhvdfxaw1bv8cpj96nv03g155b1xh1vdigniwc04mssw"; depends=[]; }; + astro = derive { name="astro"; version="1.1"; sha256="15xxa3ynlgk6dhlb1z9lwvf9jqvfw9ghkl7rjbdcrvc52b92nwd3"; depends=[MASS plotrix]; }; + astroFns = derive { name="astroFns"; version="4.1-0"; sha256="0g5q0y067xf1ah91b4lg8mr9imj0d6lgig7gbj3b69fn335k363g"; depends=[]; }; + astsa = derive { name="astsa"; version="1.2"; sha256="13nlk5m5j9rygjih2hd3nj5iyncm1cx4smcj9zpr6nrsc79brwzj"; depends=[]; }; + asympTest = derive { name="asympTest"; version="0.1.3"; sha256="11nlkgws3y8xbz3yli55414a2rkk7367q9q5r2ssa61jaiimibhh"; depends=[]; }; + asypow = derive { name="asypow"; version="2013.9-1"; sha256="0zd42ha30kysjhd6rwxr91k1hhsimw3py2inymbpxgyq4s890whs"; depends=[]; }; + AtelieR = derive { name="AtelieR"; version="0.24"; sha256="0yialpmbsbx70gvps4r58xg9wvqcril8j8yd61lkkmz4b3195zai"; depends=[proto cairoDevice gWidgetsRGtk2 partitions]; }; + ATmet = derive { name="ATmet"; version="1.2"; sha256="047ibxxf5si45zw22zy8a1kpj36q0pd3bsmxwvn0dhf4h65ah0zz"; depends=[DiceDesign lhs metRology msm sensitivity]; }; + AtmRay = derive { name="AtmRay"; version="1.31"; sha256="162078jd032i72sgaar9hqcnn1lh60ajcqpsz4l5ysxfkghcxlh8"; depends=[]; }; + attfad = derive { name="attfad"; version="1.1"; sha256="10vdb60i8iigslcd0f3ipkf7m3d7h8zhq9x0n7yilc1xpd79r3ha"; depends=[]; }; + AUC = derive { name="AUC"; version="0.3.0"; sha256="0ripcib2qz0m7rgr1kiz68nx8f6p408l1ww7j78ljqik7p3g41g7"; depends=[]; }; + AUCRF = derive { name="AUCRF"; version="1.1"; sha256="00d7jcg2dyvf7sc9w7vxxd85m7nsbcmfqsavrv236vxfpfc9yn7i"; depends=[randomForest]; }; + audio = derive { name="audio"; version="0.1-5"; sha256="1hv4052n2r6jkzkilhkfsk4dj1xhbgk4bhba2ca9nf8ag92jkqml"; depends=[]; }; + audiolyzR = derive { name="audiolyzR"; version="0.4-9"; sha256="09jsrjy15vcn6da0kgk06ghayyrf3s853gqv8qdawg745ky2hbgi"; depends=[hexbin RJSONIO plotrix]; }; + audit = derive { name="audit"; version="0.1-1"; sha256="0hrcdcwda5c0snskrychiyfjcbnymkcl2x43bapb6inw9y8989qv"; depends=[]; }; + automap = derive { name="automap"; version="1.0-14"; sha256="1190kbmp0x80x0hyifdbblb4ijq79kvrfn9rkp5k6diig4v30n0w"; depends=[sp gstat lattice reshape]; }; + autopls = derive { name="autopls"; version="1.2-7"; sha256="173i1g11waz72myclfdch9v3wsvdr9mdz2gxdqifq9wj50s4zrg4"; depends=[pls]; }; + AutoSEARCH = derive { name="AutoSEARCH"; version="1.2"; sha256="1zl5zd96249y2zfpidpl9n3zwcp74kvcxn4s10v0lypvr19cr3hn"; depends=[zoo]; }; + avgrankoverlap = derive { name="avgrankoverlap"; version="1.0"; sha256="1wyafcygwdk754wp25283nd84lnn9qxha41xij55ylrn4nvg57l1"; depends=[]; }; + aws = derive { name="aws"; version="1.9-4"; sha256="11vbsg4yhnl4995m8gq5gykrlk61y3a618g2zxkc9wdf5z4xqdny"; depends=[awsMethods gsl]; }; + awsMethods = derive { name="awsMethods"; version="1.0-3"; sha256="1r6rbrlc5wbljp2x9aqhhnjblnb3gjm217x0cbmrw1pa0cf7q5jq"; depends=[]; }; + AWS_tools = derive { name="AWS.tools"; version="0.0.5"; sha256="0z0mh8pdrqvsg49dbhds8aj0lmxmvhfi05im0gg01vdidxpmabyn"; depends=[XML]; }; + aylmer = derive { name="aylmer"; version="1.0-11"; sha256="1b6dryvfz9yp00nj8lv8j1isnshcgwn9fx41knah9pw7dn4pxkk2"; depends=[Brobdingnag]; }; + B2Z = derive { name="B2Z"; version="1.4"; sha256="0w7394vs883vb32gs6yhrc1kh5406rs851yb2gs8hqzxad1alvpn"; depends=[numDeriv coda mvtnorm]; }; + b6e6rl = derive { name="b6e6rl"; version="1.1"; sha256="17scdskn677vaxx1h2jypqaffvjgczryplg17nr3wigi1x0cxg7a"; depends=[]; }; + babel = derive { name="babel"; version="0.2-5"; sha256="0c4ks9yi90nmlp383dfikdkd4xzsdkadckbs4sw86qrizyv2qb62"; depends=[]; }; + BaBooN = derive { name="BaBooN"; version="0.1-6"; sha256="1splid5mvyd04d1lxkq45md910ry6n516cph20j6vqfhla0arxjg"; depends=[MASS nnet]; }; + BACCO = derive { name="BACCO"; version="2.0-9"; sha256="0i1dnk0g3miyv3b60rzgjjm60180wxzv6v2q477r71q74b0v0r1y"; depends=[emulator calibrator approximator]; }; + backtest = derive { name="backtest"; version="0.3-2"; sha256="06q488pynxgis1m6rxc8hgscpy8vimffpi4aamviwb089sjzilnn"; depends=[lattice]; }; + BACprior = derive { name="BACprior"; version="1.2.1"; sha256="1xwszrnb6fnfl4pz89y24jykzyjnkzwzkicdp1rp7q3jwp986fxi"; depends=[mvtnorm leaps]; }; + BAEssd = derive { name="BAEssd"; version="1.0.1"; sha256="04wkhcj4wm93hvmfnnzryswaylnxz5qsgnqky9lsx4jqhvg340l6"; depends=[mvtnorm]; }; + bagRboostR = derive { name="bagRboostR"; version="0.0.2"; sha256="1k9w98p3ad3myzyqhcrc4rsn7196qvhnmk5ddx3fpd1rdvy2dnby"; depends=[randomForest]; }; + BalancedSampling = derive { name="BalancedSampling"; version="1.4"; sha256="0l8jxszd0j27kb58xrn7lvf52mhifqjd1w42cp4kdiax8c6s7421"; depends=[Rcpp]; }; + BaM = derive { name="BaM"; version="0.99"; sha256="1q04va2s876ydlmaalx63r520pfx1qzpjg6hbnl9pvn86b5grnf4"; depends=[bayesm coda MASS mice survival foreign nnet]; }; + bamdit = derive { name="bamdit"; version="1.1-1"; sha256="0f865yfwd2pvbkcx8jm4iyilldmprsgyqnscp1n28rp3sbdii4bl"; depends=[coda rjags]; }; + BAMMtools = derive { name="BAMMtools"; version="1.0.1"; sha256="0850yl0knw705ip2fl3sbgspnwbpks0vhlb3fb5sfh6p9klyk140"; depends=[ape]; }; + bams = derive { name="bams"; version="1.6"; sha256="1pplnpilpydxf7gcs87424cajss74q8cr9pyv2biy4pkvfql0nxl"; depends=[]; }; + bandit = derive { name="bandit"; version="0.4.2"; sha256="09q6b44kcacb8ll3g2vjr58rn0ikic9m1nlm0iq43s1vcsnwcgvh"; depends=[boot gam]; }; + barcode = derive { name="barcode"; version="1.1"; sha256="14zh714cwgq80zspvhw88cs5b82gvz4b6yfbshj9b7x0y2961nxd"; depends=[lattice]; }; + bark = derive { name="bark"; version="0.1-0"; sha256="00sgwr1sfbx0gb2ssbnmbz90mwb40sk3s24asj7lhadwgm150nly"; depends=[]; }; + Barnard = derive { name="Barnard"; version="1.3"; sha256="1kyc6rph0c9lxv6mkdl5n11xw1pvavlm2kknplb3sv6f94ss2yci"; depends=[]; }; + bartMachine = derive { name="bartMachine"; version="1.0.2"; sha256="1mxl8yra44ypxchqlyfv950gac1m8mw85qqaifzylm7fqb12xr8s"; depends=[rJava car randomForest missForest]; }; + BAS = derive { name="BAS"; version="1.0"; sha256="1j5crafky3jb25kim3b7gxg9azn3ya357ckq1v7wryzi3zi674sg"; depends=[MASS]; }; + BaSAR = derive { name="BaSAR"; version="1.3"; sha256="0n18gjgnqdmwdna6b5r664rw2svjqlpis95vchnlk19cr3pjvqc1"; depends=[polynom orthopolynom]; }; + base64 = derive { name="base64"; version="1.1"; sha256="1wn3zj1qlgybzid4nr6hvlyqg1rp2dwfh88vxrfby2fy2ba1nl5x"; depends=[]; }; + base64enc = derive { name="base64enc"; version="0.1-1"; sha256="0aflrnn5af6igmlwhmshiz7nb07ajgaryj9gs93zhk2ca5ki80lv"; depends=[]; }; + baseline = derive { name="baseline"; version="1.1-3"; sha256="1n3g1ads26nq3y31nniirac453pdshzkdfg774w46x83cc5pc0xj"; depends=[SparseM]; }; + basicspace = derive { name="basicspace"; version="0.07"; sha256="0lpj03a5cwrj0pag6hb29rfi8dw51hqx7rrc4r00lsbqf5picin2"; depends=[]; }; + BASIX = derive { name="BASIX"; version="1.1"; sha256="18dkvv1iwskfnlpl6xridcgqpalbbpm2616mvc3hfrc0b26v01id"; depends=[]; }; + BaSTA = derive { name="BaSTA"; version="1.9.3"; sha256="1jfki5lnsvd6fjrld2qp179lyzli61pi2308lkkl1h6vgp11zp2v"; depends=[msm]; }; + batade = derive { name="batade"; version="0.1"; sha256="1lr0j20iydh15l6gbn471vzbwh29n58dlpv9bcx1mnsqqnsgpmal"; depends=[hwriter]; }; + batch = derive { name="batch"; version="1.1-4"; sha256="03v8a1hsjs6nfgmhdsv6fhy3af2vahc67wsk71wrvdxwslmn669q"; depends=[]; }; + BatchExperiments = derive { name="BatchExperiments"; version="1.1"; sha256="1asjk7wwz595k3ylmg19mil42bi3drz96181ikaqpq20l4zr8ccr"; depends=[BatchJobs BBmisc DBI RSQLite plyr]; }; + BatchJobs = derive { name="BatchJobs"; version="1.2"; sha256="16v3a9awm3isx53lrhlklnxfsgf9kcfsq66hlvkwdvrcw3bsh639"; depends=[BBmisc digest DBI RSQLite sendmailR brew plyr stringr fail]; }; + batchmeans = derive { name="batchmeans"; version="1.0-1"; sha256="06p51ipc603zqkf7ifv495jxbnqqxzx5h8mnz5l5sz9rq5pixg13"; depends=[]; }; + BayesBridge = derive { name="BayesBridge"; version="0.4"; sha256="1h63jdx45fdwwfif4ac9rlhhjldqznb695sp6ddjm7nzzh0vx1zn"; depends=[]; }; + bayesclust = derive { name="bayesclust"; version="3.1"; sha256="0zxjd64nz8c6vg6jwb2xh6kbw41a2pcmlwq5cl6k2kbplqbm2jdf"; depends=[]; }; + BayesComm = derive { name="BayesComm"; version="0.1-0"; sha256="17hnq4z451g2j3p73awllihhwsdy3grh6ki3qy9bkr064wvzbvcj"; depends=[Rcpp RcppArmadillo coda]; }; + bayescount = derive { name="bayescount"; version="0.9.9-1"; sha256="1sdc4j06a7h2i3rzjz83l1zd20jmy4rmnmjqq5ghskahgwyab3zc"; depends=[runjags coda lattice]; }; + BayesCR = derive { name="BayesCR"; version="1.0"; sha256="0cq1ii01j0nprnyvfxml1nrajrbb9yanr4fa5fcwn764cq5s30n9"; depends=[MCMCpack mvtnorm Rlab truncdist truncnorm]; }; + BayesDA = derive { name="BayesDA"; version="2012.04-1"; sha256="0fp27cmhw8dsxr4mc1flm6qh907476kph8ch2889g9p31xm1psjc"; depends=[]; }; + bayesDem = derive { name="bayesDem"; version="2.4-1"; sha256="0s2dhy8c90smvaxcng6ixhjm7kvwwz2c4lgplynrggrm8rfb19ay"; depends=[gWidgets gWidgetsRGtk2 bayesTFR bayesLife bayesPop RGtk2 wpp2012]; }; + BayesFactor = derive { name="BayesFactor"; version="0.9.7"; sha256="02bqsvxsxkyhxm0llwnscsp204ffjygdk9xraml1l2fkz3cg62vl"; depends=[coda pbapply mvtnorm stringr]; }; + bayesGARCH = derive { name="bayesGARCH"; version="2.0.1"; sha256="1gz18wjikkg3yf71b1g21cx918dyz89f5m295iv8ah807cdx7vjk"; depends=[mvtnorm coda]; }; + bayesGDS = derive { name="bayesGDS"; version="0.6.0"; sha256="17ihpsh7lqjninprfwbx3v2415s27qybr5c2z4ls43slv8zrv8mz"; depends=[Matrix]; }; + Bayesianbetareg = derive { name="Bayesianbetareg"; version="1.1"; sha256="1kj974fl2mfqlgl03ynfcwm4c9iqgymbnhqiz3dx1xdbqf1vd2cd"; depends=[mvtnorm betareg]; }; + BayesLCA = derive { name="BayesLCA"; version="1.5"; sha256="0ikx0qxp9mw4206c0i2g8cjr3d5i591wb1qak28c11m22rn1s7gc"; depends=[e1071 coda fields nlme MCMCpack]; }; + bayesLife = derive { name="bayesLife"; version="2.1-0"; sha256="1cjwxjnfj5vm5m2kr4k3z7a0zdgcm727kwbp5jvc7j67qw7p30k7"; depends=[bayesTFR wpp2012 hett car coda]; }; + BayesLogit = derive { name="BayesLogit"; version="0.4"; sha256="1a6iv3v7l2vc3ry0ry506bqz7avj24kdz5rly2d65jkxg8xv7vih"; depends=[]; }; + bayesm = derive { name="bayesm"; version="2.2-5"; sha256="16cnm1i7vwviqxwq3yhj5r9a46qaanq2mb4snd0659rkia6p8h7a"; depends=[]; }; + bayesMCClust = derive { name="bayesMCClust"; version="1.0"; sha256="14cyvcyx3nmkbvsy7n4xjp7zvcgdhy013dv9d72y8j5dvlv82pb4"; depends=[gplots xtable mnormt MASS bayesm boa e1071 gtools]; }; + BayesMed = derive { name="BayesMed"; version="1.0"; sha256="1ppl5g8c5yy8jzhm34wvvprn9dj697ihcg8jb5111qmjybzzp0dh"; depends=[R2jags QRM polspline MCMCpack]; }; + bayesmix = derive { name="bayesmix"; version="0.7-3"; sha256="142132aslmmm35yai4n1d2hqqkczvrnm8ln9gwxvbczmxaggnc01"; depends=[rjags coda]; }; + BayesNI = derive { name="BayesNI"; version="0.1"; sha256="0zvr6rkb5zxgl53xby69d0j3yrfnlcmac6kwkxz77q5616w9dwq0"; depends=[]; }; + BayesPen = derive { name="BayesPen"; version="1.0"; sha256="1c31n0mrx07j9mw4afdh1qznkiq2jrig3ldpsnhkv2nd2apgjbbp"; depends=[lars MCMCpack SuppDists]; }; + bayesPop = derive { name="bayesPop"; version="5.0-0"; sha256="0a577jkm0v88q2i7dmn2xqndm9z5y3hwfxr4a5d65cnrlsahfzdl"; depends=[bayesTFR bayesLife abind plyr wpp2012]; }; + bayespref = derive { name="bayespref"; version="1.0"; sha256="0gwlzs7qkgmf90np7xv85d27jjqggyhfj00vpya664a2znyjb3jm"; depends=[coda lattice MASS MCMCpack RColorBrewer]; }; + bayesQR = derive { name="bayesQR"; version="2.2"; sha256="0w5fg7hdwpgs2dg4vzcdsm60wkxgjxhcssw9jzig5qgdjdkm07nm"; depends=[]; }; + BayesQTLBIC = derive { name="BayesQTLBIC"; version="1.0-2"; sha256="1pgd3h45v3l44pfkin2883lk1davp0y4fq80lp6nqrsbx9cpsy2z"; depends=[leaps]; }; + bayess = derive { name="bayess"; version="1.4"; sha256="0axipk5hn2hw3g4dfh7y3xa0dxqmi8kqpbr77nl14y7ydpija6xm"; depends=[MASS mnormt gplots combinat]; }; + BayesSAE = derive { name="BayesSAE"; version="1.0-1"; sha256="09s7f472by689b2b0gahnkhyjriizpsx6r5qa95nf3f4bfqi2cpf"; depends=[Formula coda lattice]; }; + BayesSingleSub = derive { name="BayesSingleSub"; version="0.6.2"; sha256="0hgmyhg4mpxx7k91hbfa9h3533mqyn9rz4kl9kb30cc9g7g0m045"; depends=[coda mvtnorm MCMCpack]; }; + bayesSurv = derive { name="bayesSurv"; version="2.1-1"; sha256="076lzaiwjp4ahw36wvx9sb1g86b9cidvjv91sc1r509s8khph91w"; depends=[survival coda smoothSurv]; }; + bayesTFR = derive { name="bayesTFR"; version="4.0-5"; sha256="1cyzkgx0f275ng0ds0lvm3rwryd2ai20shhilp7ajvsria4h4dcw"; depends=[mvtnorm MASS coda wpp2012]; }; + Bayesthresh = derive { name="Bayesthresh"; version="2.0.1"; sha256="0w26h1ragqcg1i4h7c2y6vd8fig2jb2zrnvvchgg5z2hg9qdplsf"; depends=[lme4 MASS VGAM mvtnorm matrixcalc coda]; }; + BayesTree = derive { name="BayesTree"; version="0.3-1.1"; sha256="1sdxya2nli590m837zmqn4y3h62ph1hx8qszp6ayb19liff2bnmd"; depends=[nnet]; }; + BayesValidate = derive { name="BayesValidate"; version="0.0"; sha256="1gli65avpkb90asx92l1yjbwaxcsyb920idyjwgd2sl2b3l657ly"; depends=[]; }; + BayesVarSel = derive { name="BayesVarSel"; version="1.5.1"; sha256="0r2al4d74dbra7va88fcazq5h19f0i4wymd39apsz3a3hsb8vdvv"; depends=[MASS]; }; + BayesX = derive { name="BayesX"; version="0.2-8"; sha256="1kj0xwy972383vx52i8dn7vp0x8r5cbbii0s7nwfz0bn2iaks0c0"; depends=[shapefiles sp maptools colorspace coda]; }; + BayesXsrc = derive { name="BayesXsrc"; version="2.1-2"; sha256="114804f6maak5dmwzw4cbigjcdw7c6sgx48af35yrvkspi1gsz3b"; depends=[]; }; + BayHap = derive { name="BayHap"; version="1.0.1"; sha256="0xqnl2cbf0pyjlpywyy0j4mwknfn8msz4s719dsri3r7hvn9m6kd"; depends=[boa]; }; + BayHaz = derive { name="BayHaz"; version="0.1-3"; sha256="08ilghlkgyma5758yw7mdgqycqcillqmx73knzzdlg2kzc77dvg6"; depends=[]; }; + BaylorEdPsych = derive { name="BaylorEdPsych"; version="0.5"; sha256="1kq6nvzdqwawygp7k62lw5hyccsj81jg82hq60yidgxnmmnnf7y2"; depends=[]; }; + BaySIC = derive { name="BaySIC"; version="1.0"; sha256="023ji6q1nvksmhp3ny8ad39xxccc0a1rv9iaiaagwavgzzc0pjd9"; depends=[rjags fields poibin]; }; + BAYSTAR = derive { name="BAYSTAR"; version="0.2-9"; sha256="0crillww1f1jvhjw639sf09lpc3wpzd69milah143gk9zlrkhmz2"; depends=[mvtnorm coda]; }; + BB = derive { name="BB"; version="2014.1-1"; sha256="05ang9k03cpdyjskifp8y68sjgbsnp8xj1a85hzqychlb7d4f2qk"; depends=[]; }; + bbefkr = derive { name="bbefkr"; version="4.2"; sha256="1wjx652w3p41sq71a2zdzmb7frjxm6xvcgrc2ark2spwb0lbjjw6"; depends=[]; }; + bbemkr = derive { name="bbemkr"; version="2.0"; sha256="015c57s8mpimm82nddnh382wlkisxgdmc2hvp7k38pcnqxc5gb5q"; depends=[MASS]; }; + BBmisc = derive { name="BBmisc"; version="1.6"; sha256="0zb9137rnqjb9jvazfqz5ajqf18w1f57lxqy8q4rys7966bp3ndm"; depends=[]; }; + bbmle = derive { name="bbmle"; version="1.0.16"; sha256="133ff9md8m2xh8x45xmpdm868pp46dzlly1qq8dp8ail18kqj9ga"; depends=[numDeriv lattice MASS]; }; + BBMM = derive { name="BBMM"; version="3.0"; sha256="1cvv786wf1rr5906qg1di2krrv5jgw3dnyl8z2pvs8jyn0kb3fkj"; depends=[]; }; + bbo = derive { name="bbo"; version="0.1"; sha256="1giif78135f3hy8dqims83imism0k3507jlppgcb3x6pxk7dgwbs"; depends=[]; }; + BBRecapture = derive { name="BBRecapture"; version="0.1"; sha256="05xzp5zjmkh0cyl47qfsz0l8drg8mimssybhycc4q69aif9scqxb"; depends=[HI locfit lme4 secr]; }; + bc3net = derive { name="bc3net"; version="1.0.2"; sha256="0iakqf4apscxb4mb5klj9qklbi25dmdd77la3ads2y882gm2nj0z"; depends=[c3net infotheo igraph Matrix lattice]; }; + BCA = derive { name="BCA"; version="0.9-2"; sha256="1kry9v0sfcpn5vv4hwd983svwcgv841y9pkjdzi849gspmc9291r"; depends=[car clv cluster class flexclust rpart nnet rgl Rcmdr]; }; + BCBCSF = derive { name="BCBCSF"; version="1.0-0"; sha256="1ag8wz8a9vh1x4jgppimgchfs53rr6hbg5xzzr6k2h4bfsg7pmn3"; depends=[abind]; }; + BCDating = derive { name="BCDating"; version="0.9.3"; sha256="1ibm34wab1dpigrhifkyr1nylgbprbh22fdw9zpmg8bawb7zgbsl"; depends=[]; }; + BCE = derive { name="BCE"; version="1.4"; sha256="1i7kxw6ykxk6kzncxgqalx51yj55nr3klr4ziy8fwwyix9llcrqy"; depends=[limSolve]; }; + BCEA = derive { name="BCEA"; version="2.0-2"; sha256="1n0fp6na2y4n7p6ncwgi6hwx97mfrga3fkp3i0z06bh1p1jh8m88"; depends=[]; }; + BCEs0 = derive { name="BCEs0"; version="1.1"; sha256="0q63bkmk0kk9p5d3xb0f5srzfrbr743isyw4v2h9ch5yyxizcizb"; depends=[]; }; + Bchron = derive { name="Bchron"; version="4.1.1"; sha256="0dnfz7xpmbygyarh9ai9x3xfsqiizi0zhnxm8bmkvqyb8h7zpghb"; depends=[inline hdrcde MASS ellipse coda mclust]; }; + Bclim = derive { name="Bclim"; version="2.3.1"; sha256="160c9v83bpik73yjj45lr8sdgl8v4ymlkqw424ncc3lficyhvfjg"; depends=[MASS mclust hdrcde statmod]; }; + bclust = derive { name="bclust"; version="1.4"; sha256="1s04fqff5bw6d5kk0smvach6yq492dv1w0ahh9mrm2jsi2q58h7p"; depends=[]; }; + bcool = derive { name="bcool"; version="1.1"; sha256="03z6wdqpk491gyysbzz1lgfavskmi0j65r3df7baz6lrvzkg30ji"; depends=[MCMCglmm doMPI seqinr]; }; + bcp = derive { name="bcp"; version="3.0.1"; sha256="08sa1az1ljsi00zmj3l7z8p1j5im1w79yjxy8k1p6ba90bck7l4h"; depends=[foreach iterators Rcpp]; }; + bcpa = derive { name="bcpa"; version="1.0"; sha256="02vyvwd1j5d1nvwmhjbldyav1zx8sh8kvchwz73i0vs0jdrwp3q4"; depends=[Rcpp intervals plyr]; }; + bcrm = derive { name="bcrm"; version="0.4.4"; sha256="0gcigc7505fsk1m70df3n0dz553adkbs8yz2bhskb4qrw4gbmvr7"; depends=[mvtnorm ggplot2]; }; + bcv = derive { name="bcv"; version="1.0"; sha256="053if27miv46mbkni6pcpdpz0l336r5l95k7927dqalnri894xwz"; depends=[]; }; + bda = derive { name="bda"; version="3.1.3-2"; sha256="1l11p8a57hqyfbm7339fdis8kb7mw044cnpf85bq4rh7fvmknc9n"; depends=[]; }; + BDgraph = derive { name="BDgraph"; version="2.7"; sha256="1krg11v4gh453xqhyli8qwnd52j0c9c3mp9ynk2fljbimzj6pz81"; depends=[huge]; }; + bdoc = derive { name="bdoc"; version="1.2"; sha256="15d7grc0a1hakkxhgbm2gp0awggzlmsp8zf8abj5bgfih63gcmj2"; depends=[]; }; + bdpv = derive { name="bdpv"; version="1.1"; sha256="0i6wdf27243ch8pn2chqriwxjg3g72wbvzlx52mz4ahw700xjc7n"; depends=[]; }; + bdsmatrix = derive { name="bdsmatrix"; version="1.3-1"; sha256="1iiqz34ssb5i5jd1x5d0mccir9ycrq2vq30g67ggw12apl7yks1l"; depends=[]; }; + bdynsys = derive { name="bdynsys"; version="1.2"; sha256="06n4n5yix6yd5180c5y7qdk2p5jpjqiw28147l8fp58zqxvwjrxb"; depends=[plm Formula MASS Hmisc deSolve pracma caTools matrixStats]; }; + beadarrayFilter = derive { name="beadarrayFilter"; version="1.1.0"; sha256="044dq5irc00v2f2gjz0vb69w7q7b84lppc55ganabdv4f0dxdblc"; depends=[RColorBrewer]; }; + beadarrayMSV = derive { name="beadarrayMSV"; version="1.1.0"; sha256="0785vmjsli37hjyppk7hlqmn0b683s1apysx9dghbw4h6rgvr8n9"; depends=[rggobi]; }; + beanplot = derive { name="beanplot"; version="1.1"; sha256="0h1ns2y0f6x5z9bn4wsv640509q4jxhqvmqr7snf8vk54vc35zs5"; depends=[]; }; + bear = derive { name="bear"; version="2.6.3"; sha256="1w933rb1v4ixgmxpbjxrfwzhiddpr0vxwr3gryl6z6p4wvwdwvp7"; depends=[reshape nlme gdata ICSNP sciplot plotrix ggplot2 png]; }; + BEDASSLE = derive { name="BEDASSLE"; version="1.3"; sha256="09zjddp9001l31ax7m0il0z5d8j69mj5wcxf56lcwq14fchk3ip5"; depends=[MASS matrixcalc emdbook]; }; + beeswarm = derive { name="beeswarm"; version="0.1.6"; sha256="05n2a1fqmh4m7d0b8vmcprss5ivgb0dlyly07jywj3vrf2z81yhy"; depends=[]; }; + benchden = derive { name="benchden"; version="1.0.5"; sha256="1cwcgcm660k8rc8cpd9sfpzz66r55b4f4hcjc0hznpml35015zla"; depends=[]; }; + benchmark = derive { name="benchmark"; version="0.3-6"; sha256="05rgrjhbvkdv06nzbh0v57b06vdikrqc1d29wirzficxxbjk1hih"; depends=[proto ggplot2 relations psychotools reshape scales plyr]; }; + Benchmarking = derive { name="Benchmarking"; version="0.23"; sha256="0q0m34l3216m467b28nckg7l4g0z7jmxdamba3jgzfm4rv73d6rd"; depends=[lpSolveAPI ucminf]; }; + benford_analysis = derive { name="benford.analysis"; version="0.1.1"; sha256="00ynk1af5nbq8bn8y77sckx4w32g5zxcp06pdpcxwvp38d7hxhvc"; depends=[data_table]; }; + BenfordTests = derive { name="BenfordTests"; version="1.1.1"; sha256="12xzc4gq4h7p18ypbkybrzjj2qh71rgd7nzznij36yv7n6h21mlw"; depends=[]; }; + bentcableAR = derive { name="bentcableAR"; version="0.2.3"; sha256="0d20cc3zis3pc3r86z12cwcz013w0mglbg6xgv90wq912jjpkxk9"; depends=[]; }; + BEQI2 = derive { name="BEQI2"; version="1.0-0"; sha256="1yw4q0402qlzl0g541fd2k5pmaf3h6dsq4p2qyk496z0r6fv0x4k"; depends=[knitr markdown RJSONIO xtable plyr reshape2]; }; + ber = derive { name="ber"; version="4.0"; sha256="0gl7rms92qpa5ksn8h3ppykmxk5lzbcs13kf2sjiy0r2535n8ydi"; depends=[MASS]; }; + Bergm = derive { name="Bergm"; version="2.6"; sha256="1r47xzrc2sl8b4vmw40dxyn5cndwc7872zrb52ni0ismxvvkkwqq"; depends=[ergm network coda mvtnorm]; }; + Bessel = derive { name="Bessel"; version="0.5-5"; sha256="1apcpwqgnbsn544x2mfjkp4136xn33pijazmbzas7lr14syl5a6b"; depends=[Rmpfr]; }; + BEST = derive { name="BEST"; version="0.2.0"; sha256="076dsy813sq0x21ihp4xz0jf22j5xj80f5gpsk89mafr5ys22zl7"; depends=[rjags]; }; + bestglm = derive { name="bestglm"; version="0.34"; sha256="0b6lj91v0vww0fy50sqdn99izkxqbhv83y3zkyrrpvdzwia4dg9w"; depends=[leaps]; }; + betafam = derive { name="betafam"; version="1.0"; sha256="1nf5509alqnr5qpva36f1wb7rdnc084p170h91jv89xvzsidqxca"; depends=[]; }; + betapart = derive { name="betapart"; version="1.3"; sha256="0h2y2c3q6njzh2rlxh8izgkrq9y7abkbb0b13f2iyj9pnalvdv52"; depends=[ape geometry picante rcdd]; }; + betaper = derive { name="betaper"; version="1.1-0"; sha256="1gr533iw71n2sq8gga9kzlah7k28cnlwxb2yh562gw6mh1axmidm"; depends=[vegan ellipse]; }; + betareg = derive { name="betareg"; version="3.0-4"; sha256="1crkp1j11zpzd92hc1zaw0pb68ngga8gl6v504p4r7629806g5hv"; depends=[Formula flexmix lmtest modeltools sandwich]; }; + betategarch = derive { name="betategarch"; version="3.1"; sha256="1m4xif7xn1hhz9a77mmy0hlqrfp7qxardc95jcvx1jy76nny21af"; depends=[zoo]; }; + bethel = derive { name="bethel"; version="0.2"; sha256="1zlkw672k1c5px47bpa2vk3w2906vkhvifz20h6xm7s51gmm64i0"; depends=[]; }; + bezier = derive { name="bezier"; version="1.0"; sha256="0145d2vd2l9l6wq3a1rkqi5n74nwrv6b50c28hrw1nqnmgk2pw2n"; depends=[]; }; + bfa = derive { name="bfa"; version="0.3.1"; sha256="02vnbm77blllb74kll8w1i91k0llk43vq60aqjwpc5kqmzy652pk"; depends=[coda Rcpp RcppArmadillo]; }; + bfast = derive { name="bfast"; version="1.4.4"; sha256="1k8rwlzrnkgs0wj0yy4gh4lj4zd5zyzwgwckgjy8k53r4296js66"; depends=[strucchange MASS forecast zoo raster sp strucchange zoo raster]; }; + bfp = derive { name="bfp"; version="0.0-27"; sha256="08hlr33dwwjc4ag8vfsa3w4rcsc2093j8zwb05xkkl5nwqsq3mq0"; depends=[Rcpp]; }; + bgeva = derive { name="bgeva"; version="0.2"; sha256="178c2jkg5578mh1yq37713lwfbz98nbsc2p1bmacgmbxbqnkba3x"; depends=[mgcv magic trust]; }; + BGLR = derive { name="BGLR"; version="1.0.2"; sha256="1w9a0hbh65l8kjm1098d0gka4mgr19v55cwgdygykf8kjh4ihmkn"; depends=[]; }; + bgmm = derive { name="bgmm"; version="1.6"; sha256="04d06rhb8ax1q4ayl03cw18j4wk4g4690kwdgiyym9yi0gh8hjij"; depends=[mvtnorm car lattice combinat]; }; + BGPhazard = derive { name="BGPhazard"; version="1.0"; sha256="14nk8gxzd0xd4fcc16m026rlq3prnppv3jywllfapk5986cacq4g"; depends=[survival]; }; + BGSIMD = derive { name="BGSIMD"; version="1.0"; sha256="0xkr56z8l72wps7faqi5pna1nzalc3qj09jvd3v9zy8s7zf5r7w4"; depends=[]; }; + BH = derive { name="BH"; version="1.54.0-2"; sha256="0044his8xl2nlf216ya5nzx4k1311221s9k96b5m982kj074y9zv"; depends=[]; }; + Bhat = derive { name="Bhat"; version="0.9-10"; sha256="1vg4pzrk3y0dk1kbf80mxsbz9ammkysh6bn26maiplmjagbj954v"; depends=[]; }; + BHH2 = derive { name="BHH2"; version="2012.04-0"; sha256="10ixvjpkqamlddrndpnw5gsdm4gdhp693jdvc0f774ngmf32rbaa"; depends=[]; }; + biasbetareg = derive { name="biasbetareg"; version="1.0"; sha256="1562zdin0y5mrp36ih11ir3h9cv49cx1l98chxd89fkj8x3c1fbg"; depends=[betareg]; }; + BiasedUrn = derive { name="BiasedUrn"; version="1.06.1"; sha256="1ra9fmymm97a2b8jsrsi98cjnnxc478zq51lx7a5pgafprcwcgkg"; depends=[]; }; + bibtex = derive { name="bibtex"; version="0.3-6"; sha256="06v6pzwpx5dh3h4cf382hf0mszxchvzjsjaw880gfbgc9yl931z7"; depends=[]; }; + biclust = derive { name="biclust"; version="1.0.2"; sha256="09w164zsnc48apf3r0yr6bfjxlpy4s2wqpzfhlg60c3c7bk1bf7v"; depends=[MASS colorspace lattice]; }; + BiDimRegression = derive { name="BiDimRegression"; version="1.0.6"; sha256="1kgrk4xanvxqdq619ha08wwplmsn2xqygx4dziagx48iqfpp1lxj"; depends=[nlme]; }; + bifactorial = derive { name="bifactorial"; version="1.4.7"; sha256="187zlsqph7m63wf6wajvs6a4a08aax9hiqssgvma6cpkpisfiz4k"; depends=[mvtnorm multcomp lattice Rcpp]; }; + bigalgebra = derive { name="bigalgebra"; version="0.8.4"; sha256="19rv552ac0q9djc1yvpldkc0lipdf6q143m9dnndpsqs7ayqlr4g"; depends=[bigmemory]; }; + biganalytics = derive { name="biganalytics"; version="1.1.1"; sha256="0g45b293c1z9n2z9ab66jsy8yaiqm7bbs2d6pglzwgmmdvwy03qd"; depends=[bigmemory]; }; + bigdata = derive { name="bigdata"; version="0.1"; sha256="1n1zcjhvb2s87d7fkcm95x11ss4b8pczza0n55gxjv4przfiq0in"; depends=[glmnet Matrix lattice]; }; + bigGP = derive { name="bigGP"; version="0.1-2"; sha256="0ypcg7gwfwf1yriizy777adx5whya7f6al1z0irhq414g46r0s34"; depends=[Rmpi]; }; + biglars = derive { name="biglars"; version="1.0.2"; sha256="17zs25dvlja9ynx2fm5f4nmgkx4mnyqs5iscwsyahr6qigx1rz9x"; depends=[ff]; }; + biglm = derive { name="biglm"; version="0.9-1"; sha256="1z7h4by457z93k5i6qf5rq7xmd1y2kcd1rq4pv465cd32d4mb2g1"; depends=[DBI]; }; + bigmemory = derive { name="bigmemory"; version="4.4.6"; sha256="1pplnpxqg380l5mjgz0ak4ipsx7x54339n2wr3dd29xv3w2fb5rp"; depends=[bigmemory_sri BH]; }; + bigmemory_sri = derive { name="bigmemory.sri"; version="0.1.2"; sha256="01nz4phifx10r1hs83avisnaqxvs3y70v0yczjgcr8kih2cnvbsd"; depends=[]; }; + bigml = derive { name="bigml"; version="0.1-1"; sha256="0x0gn5pyffc8s0z2hp9iqgc63mmb3q7fb8lafzz2x67z2gghxi77"; depends=[RJSONIO RCurl plyr]; }; + bigpca = derive { name="bigpca"; version="1.0"; sha256="1s4qmg7xl8z0sv1b1vfqw0r5cvlbrxx1n0m03ira8fpykcck2clm"; depends=[reader NCmisc bigmemory biganalytics bigmemory_sri BH irlba]; }; + bigrf = derive { name="bigrf"; version="0.1-6"; sha256="0xwimdbrj4iiqqgwj6y018bc7zv4n60b5x5yan64nd1371lcrlrq"; depends=[bigmemory BH foreach]; }; + bigRR = derive { name="bigRR"; version="1.3-8"; sha256="11c3w9f2hdr74hwfli72i3gv45x3lvhjxrymjc91scxkks6va2s8"; depends=[hglm DatABEL]; }; + bigsplines = derive { name="bigsplines"; version="1.0-0"; sha256="05lmqpqlaf8qf6is0s0bj9fq6icc6sfwbq6srrvmc9sf5fy6wizj"; depends=[]; }; + bigtabulate = derive { name="bigtabulate"; version="1.1.2"; sha256="0vp873r3gww6kfkjdm87qgcdi85362kq946lvs45ggvyv7iaw0wa"; depends=[bigmemory]; }; + BigTSP = derive { name="BigTSP"; version="1.0"; sha256="1jdpa8rcnrhzn0hilb422pdxprdljrzpgr4f26668c1vv0kd6k4v"; depends=[glmnet tree randomForest gbm]; }; + bilan = derive { name="bilan"; version="2013.12"; sha256="0wrrs6l8iwy6r707djsmlmwiw0y5z6wwnsn27fvmq9cb8scvbfan"; depends=[Rcpp]; }; + bild = derive { name="bild"; version="1.1-3"; sha256="02fi3h6mhg2m1ppkcpxpwzjfchkk9h7yv73j0365srr1jxki44pm"; depends=[]; }; + bimetallic = derive { name="bimetallic"; version="1.0"; sha256="181qi4dr0zc7x6wziq7jdc1his20jmprfpq3hrfm56fr5n1sj8wl"; depends=[]; }; + binda = derive { name="binda"; version="1.0.0"; sha256="0h5a67ygn4hwkdzbmhdkqjngln32yr8rk36k87m3hq1ahj4jn73x"; depends=[entropy]; }; + bindata = derive { name="bindata"; version="0.9-19"; sha256="15ya21fz1kvq4qsppkn9ypiqvaq8q4vszdcgcymampa7zc07z2ld"; depends=[e1071 mvtnorm]; }; + bingat = derive { name="bingat"; version="1.0"; sha256="0x2ira1a6yan3pp206asil4xqrldpybywk1b8bnfbcp4xyclv44n"; depends=[cluster network]; }; + binGroup = derive { name="binGroup"; version="1.1-0"; sha256="1sf7prg2x1ryynf1kz7jr50svmga7kjgd5pi9qm3g2hyimz8mvs4"; depends=[]; }; + binhf = derive { name="binhf"; version="1.0-1"; sha256="0l8925bj6mjv2y7fn76zh2g8xjig3kbbdy4jl0ip3gd9kbrakl9k"; depends=[wavethresh adlift]; }; + binMto = derive { name="binMto"; version="0.0-6"; sha256="1h9s42wk848x15f4glhsh2iikpra64miwlia6xz5dqlzbs4vw86k"; depends=[mvtnorm]; }; + BinNor = derive { name="BinNor"; version="2.0"; sha256="0c1qy93ccgzg8g25wm1j4ninsa0ck4y3jjh25za92w070cqhkd8m"; depends=[mvtnorm corpcor psych Matrix]; }; + binom = derive { name="binom"; version="1.1-1"; sha256="0mjj92dqf5q69jxzqya4izb1mly3mkydbnmlm4wb3zqqg82a324c"; depends=[]; }; + binomialcftp = derive { name="binomialcftp"; version="1.0"; sha256="00c7ymlxk1xnx3x1814x7bcyir7q5sy4rb82dcpzf2bdly4xa1qr"; depends=[]; }; + binomlogit = derive { name="binomlogit"; version="1.2"; sha256="1njz1g9sciwa8q6h0zd8iw45vg3i1fwcvicj5y8srpk8wqw3qp7k"; depends=[]; }; + binomSamSize = derive { name="binomSamSize"; version="0.1-3"; sha256="0hryaf0y3yjxp84c0k80mhxj8zzlad697bv2yrvcjvllkzdvzbm7"; depends=[binom]; }; + binomTools = derive { name="binomTools"; version="1.0-1"; sha256="14594i7iapd6hy4j36yb88xmrbmczg8zgbs0b6k0adnmqf83bn4v"; depends=[]; }; + binseqtest = derive { name="binseqtest"; version="0.4"; sha256="1w85hfb6g9y3s4y9ldpi319qdrhi1p5qi040xh3630dlwk7zlpwb"; depends=[clinfun]; }; + Biodem = derive { name="Biodem"; version="0.3"; sha256="0wfyypr46awki2nrvhcjwacmaxrr2wvhdv9hddnf10msssflvshc"; depends=[]; }; + BiodiversityR = derive { name="BiodiversityR"; version="2.4-1"; sha256="1b4fx1wh02z6p2l76xqxj0h59ypjngii92n0qp70hdm064h0pxji"; depends=[Rcmdr]; }; + BioGeoBEARS = derive { name="BioGeoBEARS"; version="0.2.1"; sha256="1j3d7p4cdwhhbxx96sjdjwmlz6pj3als768hfzmjkhq0n6zhfwvq"; depends=[rexpokit cladoRcpp ape phylobase optimx FD xtable plotrix gdata]; }; + Biograph = derive { name="Biograph"; version="2.0.4"; sha256="1mik5yvbi28xnyzha8p3xjaa064x29wgn18yx766wha7djxxr353"; depends=[etm msm Epi lubridate reshape plyr survival mstate ggplot2]; }; + bio_infer = derive { name="bio.infer"; version="1.3-3"; sha256="14pdv6yk0sk6v8g9p6bazbp7mr3wmxgfi6p6dj9n77lhqlvjcgm9"; depends=[]; }; + biom = derive { name="biom"; version="0.3.12"; sha256="18fmzp2zqjk7wm39yjlln7mpw5vw01m5kmivjb26sd6725w7zlaa"; depends=[plyr RJSONIO Matrix]; }; + BioMark = derive { name="BioMark"; version="0.4.1"; sha256="163i7jsj8m6bqckpz6vr9rs3fc545w5fzw9vgk8mxq8cdq53yaiz"; depends=[pls glmnet st]; }; + BiomarkeR = derive { name="BiomarkeR"; version="1.3"; sha256="0djhqindpmzx6kkj17db6d1n3w5v5wl1l3z14lnl0r2k1hf276fy"; depends=[igraph Hmisc]; }; + biomod2 = derive { name="biomod2"; version="3.1-25"; sha256="1w3xxiqynmcrvw95jqd8j5mjmbs181gn8hbvvgz257x93fsyl293"; depends=[sp raster abind rasterVis pROC nnet gbm mda randomForest rpart MASS]; }; + bionetdata = derive { name="bionetdata"; version="1.0"; sha256="1y5nnyfzbdk8673jyi733j4ncsc62kbsn1b8ghq10cb4xzxf2mvf"; depends=[]; }; + biopara = derive { name="biopara"; version="1.5"; sha256="1fhhs6lkm3iphlkx6wklh9sgr1mkjkka9wv2m8fnk0xw01bdsyl5"; depends=[]; }; + BioPhysConnectoR = derive { name="BioPhysConnectoR"; version="1.6-10"; sha256="1cc22knlvbvwsrz2a7syk2ampm1ljc44ykv5wf0szhnh75pxg13l"; depends=[snow matrixcalc]; }; + bioPN = derive { name="bioPN"; version="1.2.0"; sha256="0mvqgsfc7d4h6npgg728chyp5jcsf49xhnq8cgjxfzmdayr1fwr8"; depends=[]; }; + biOps = derive { name="biOps"; version="0.2.2"; sha256="04sc30kfj727c4l7xyax4idjv5shxm97m3rixfxialllcppjppw1"; depends=[]; }; + biOpsGUI = derive { name="biOpsGUI"; version="0.1.2"; sha256="07567n2ixc1xinbyrzl0xy48x09m4j3xgxmarsrgx3nq5cmdr0rw"; depends=[RGtk2 biOps]; }; + bios2mds = derive { name="bios2mds"; version="1.2.2"; sha256="1avzkbk91b7ifjba5zby5r2yw5mibf2wv05a4nj27gwxfwrr21cd"; depends=[amap e1071 scales cluster rgl]; }; + BioStatR = derive { name="BioStatR"; version="1.0.4"; sha256="043fakac56kf1mdmwlm8q3hjdxlclissxbkv26y2brqp2sfr01pb"; depends=[]; }; + biotools = derive { name="biotools"; version="1.1"; sha256="034lvkw7bfpyqgkp58phgk97sks7y33mj5hk3489y7pql43j6rfa"; depends=[rpanel MASS boot]; }; + bipartite = derive { name="bipartite"; version="2.04"; sha256="0rp2j2ip8523jmvgvbnj56q49yazwz2wqyqc0l00flvp4920svf0"; depends=[vegan sna fields igraph MASS permute]; }; + biplotbootGUI = derive { name="biplotbootGUI"; version="1.0"; sha256="0pgm31nhh1b78a8ciqjxw7gf3j7hh9wjc3myj29jpl92flbqmsw0"; depends=[rgl tkrplot vegan tcltk2]; }; + BIPOD = derive { name="BIPOD"; version="0.2.1"; sha256="04r58gzk3hldbn115j9ik4bclzz5xb2i3x6b90m2w9sq7ymn3zg1"; depends=[Rcpp]; }; + birch = derive { name="birch"; version="1.2-3"; sha256="1y0fcrmcljq74x7zd27lz9cr8bffg2hg3hm47qssa3301m9a5fjh"; depends=[ellipse]; }; + birdring = derive { name="birdring"; version="1.0"; sha256="0fn4qaiiskmx19lzpm4hw3nbnicb91p2v6c0jc0n48ycvspa7mc9"; depends=[geosphere ks lazyData raster reshape rgdal rgeos rworldmap rworldxtra sp]; }; + bisectr = derive { name="bisectr"; version="0.1.0"; sha256="1vjsjshvzj66qqzg32rviklqswrb00jyq6vwrywg1hpqhf4kisv7"; depends=[devtools]; }; + BiSEp = derive { name="BiSEp"; version="1.0"; sha256="1iw3ask3gpjhx0gnjgl3402fygi7bnsrha6dfxfsmyzz94im352x"; depends=[mclust]; }; + bisoreg = derive { name="bisoreg"; version="1.1"; sha256="16d6nxbj18y6wv57nxbmwv0gypsgf7hw76hsyv0fhydrkf404igb"; depends=[bootstrap monreg R2WinBUGS coda]; }; + bit = derive { name="bit"; version="1.1-12"; sha256="0a6ig6nnjzq80r2ll4hc74za3xwzbzig6wlyb4dby0knzf3iqa6f"; depends=[]; }; + bit64 = derive { name="bit64"; version="0.9-4"; sha256="1w734l5ayr7w17a3gk2kmkqwz7v5jm830kfhyqmnd15i816lnjb9"; depends=[bit]; }; + bitops = derive { name="bitops"; version="1.0-6"; sha256="176nr5wpnkavn5z0yy9f7d47l37ndnn2w3gv854xav8nnybi6wwv"; depends=[]; }; + bivarRIpower = derive { name="bivarRIpower"; version="1.2"; sha256="0vgi0476rwali6k8bkp317jawzq5pf04v75xmycpmadb7drnpzy0"; depends=[]; }; + biwavelet = derive { name="biwavelet"; version="0.17.3"; sha256="08lj0v53l9s12pssy3hgzys988w3y490nab7js655ljs825d2lpc"; depends=[fields]; }; + biwt = derive { name="biwt"; version="1.0"; sha256="1mb3x8ky3x8j4n8d859i7byyjyfzq035i674b2dmdca6mn7paa14"; depends=[rrcov MASS]; }; + bizdays = derive { name="bizdays"; version="0.1.3"; sha256="12x7p8h3h9rbji96yvwag9n5l09yci3x3lvzvh366rdcl52h0xvy"; depends=[]; }; + BlakerCI = derive { name="BlakerCI"; version="1.0-2"; sha256="0njx3n469nwyq6nsv5lckvl9xdrf0qjp8kfgc1k01xiljppdb82w"; depends=[]; }; + Blaunet = derive { name="Blaunet"; version="1.0.1"; sha256="1qcp5wag4081pcjg5paryxz3hk3rqql15v891ppqc1injni7rljz"; depends=[network]; }; + BLCOP = derive { name="BLCOP"; version="0.2.7"; sha256="0dlf4h7bcwypamafl9y8jsjpjrilz153xzw4pjvpxv8gg1wh14d2"; depends=[MASS quadprog]; }; + blender = derive { name="blender"; version="0.1.2"; sha256="1qqkfgf7fzwcz88a43cqr8bw86qda33f18dg3rv1k77gpjqr999c"; depends=[vegan]; }; + blighty = derive { name="blighty"; version="3.1-4"; sha256="1fkz3vfcnciy6rfybddcp5j744dcsdpmf7cln2jky0krag8pjzpn"; depends=[]; }; + blkergm = derive { name="blkergm"; version="1.0"; sha256="00xqmqn7y3vwygfx2v6kqm52n96vxlip2yk09gf30cqn2p3b6sck"; depends=[ergm ergm_userterms]; }; + blm = derive { name="blm"; version="2013.2.4.4"; sha256="1w6c30cq38j4i1q4hjg12l70mhy5viw886l1lsnxyvniy113in4i"; depends=[]; }; + blme = derive { name="blme"; version="1.0-2"; sha256="11m98j9xr6w0hfcss4bbx2aa34gnc5p9if9r8ilw9ify18by77np"; depends=[lme4]; }; + blockcluster = derive { name="blockcluster"; version="3.0.1"; sha256="1lxm20f8dhxfnm13j08sj7h3sfwc8limyqn8n87c3kl87066gdaq"; depends=[Rcpp]; }; + blockmatrix = derive { name="blockmatrix"; version="1.0"; sha256="14k69ly4i8pb8z59005kaf5rpv611kk1mk96q6piyn1gz1s6sk6r"; depends=[]; }; + BlockMessage = derive { name="BlockMessage"; version="1.0"; sha256="1jrcb9j1ikbpw098gqbcj29yhffa15xav90y6vpginmhbfpwlbf4"; depends=[]; }; + blockmodeling = derive { name="blockmodeling"; version="0.1.8"; sha256="0x71w1kysj9x6v6vsirq0nndsf6f3wzkf8pbsq3x68sf4cdji1xl"; depends=[]; }; + blockrand = derive { name="blockrand"; version="1.3"; sha256="1090vb26w6s7iqjcal0xbb3qb6p6j46a5w25f1wjdppd1spvh7f9"; depends=[]; }; + blockTools = derive { name="blockTools"; version="0.5-8"; sha256="08smr9n5jl8lyhxk9ygbqgym1mlynjjn0007gz986pk8z6cqar0i"; depends=[MASS]; }; + BLR = derive { name="BLR"; version="1.3"; sha256="02p29p06vhh8gxkfnqdf9niq09bygshmiipvd3q19k92g0a10l69"; depends=[SuppDists]; }; + BMA = derive { name="BMA"; version="3.16.2.3"; sha256="1kgcml0issi43fw0g5qbmrh8y3jdyn98w7gp8z5n581763q9q273"; depends=[survival leaps robustbase]; }; + BMAmevt = derive { name="BMAmevt"; version="1.0"; sha256="0cy3h81xd1jjg7fdwndb5az67cp7kn1wp87p17za8506vyxj1pa0"; depends=[coda]; }; + bmd = derive { name="bmd"; version="0.5"; sha256="0d4wxyymycb416sdn272292l70s1h2m5kv568vakx3rbvb8y6agy"; depends=[drc]; }; + bmem = derive { name="bmem"; version="1.5"; sha256="1miiki743rraralk9dp12dsjjajj3iizcrfwmplf6xas6pl8sfk6"; depends=[Amelia MASS lavaan sem snowfall]; }; + BMhyd = derive { name="BMhyd"; version="1.2-2"; sha256="09gb1pq9y3gq9avpaqrlxdsm9iqsxpbnr0bg2mw1vkhc0d5z8zv7"; depends=[corpcor numDeriv]; }; + Bmix = derive { name="Bmix"; version="0.3"; sha256="0p3ks3miniz356spmdikynwa7yrdk1mwlpz081fnkjnwxa3kdsw7"; depends=[mvtnorm]; }; + bmk = derive { name="bmk"; version="1.0"; sha256="1wxkrlrhmsxsiraj8nyiax9bqs834ln2swykmpf40wxspkykgfdq"; depends=[coda plyr functional]; }; + BMN = derive { name="BMN"; version="1.02"; sha256="12gyq01cn6a9ixqgki1ihx5jrp2gw6jdj7q210rb12xlvj3p6x7w"; depends=[]; }; + bmp = derive { name="bmp"; version="0.2"; sha256="059ps1sy02b22xs138ba99fkxq92vzgfbyf2z5pyxwzszahgy869"; depends=[]; }; + bmrm = derive { name="bmrm"; version="1.8"; sha256="1kw9i84v5larzy79aghp08760krp29xlwrjg4mh9fsa9nl9wxqda"; depends=[clpAPI kernlab]; }; + BMS = derive { name="BMS"; version="0.3.3"; sha256="1yj9vi8jvhkwpcjkclf0zbah0dayridklpj65ay6r18fyf4crnd2"; depends=[]; }; + bnlearn = derive { name="bnlearn"; version="3.5"; sha256="1lxfmbj5j904gv8akpgbgwpnzw2a6ws9bvxq7hzxmxxnp9jri1sp"; depends=[]; }; + BNPdensity = derive { name="BNPdensity"; version="2013.8"; sha256="1qlhav764ji289kcibbmqjj62mmxiw3zsiwjz1gkifzgpmzyar85"; depends=[]; }; + bnpmr = derive { name="bnpmr"; version="1.1"; sha256="0hvwkdbs2p2l0iw0425nca614qy3gsqfq4mifipy98yxxvgh8qgc"; depends=[]; }; + boa = derive { name="boa"; version="1.1.7-2"; sha256="1n7i0i8jq2sa1kzhbgyqzl9d53wja7fsxd7rligc8xjm0sdsb386"; depends=[]; }; + BOG = derive { name="BOG"; version="1.1"; sha256="0lr2n4j32b7qzmyb2048kssc7sbchivhi2a8skmahhjl85jgy166"; depends=[hash DIME]; }; + boilerpipeR = derive { name="boilerpipeR"; version="1.1"; sha256="0bjnydpz1fiwwj2d02rjsk0dv5rcwxlm3344dwib3igmsi0ch62k"; depends=[rJava]; }; + Bolstad = derive { name="Bolstad"; version="0.2-25"; sha256="1dj0ib3jndnsdx2cqsy0dz54szdx1xq3r2xqnxzk4ysng6svdym8"; depends=[]; }; + Bolstad2 = derive { name="Bolstad2"; version="1.0-28"; sha256="08cfadvl9jl9278ilsf8cm2i2a3i8zsa2f3vjzw2nlv85fwi2c7v"; depends=[]; }; + BoolNet = derive { name="BoolNet"; version="1.63"; sha256="1ay80s4mrr26zfig5igqs0cwzf8ph4qxv33j8njwslgd5srzwrc4"; depends=[]; }; + boostSeq = derive { name="boostSeq"; version="1.0"; sha256="0sikyzhn1i6f6n7jnk1kb82j0x72rj8g5cimp2qx3fxz33i0asx6"; depends=[genetics lpSolveAPI]; }; + boot = derive { name="boot"; version="1.3-11"; sha256="0s8v5mpyz2pqmm0kk8qkjiqr3wb1j1mqazx5hgsdabq6ga85ah8j"; depends=[]; }; + bootES = derive { name="bootES"; version="1.01"; sha256="00y901d5cjdpzras5w6mv851h5zgp36m5ib6dazs4vqrfpqymva8"; depends=[boot]; }; + bootfs = derive { name="bootfs"; version="1.4.2"; sha256="1qac7v0yzhxzqbdhkpgb4z1gqr6v6hjyb2y5lsxlq5dg1ka1cnb0"; depends=[pROC igraph ROCR gbm colorRamps gplots gtools pamr randomForest Boruta caret tgp mlegp penalizedSVM]; }; + BootPR = derive { name="BootPR"; version="0.60"; sha256="03zw7hz4gyhp6iq3sb03pc5k2fhvrpkspzi22zks25s1l7mq51bi"; depends=[]; }; + bootRes = derive { name="bootRes"; version="1.2.3"; sha256="0bb7w6wyp9wjrrdcyd3wh44f5sgdj07p5sz5anhdnm97rn1ib6dz"; depends=[]; }; + bootruin = derive { name="bootruin"; version="1.2-0"; sha256="1hkyn3wc63z3r3gvfwrhs20rjjknhkk2b21q0m5dnd3jgf9q44lc"; depends=[]; }; + bootspecdens = derive { name="bootspecdens"; version="3.0"; sha256="0hnxhfsc3ac4153lrjlxan8xi4sg1glwb5947ps6pkkyhixm0kc1"; depends=[MASS]; }; + bootStepAIC = derive { name="bootStepAIC"; version="1.2-0"; sha256="0p6v4zjsaj1p6c678010fazdh40lpv0rvhczd1halj8aic98avdx"; depends=[MASS]; }; + bootstrap = derive { name="bootstrap"; version="2014.4"; sha256="1kf5jml03yfqz2868jbnjvy839x09ml0niyq85va503pq8gmj5br"; depends=[]; }; + Boruta = derive { name="Boruta"; version="3.0.0"; sha256="1311cbg2hx4y068ayryvz6jishr87h6pgkwaax0ixrn0q20w42kn"; depends=[randomForest rFerns]; }; + boss = derive { name="boss"; version="2.1"; sha256="1knsnf19b1xvvq20pjiv56anbnk0d51aq6z3ikhi8y92ijkzh0y8"; depends=[lme4 geepack Matrix ncdf]; }; + BoSSA = derive { name="BoSSA"; version="1.2"; sha256="0rvb6y7jwy0nmjvnpkim09fdph5kazg8cr0jchnz1s46n16gvc96"; depends=[ape SoDA]; }; + boussinesq = derive { name="boussinesq"; version="1.0.3"; sha256="1j1jarc3j5rby1wvj1raj779c1ka5w68z7v3q8xhzjcaccrjhzxk"; depends=[]; }; + boxplotdbl = derive { name="boxplotdbl"; version="1.2.2"; sha256="01bvp6vjnlhc4lndxwd705bzlsh7zq0i9v66mxszrcz6v8hb9rwi"; depends=[]; }; + bpca = derive { name="bpca"; version="1.2-2"; sha256="05ldz6b2s379mymj8jzvia9x6gj047gwsxvnv3zj9x8b1hvndnd6"; depends=[scatterplot3d rgl]; }; + bpcp = derive { name="bpcp"; version="1.1.0"; sha256="15dy3bbpazm4g72lwdf925f13a4dpdhi771283564v9f3n7qm3qf"; depends=[]; }; + bPeaks = derive { name="bPeaks"; version="1.2"; sha256="1z6jghcmw0lwv17ms7gdp5zzimaawq3ahbwkxa4062g373592smd"; depends=[]; }; + bpkde = derive { name="bpkde"; version="1.0-2"; sha256="1vvj8z75q2aw3fiv3aiw97bac4ffslq8nqplil0s7a0x77al8nx7"; depends=[mvtnorm KernSmooth]; }; + bqtl = derive { name="bqtl"; version="1.0-30"; sha256="1v1p3wvqm5hmwpnjqaz8vlpzm036gpzpxsvy7m0v4x7nc5vrq7g6"; depends=[]; }; + BradleyTerry2 = derive { name="BradleyTerry2"; version="1.0-4"; sha256="1v25r1yki3p2br6l38b77ailkip5gda1dfyvlb2dvr8a7cbjwp3s"; depends=[lme4 brglm gnm gtools]; }; + BrailleR = derive { name="BrailleR"; version="0.8"; sha256="0smi8jkrmpmcbv9kzvj82rcbv6gcir51l0qyh6kccw69r2zfk4q4"; depends=[xtable moments nortest]; }; + brainR = derive { name="brainR"; version="1.2"; sha256="1515v6kk73p4s3vrnkpkilfxfyqrf7b762sq6j364ygsyfybvh2z"; depends=[rgl misc3d oro_nifti]; }; + brainwaver = derive { name="brainwaver"; version="1.6"; sha256="0r79dpd9bbbn34rm29512srzj3m29qgvbryvrp1mwv8mmcsh6ij6"; depends=[waveslim]; }; + branchLars = derive { name="branchLars"; version="1.0"; sha256="1adk9j77ynv7y8q04nvb468ik4nq4ff3j2nbxw596kgg5bg1ymz0"; depends=[lars]; }; + breakage = derive { name="breakage"; version="1.0-1"; sha256="1zn0hxkz4zqhrfny75gkp2sgc0fs4v3y940aw32fmjh4j8kl3n4j"; depends=[Imap]; }; + breakpoint = derive { name="breakpoint"; version="1.0"; sha256="0clmrad4ycpi0rxrvkh4agwixdayypjdnk3lfyb5g2w2hngrxv73"; depends=[ggplot2 foreach]; }; + bReeze = derive { name="bReeze"; version="0.3-1"; sha256="1yyqp2f5avnml50ilajgralw24g7zar2dlmi3qcf5gs8fjhmayhr"; depends=[RColorBrewer]; }; + brew = derive { name="brew"; version="1.0-6"; sha256="1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp"; depends=[]; }; + brglm = derive { name="brglm"; version="0.5-9"; sha256="14hxjamxyd0npak8wyfmmb17qclj5f86wz2y9qq3gbyi2s1bqw2v"; depends=[profileModel]; }; + bride = derive { name="bride"; version="1.3"; sha256="03k9jwklg1l8sqyjfh914570880ii0qb5dd9l0bg0d0qrghbj0rk"; depends=[]; }; + brnn = derive { name="brnn"; version="0.3"; sha256="0fpmjmxzcsxqv3vfy568r7js0zpydh2q70vw2s8yki2jzxl4gsl9"; depends=[Formula]; }; + Brobdingnag = derive { name="Brobdingnag"; version="1.2-4"; sha256="1saxa492f32f511vw0ys55z3kgyzhswxkylw9k9ccl87zgbszf3a"; depends=[]; }; + broman = derive { name="broman"; version="0.44-1"; sha256="04qmpdi0s2j083a9c642zf4l58shqz2pnybrrlyy18vkv9vjz8zw"; depends=[]; }; + Brq = derive { name="Brq"; version="1.0"; sha256="0m01qw0mh9za1gx1vkbyvwny4k5fvmvs9dbp0504q8jqfqf4l1vj"; depends=[quantreg truncnorm]; }; + BRugs = derive { name="BRugs"; version="0.8-3"; sha256="1qjwm6qizg70nvpl5p2yx65ynghazchqw7d2iadhdjz7dd293sqi"; depends=[coda]; }; + BSagri = derive { name="BSagri"; version="0.1-8"; sha256="148pr4lkgdi4bwc9lavgj356nh240iazz28xklq14rw4gzhmz2k4"; depends=[gamlss multcomp MCPAN mvtnorm boot mratios]; }; + BSDA = derive { name="BSDA"; version="1.01"; sha256="06mgmwwh56bj27wdya8ln9mr3v5gb6fcca7v9s256k64i19z12yi"; depends=[e1071 lattice]; }; + bshazard = derive { name="bshazard"; version="1.0"; sha256="151c63pyapddc4z77bgkhmd7rsa1jl47x8s2n2s8yc6alwmj6dvs"; depends=[survival Epi]; }; + BsMD = derive { name="BsMD"; version="2013.0718"; sha256="1yvazqlbmm221r7nkhrhi309gkk6vx7ji5xlvf07klya2zg20gcj"; depends=[]; }; + bspec = derive { name="bspec"; version="1.4"; sha256="1iq66hx4d0f5pvsh6qcsd2kzm913aqil4w66bfshj192fwbfziix"; depends=[]; }; + bspmma = derive { name="bspmma"; version="0.1-1"; sha256="0bd6221rrbxjvabf1lqr9nl9s0qwav47gc56sxdw32pd99j9x5a9"; depends=[]; }; + BSquare = derive { name="BSquare"; version="1.1"; sha256="1s16307m5gj60nv4m652iisyqi3jw5pmnvar6f52rw1sypfp5n49"; depends=[quadprog quantreg VGAM]; }; + BSSasymp = derive { name="BSSasymp"; version="1.0-0"; sha256="0gmy74sxif90ypavq0sl58g6wjh1qhlv6pdb2gmq7qiiig2qfdac"; depends=[fICA JADE]; }; + bst = derive { name="bst"; version="0.3-3"; sha256="0f1apiq0b22w74pqwfnj4h9alrb9qjzjrrfnzk0b6j06lqiydmaw"; depends=[rpart gbm]; }; + bstats = derive { name="bstats"; version="1.1-11-4"; sha256="1fwp33kswnlk3dyj174gaac7wmpg9n0sjx042hx091y9q2v1cczc"; depends=[]; }; + BTYD = derive { name="BTYD"; version="1.0"; sha256="09nw1zf2ni6xwbk0kqzy2gada7d1lph6wz6l6r9xh11v4a8mw3xn"; depends=[gsl Matrix]; }; + bujar = derive { name="bujar"; version="0.1-3"; sha256="01337y65k89bgyfmab6czyy1sy8z8ccklgjbmyakr59qc7pgdnph"; depends=[mda ncvreg mboost gbm earth elasticnet rms]; }; + BurStFin = derive { name="BurStFin"; version="1.02"; sha256="16w2s0bg73swdps9r0i8lwvf1najiqyx7w7f91xrsfhmnqkkjzka"; depends=[]; }; + BurStMisc = derive { name="BurStMisc"; version="1.00"; sha256="0718a1p7iiqkfhhmnzxggc6hd8sm847n1qh7rfbdl8b0k0bgvnj0"; depends=[]; }; + bursts = derive { name="bursts"; version="1.0-1"; sha256="172g09d1vmwl83xs6gr4gfblqmx3apvblpzdr5d7fcw1ybsx0kj6"; depends=[]; }; + bvenn = derive { name="bvenn"; version="0.1"; sha256="1xrya49w5bd2b7plfxpqla60b2828rkm0rjmc4qnqzvrahsbal0y"; depends=[]; }; + bvls = derive { name="bvls"; version="1.4"; sha256="18aaf7kk5mks3a59wwqhm1ckpn6s704l9m5nzy0x5iw0s98ijbm2"; depends=[]; }; + bvpSolve = derive { name="bvpSolve"; version="1.2.4"; sha256="1ss25md3q59cm40rxw29x9421xjc7gd964hx9xwvx4h8dis34rgd"; depends=[rootSolve deSolve]; }; + BVS = derive { name="BVS"; version="4.12.1"; sha256="111g61bpwh80v6gy44q087swcrnnnzdcibm22pzzi9jsfphy6l0c"; depends=[MASS msm haplo_stats]; }; + c060 = derive { name="c060"; version="0.2-3"; sha256="1lynkmdlqi41szrpqqa79d5i65lindqgi0dwqpvvw94yjnbnm6b3"; depends=[glmnet survival mlegp tgp peperr penalizedSVM lattice]; }; + c3net = derive { name="c3net"; version="1.1.1"; sha256="0m4nvrs41kmlakc6m203zlncqwgj94wns8kzcb31xngjcacmcq42"; depends=[igraph]; }; + C50 = derive { name="C50"; version="0.1.0-16"; sha256="0dhwjvslgza7sqbmvshb981k9spdk6wxwvr6z97m98vmkv2g6czk"; depends=[]; }; + ca = derive { name="ca"; version="0.53"; sha256="07s51hl0rlbg91dp05qdz31ns9q0ah249710j1fb31ij92avqjj6"; depends=[]; }; + cabootcrs = derive { name="cabootcrs"; version="1.0"; sha256="0a6y04jq837k1pk8b9nhgz7rima7s8jid6vdjyfvrqshgaiabg1q"; depends=[]; }; + cacher = derive { name="cacher"; version="1.1-2"; sha256="17zw30mpi1vrgk1jsxqpw2id3k78rrs6i55kq0yl64aikmq91c0v"; depends=[]; }; + cacheSweave = derive { name="cacheSweave"; version="0.6-1"; sha256="0w30ryd24x2z204k8j41knayq3ax4b5zf0ai1andgdzjvf5jmmas"; depends=[filehash stashR digest]; }; + cacIRT = derive { name="cacIRT"; version="1.3"; sha256="1qd9qw47d9dmxhnva3ik62q5rfcw0pd1ha1y689345nl05wysjkh"; depends=[]; }; + CaDENCE = derive { name="CaDENCE"; version="1.2.1"; sha256="1l6mqra36syvpg9aqh4p6ndj3yj50rabx8hh788zpy4n57m5lpv7"; depends=[]; }; + CADFtest = derive { name="CADFtest"; version="0.3-2"; sha256="00nsnzgjwkif7mbrw7msswjxhi9aysjdx3qg3i4mdmj1rmp7c4dc"; depends=[dynlm sandwich tseries urca]; }; + CAGExploreR = derive { name="CAGExploreR"; version="1.0.2"; sha256="0vszsvpfg1xn1k5qsx42bmlhb92vsyrsf421g1dwx5lgsl4f7xrr"; depends=[data_table rbamtools R2HTML]; }; + Cairo = derive { name="Cairo"; version="1.5-5"; sha256="0g709j87fvqmxxliczw2z4zixq786c4n632vrygm3ibqg1vmipiq"; depends=[]; }; + cairoDevice = derive { name="cairoDevice"; version="2.20"; sha256="1v9sdv35a1sl42gsz1y9jw1p6fr19yny07cc2pwmcrb4vs5lhysf"; depends=[]; }; + CALIBERrfimpute = derive { name="CALIBERrfimpute"; version="0.1-5"; sha256="0daii1qbq624zp466492xnwwf7c8qdagskh0w7nh70fqzh8yhqfr"; depends=[mice mvtnorm randomForest]; }; + calibrate = derive { name="calibrate"; version="1.7.2"; sha256="010nb1nb9y7zhw2k6d2i2drwy5brp7b83mjj2w7i3wjp9xb6l1kq"; depends=[MASS]; }; + calibrator = derive { name="calibrator"; version="1.2-6"; sha256="1arprrqmczbhc1gl85fh37cwpcky8vvqdh6zfza3hy21pn21i4kh"; depends=[emulator cubature]; }; + CALINE3 = derive { name="CALINE3"; version="1.0-2"; sha256="07w1kb7wqdi1qslpvpmqcmq6da4h7sgwv3aih4brdprym61c3rkm"; depends=[]; }; + calmate = derive { name="calmate"; version="0.11.0"; sha256="1zy836nk607ra67q0x7yc4czkcn9ffzlipzhr4mhjk6l5d8sys2q"; depends=[R_utils aroma_core MASS R_methodsS3 R_oo matrixStats R_filesets]; }; + CAMAN = derive { name="CAMAN"; version="0.67"; sha256="1cckgmbzrjafvql17c94y1h812v2hplv1p7p9kalcg13nzd45inx"; depends=[sp]; }; + camel = derive { name="camel"; version="0.2.0"; sha256="0krilird8j69zbll96k46pcys4gfkcnkisww138wslwbicl52334"; depends=[lattice igraph MASS Matrix]; }; + cancerTiming = derive { name="cancerTiming"; version="1.0.0"; sha256="08m50bsl2cxmkdbx2p9b5cwxkmgn2jhfz9dnc1k9kisy6l9s5p5h"; depends=[LearnBayes]; }; + candisc = derive { name="candisc"; version="0.6-5"; sha256="0rbmfyhnyaq1j7sql2sgi47ahrggbb71z2z5pw2gg16kd2f465qk"; depends=[car heplots]; }; + cape = derive { name="cape"; version="1.2"; sha256="01bh8lngp346w6pjvbw4jllbr8f9f8ypsxv6c9p6zv5l7w5yzri8"; depends=[corpcor evd qpcR Matrix igraph fdrtool]; }; + caper = derive { name="caper"; version="0.5.2"; sha256="1l773sxmh1nyxlrjz8brnwhwraff826scwixrqmgdciqk7046d35"; depends=[ape MASS mvtnorm]; }; + capm = derive { name="capm"; version="0.4"; sha256="1vy1vilm1qiwshf28kb7dr60vglqn4gga595plirbfhs0ccay4x9"; depends=[deSolve FME survey ggplot2 reshape2 shiny rgdal maptools sp]; }; + capme = derive { name="capme"; version="1.3"; sha256="0d4acwp4y8djcry8gr34dx3h8bn8sj3z2di5zl9657czw5289zm8"; depends=[lpSolve]; }; + capushe = derive { name="capushe"; version="1.0"; sha256="0dwxaiqnz0qbsk4icjapklaa9bpjfl4gqvk1f92livy97jmf1r44"; depends=[MASS]; }; + capwire = derive { name="capwire"; version="1.1.4"; sha256="18a3dnbgr55yjdk6pd7agmb48lsiqjpd7fm64dr1si6rpgpl4i9c"; depends=[]; }; + car = derive { name="car"; version="2.0-20"; sha256="0dbq3ndw9srrf7pp7wl8gj7cwcgggnjh4i6c9aqmrap7wnaa14fb"; depends=[MASS nnet]; }; + CARBayes = derive { name="CARBayes"; version="3.0"; sha256="0wflay6k159cw8149qb4ib1mlpsbgddlbkiyfxd4qz3vwl06dg3q"; depends=[MASS Rcpp truncdist spam coda]; }; + carcass = derive { name="carcass"; version="1.1"; sha256="09cg6ba44k0i7v7d380nl5vy7cvmpjjl6zab8sscqql5c2nm0lxk"; depends=[arm survival]; }; + cardidates = derive { name="cardidates"; version="0.4.5"; sha256="1zw8c8jiq8bz748xppwj88z1882qk7k2r0k2gkrsvw7b6c9h35pb"; depends=[boot pastecs]; }; + care = derive { name="care"; version="1.1.4"; sha256="0x2496r57h03m53gqmcmbjv7n04bl08si97ff29k6q50jxd1v8hy"; depends=[corpcor]; }; + CARE1 = derive { name="CARE1"; version="1.1.0"; sha256="1zwl4zv60mrzlzfgd7n37jjlr0j918a8ji36n94s5xw8wwipiznw"; depends=[]; }; + caret = derive { name="caret"; version="6.0-24"; sha256="1d56z7bik5ry8iglys4ha1mpkc11g93nm0m15107c44shfi56d3v"; depends=[lattice ggplot2 car reshape2 foreach plyr]; }; + caribou = derive { name="caribou"; version="1.1"; sha256="0ibl3jhvsgjfcva0113z0di9n5n30bs90yz0scckfv1c0pjhn4xd"; depends=[]; }; + caroline = derive { name="caroline"; version="0.7.6"; sha256="1afxxbrd7w628l4pxdmvwbs7mbgxlhnfq3nxk2s93w47gn7r9fp7"; depends=[]; }; + CARramps = derive { name="CARramps"; version="0.1.2"; sha256="097xxvql6qglk6x4yi7xsvr15n0yj21613zv003z0mhgvqr1n5vf"; depends=[]; }; + CARrampsOcl = derive { name="CARrampsOcl"; version="0.1.4"; sha256="1sdrir7h7xl1imipm9b71vca062dxqsqd8mg3w9f3s80x2aghxl8"; depends=[OpenCL fields]; }; + caschrono = derive { name="caschrono"; version="1.4"; sha256="1l9hmsacynh73kh14jrp7a42385v78znn9ll1jchzgkyz2x4dibw"; depends=[forecast Hmisc its timeSeries]; }; + cat = derive { name="cat"; version="0.0-6.5"; sha256="1gv7chqp6kccipkrxjwhsa7yizizsmk4pj8672rgjmpfcc64pqfm"; depends=[]; }; + catdata = derive { name="catdata"; version="1.2"; sha256="0907sr7kjlr47sxaxvkk3za5j2rn6zvckkgjc9inr5hrn5nv5hsv"; depends=[MASS]; }; + CatDyn = derive { name="CatDyn"; version="1.0-5"; sha256="1syc40256104nm8n7h5b7w3ia2iya0y47p1sdxk8g1dy4l5wnalm"; depends=[optimx BB]; }; + catenary = derive { name="catenary"; version="1.1"; sha256="0khdk61fh8ngr70qf9i2655h5nblj98r8zl724ljv1cjb5x1vphv"; depends=[ggplot2 boot]; }; + catIrt = derive { name="catIrt"; version="0.4-1"; sha256="1rrvm954sfsrl978kb47fv6pr9rczrb8n1ffhh71qjhj1bka35vb"; depends=[numDeriv sfsmisc]; }; + catnet = derive { name="catnet"; version="1.14.3"; sha256="099vxi3fy5y4w635mqmbzsyqiswsw76kz3l5vgg8ckrj1cqshh5z"; depends=[]; }; + caTools = derive { name="caTools"; version="1.17"; sha256="00jgbna2dm99y5hwk3y28ng2w2c0vxrx4rlz6mhd15z4lsdx1ys6"; depends=[bitops]; }; + catR = derive { name="catR"; version="3.0"; sha256="1qi5qp6s3xclm1wiid48lnyllax0lns8dxmrvssp04v30j19zwml"; depends=[]; }; + catspec = derive { name="catspec"; version="0.97"; sha256="1crry0vg2ijahkq9msbkqknljx6vnx2m88bmy34p9vb170g9dbs1"; depends=[]; }; + CausalGAM = derive { name="CausalGAM"; version="0.1-3"; sha256="0g68m2kxixwr7rx65r57m1n0qa161igc428zh9rj91fg6h4pdq4w"; depends=[gam]; }; + causalsens = derive { name="causalsens"; version="0.1"; sha256="1v72zjplsa073f92qdza1zvwa1fwxlpmh8f6w5z8qcyiwqcbmifr"; depends=[]; }; + Causata = derive { name="Causata"; version="4.2-0"; sha256="04lndjy4rdf063z75zv42b000z06ffnr91pv2sql1ks6w60zmh1m"; depends=[XML R_utils rjson RMySQL RCurl stringr yaml boot foreach data_table glmnet ggplot2]; }; + cba = derive { name="cba"; version="0.2-14"; sha256="067rm1rfz0rrq8xkzibd81pwvc9rx7ki46bncim4j5ra6i9pn24n"; depends=[proxy]; }; + CBPS = derive { name="CBPS"; version="0.8"; sha256="0a619sgr4iv66y16a7bfywxhniaxsrixr6pqwn88hj0j0k5b312i"; depends=[MASS MatchIt nnet numDeriv]; }; + CCA = derive { name="CCA"; version="1.2"; sha256="00zy6bln22qshhlll0y0adnvb8wa1f7famqyws71b6pcnwxki5ha"; depends=[fda fields]; }; + CCAGFA = derive { name="CCAGFA"; version="1.0.3"; sha256="1qicxrrwwd9il894v11lmmf4i88j72nyqm3z8iz9f7m17l9yiwwf"; depends=[]; }; + ccaPP = derive { name="ccaPP"; version="0.3.0"; sha256="1wj5yij02372xarhvxsnh43v0l6xb2p8rflmskw6x86vpcdqd6zw"; depends=[Rcpp pcaPP robustbase RcppArmadillo]; }; + cccd = derive { name="cccd"; version="1.04"; sha256="0mhqv9hzvw3w6wp23kvw4py54ij6x9r19b87i97wwgqr5rhhh1f3"; depends=[igraph plotrix proxy]; }; + ccChooser = derive { name="ccChooser"; version="0.2.6"; sha256="1vgp4zhg46hcf9ma2cmwgnfrqkmq1arh0ahyzjpfk3817vh7disc"; depends=[cluster]; }; + cccrm = derive { name="cccrm"; version="1.1"; sha256="0q7vxzj3lblz5ddgzm8z99k0b0z194963hx96bbkqm4rv705dgb0"; depends=[nlme gdata]; }; + ccda = derive { name="ccda"; version="1.0"; sha256="13wxzwpld55rbpbslrgm2f7gamvkbmkaic7xrp1nn4l3lvg236dy"; depends=[MASS]; }; + ccgarch = derive { name="ccgarch"; version="0.2.3"; sha256="0angffla3sk9i86v6bbsav95fp3mz5yvq7qfv0fx2v0nd2cx116w"; depends=[]; }; + cclust = derive { name="cclust"; version="0.6-18"; sha256="1lyk205i6q0s194r4l575l531c60kdql6p8aqhjjfkjfhczh5hq3"; depends=[]; }; + CCM = derive { name="CCM"; version="1.1"; sha256="0gya1109w61ia6cq3jg2z5gmvjkv9xg71l2rxhrrf6bx1c2nsrq6"; depends=[]; }; + CCMnet = derive { name="CCMnet"; version="0.0-2"; sha256="1x5xjnnyr31yq9cgqfrvg71x7mmc2c54r59fv0az49njh3yg3vja"; depends=[sna network ergm]; }; + CCP = derive { name="CCP"; version="1.1"; sha256="07jxh33pb8llk1gx4rc80ppi35z8y1gwsf19zrca9w91aahcs8cx"; depends=[]; }; + CCpop = derive { name="CCpop"; version="1.0"; sha256="10kgw3b98r0kn74w89znq6skgk8b3ldil6yb0hn5rlcf6lazjzca"; depends=[nloptr]; }; + CCTpack = derive { name="CCTpack"; version="1.1"; sha256="07qqsfmd08amkh8yhfgd2g988v3q1j5p756wdjcy45cgzh5mn7d3"; depends=[R2jags rjags psych mvtnorm polycor MASS]; }; + cda = derive { name="cda"; version="1.5.1"; sha256="09a2jb25219hq6if3bx03lsp94rp2ll9g73dhkdi665y7rlhgqwh"; depends=[dielectric Rcpp statmod randtoolbox reshape2 plyr]; }; + cdb = derive { name="cdb"; version="0.0.1"; sha256="1rdb4lacjcw67apdyiv7cl1xvv9d1mrzck1qk605n6794k7wf2ys"; depends=[bitops]; }; + CDFt = derive { name="CDFt"; version="1.0.1"; sha256="0sc8ga48l3vvqfjq3ak5j1y27hgr5dw61wp0w5jpwzjz22jzqbap"; depends=[]; }; + CDLasso = derive { name="CDLasso"; version="1.1"; sha256="0n699y18ia2yqpk78mszgggy7jz5dybwsi2y56kdyblddcmz1yv7"; depends=[]; }; + CDM = derive { name="CDM"; version="3.2-6"; sha256="07vnvqzrs3zny0p2sq0df37jgiwhzrnlgw9p6dd9x9qn5m9asfm6"; depends=[mvtnorm MASS psych polycor sfsmisc Rcpp]; }; + CDNmoney = derive { name="CDNmoney"; version="2012.4-1"; sha256="1bnfsygbzdd70m5s9qq7524b1fybdws46axxjbw9dhwqpr8w85id"; depends=[]; }; + CDVine = derive { name="CDVine"; version="1.2"; sha256="1qfjbzdfz2dydkfw3b0jjma4csn62177j5sgzh6rszf0nifsi97g"; depends=[MASS mvtnorm igraph]; }; + cec2005benchmark = derive { name="cec2005benchmark"; version="1.0.3"; sha256="1fc833ji557y2vb6snlxh90gz1n7fxjfkwjmdcmasj1sfzaalsjy"; depends=[]; }; + cec2013 = derive { name="cec2013"; version="0.1-4"; sha256="199r6b1gkay9a7v1x7v2w8xmxmafvizdyb1dkiq3qylsqvhq994d"; depends=[]; }; + celestial = derive { name="celestial"; version="1.1"; sha256="19yxaa63px9byn5k2k2qr89f5vy73cqb5l4zq4qj1v27g06k5dy7"; depends=[]; }; + CellularAutomaton = derive { name="CellularAutomaton"; version="1.1-1"; sha256="0kmw2ic161xwalqa63hznic4n4hdz20hsilf2awlcldg7m9si1zd"; depends=[R_oo R_methodsS3]; }; + cellVolumeDist = derive { name="cellVolumeDist"; version="1.3"; sha256="00hq3nbfbnmg2lhrqd0glkh5ld50fv54ll3q6v875d1lgs44sln1"; depends=[minpack_lm gplots]; }; + cem = derive { name="cem"; version="1.1.10"; sha256="0lykr7sksii30nk4z8pvn4bdmvhm5952grrsvb63qblazg3b84qc"; depends=[nlme lattice randomForest combinat]; }; + censNID = derive { name="censNID"; version="0-0-1"; sha256="1ij5ci6nkqf0rq51vyh4jw5sr3y46yndfkjmwl78ppdj66axxir5"; depends=[]; }; + censReg = derive { name="censReg"; version="0.5-20"; sha256="15k7iq4275dyah3r47vgxsx6g6mr7ma53lkv6d1n89bczzys72kx"; depends=[maxLik glmmML sandwich miscTools]; }; + CensRegMod = derive { name="CensRegMod"; version="0.0"; sha256="0vfkyj2mx5l1pmcah8zilxrjlb6iign1by4ydjq8ddk1zyi242sw"; depends=[]; }; + CePa = derive { name="CePa"; version="0.5"; sha256="1y2q72j8bqx509i62a2x9j40rj5bkpgx4z6fwj05ibazc1441asd"; depends=[igraph snow]; }; + cepp = derive { name="cepp"; version="1.0"; sha256="0lw3qr0vp0qbg2b62abhi1ady1dwig68m4nzqnjnk3lqxzp0fs8f"; depends=[trust randtoolbox]; }; + cfa = derive { name="cfa"; version="0.9-3"; sha256="0pl1mxv6jxn3mvlh75gr8as0daklyr7gkh37fcgmn2bwi973sspy"; depends=[]; }; + CfEstimateQuantiles = derive { name="CfEstimateQuantiles"; version="1.0"; sha256="1qf85pnl81r0ym1mmsrhbshwi4h1iv19a2wjnghbylpjaslgxp6i"; depends=[]; }; + CFL = derive { name="CFL"; version="0.1"; sha256="1vi1iiyg7qga7knpqgf30zfzy46aqzs8digkv5933lc2xrv03ap1"; depends=[]; }; + cg = derive { name="cg"; version="1.0-0"; sha256="1dyisisvys85zwn4hix5zsgs08qgxn75fyb6h7xvk0nvmks1md05"; depends=[Hmisc VGAM MASS lattice survival multcomp nlme]; }; + cgam = derive { name="cgam"; version="1.1"; sha256="1dy23ix0ll0riqpdqxhf86fmw4m8mgqmp6m1c4nyhwk2z2adxd3k"; depends=[coneproj]; }; + cgAUC = derive { name="cgAUC"; version="1.1.2"; sha256="1y3q4hmkd6wbn4zjgclla3jif272sn4vv63ijxnfrsylzy02xhln"; depends=[]; }; + cgdsr = derive { name="cgdsr"; version="1.1.30"; sha256="0c8n2c6gqhk5klrxmmyf77czn2zwmm1f9cbp8n8yrhdcdqminznm"; depends=[R_oo R_methodsS3]; }; + cggd = derive { name="cggd"; version="0.8"; sha256="06z0mrxxc02parn9vkjv89qq4yqmsccsy319fi6c5iarssyvin1r"; depends=[]; }; + cgh = derive { name="cgh"; version="1.0-7.1"; sha256="1fgjz43bgnswlyvrm669x697lybq3jyzz4l8ppgxqwxp4p4d2yqn"; depends=[]; }; + cghFLasso = derive { name="cghFLasso"; version="0.2-1"; sha256="0b1hnjf9g0v47hbz0dy9m6jhcl1ky20yyhhmm8myng2sndcpjsbf"; depends=[]; }; + cghseg = derive { name="cghseg"; version="1.0.2"; sha256="0nz52wlgpl9r9pa41lz7nzk35fvcn3zr0gyliiw8q1nyxl2m0q1s"; depends=[]; }; + cgwtools = derive { name="cgwtools"; version="1.1"; sha256="11ryc20iqz0xwpq0cfjy37f6mnyrwvhf7kkf574j0v9fn6zg2jic"; depends=[]; }; + ChainLadder = derive { name="ChainLadder"; version="0.1.7"; sha256="06jgxhjlvzcgfm7dnzd81ycf1xx7qcyvk5541qmnvniwqppfvm19"; depends=[systemfit Matrix actuar Hmisc statmod reshape2 MASS lattice tweedie]; }; + changeLOS = derive { name="changeLOS"; version="2.1"; sha256="1bld2phnvcwfpqbkg1ycjci4i4dc4di8gjckbqjp997zyr42nnay"; depends=[survival]; }; + changepoint = derive { name="changepoint"; version="1.1.2"; sha256="1lx52zdpva5yrnscgwziph0vk5k5mz2saz9ngfma5scxiiqfx3d8"; depends=[zoo]; }; + ChargeTransport = derive { name="ChargeTransport"; version="1.0.1"; sha256="03xm5rzqhcr4fywrgwh8217rck120wyssxin3ahawqzxvrq3b7pv"; depends=[]; }; + CHAT = derive { name="CHAT"; version="1.0"; sha256="0w6p5ymiancvha41xyzm61ahmz0a95wqh2kax2whb57l1cpz3ghx"; depends=[DPpackage]; }; + CHCN = derive { name="CHCN"; version="1.5"; sha256="18n8f002w0p0l1s5mrrsyjddn10kdbb6b7jx1v9h1m81ifdbv0xb"; depends=[bitops RCurl]; }; + cheb = derive { name="cheb"; version="0.3"; sha256="0vqkdx7i40w493vr7xywjypr398rjzdk5g410m1yi95cy1nk4mc7"; depends=[]; }; + chebpol = derive { name="chebpol"; version="1.3-1040"; sha256="13x6li7cs72pnhxxdigg6r9f0nay89hldzh76vp0hi0i2y9vw0dz"; depends=[]; }; + CheckDigit = derive { name="CheckDigit"; version="0.1-1"; sha256="0091q9f77a0n701n668zaghi6b2k3n2jlb1y91nghijkv32a7d0j"; depends=[]; }; + cheddar = derive { name="cheddar"; version="0.1-625"; sha256="1qdxid6h7kyja0ac4v6ml2s6vw5lhrlchcz8lbf37gs9bpx6b4jc"; depends=[]; }; + chemCal = derive { name="chemCal"; version="0.1-34"; sha256="0sn0mhp2d9a9rddfpkiv1pkrmvnv4sy18c1x2ks0lwpaklg78fbs"; depends=[]; }; + chemometrics = derive { name="chemometrics"; version="1.3.8"; sha256="0vd5p2qhd17hr9psk6pg4jvcadz2pjffkjaffva4spa7m7qpp5ss"; depends=[class e1071 gclus lars MASS mclust nnet pcaPP pls rpart robustbase som]; }; + ChemometricsWithR = derive { name="ChemometricsWithR"; version="0.1.7"; sha256="1mach1lxjrz4hfrlc7w1qgvmphmzky6a15gxn8n0hcxk3v3m90jw"; depends=[ChemometricsWithRData MASS pls]; }; + ChemometricsWithRData = derive { name="ChemometricsWithRData"; version="0.1.3"; sha256="10zhvr2bfl5d2g27bpxvygkm83lh8qjylfi627jmpcplvvifxb01"; depends=[]; }; + chemosensors = derive { name="chemosensors"; version="0.7.7"; sha256="1yi0d69nxknca3k7pnxppgjaqyzlc1ksxaa7w31favq0xbdw508n"; depends=[pls plyr reshape2 ggplot2 LearnBayes quadprog RColorBrewer]; }; + ChemoSpec = derive { name="ChemoSpec"; version="1.61-3"; sha256="1309jsib5gckhpaxs63yp6m0ia97jvzv2lr398f89xbwi81zg8va"; depends=[pls amap chemometrics robustbase RColorBrewer plyr pcaPP mvtnorm mvoutlier rgl R_utils mclust MASS baseline IDPmisc gsubfn lattice seriation]; }; + cherry = derive { name="cherry"; version="0.4-9"; sha256="018jmmjx30jb85w4729pkwp66napbx9bxn8d1zjslwn14930xbrm"; depends=[bitops]; }; + chillR = derive { name="chillR"; version="0.54"; sha256="1qcwspww5nvp6nh26ly6ckqd0jzq4fkq5svjj5a55pvk04xk9frs"; depends=[pls Kendall spam fields]; }; + chipPCR = derive { name="chipPCR"; version="0.0.6"; sha256="14rq39nn3k5xak6jvnrwgf2r6nwy435bzkin4a1b9mp7iq3dmb56"; depends=[qpcR outliers robustbase signal]; }; + CHNOSZ = derive { name="CHNOSZ"; version="1.0.3.1"; sha256="0cmirnb8jkaxnscpkwm2a8yyzl9zaf3q323avpgg7fwwhr6c1l19"; depends=[]; }; + ChoiceModelR = derive { name="ChoiceModelR"; version="1.2"; sha256="0dkp3354gvrn44010s8fjbmkpgn1hpl4xbfs5xslql8sk8rw0n2c"; depends=[]; }; + choplump = derive { name="choplump"; version="1.0-0.3"; sha256="10nkkcmpay4rcqbkdhlksnxqb177j5bjpsffyy6q5dbl7nf7whx1"; depends=[]; }; + chords = derive { name="chords"; version="0.67"; sha256="0dj9bbl5abdvvfrn17xxnrnrlvdxw4m841ds37a6pf8dzprs1gdv"; depends=[]; }; + choroplethr = derive { name="choroplethr"; version="1.4.0"; sha256="1fcbrbql6n6xv3gxiq0sl0lf7swgrsyhbzbwdmx4lnw4v2bn5cka"; depends=[ggplot2 scales plyr Hmisc acs stringr]; }; + chromoR = derive { name="chromoR"; version="1.0"; sha256="1x11byr6i89sdk405h6jd2rbvgwrcvqvb112bndv2rh9jnrvcw4z"; depends=[haarfisz gdata]; }; + chron = derive { name="chron"; version="2.3-45"; sha256="0jkanbisi1bxh35rg0i6sl82f8r9v8va8mf8hknfvwv7p7n3ddpx"; depends=[]; }; + CHsharp = derive { name="CHsharp"; version="0.3"; sha256="0aa9v6yih6qmqsmc8zsl8k1wqsp3sp2bfwri3d37k06vfj7gwbh0"; depends=[scatterplot3d KernSmooth]; }; + CIDnetworks = derive { name="CIDnetworks"; version="0.2.5"; sha256="0ldpgf370rpylrqp3lbxs6r2x1047y6bxqm40a7yq04i6mg0zwh3"; depends=[mvtnorm msm Rcpp igraph]; }; + CIFsmry = derive { name="CIFsmry"; version="1.0.1"; sha256="118vyiiy4iqn86n9xf84n5hrwrhzhr1mdsmyg9sm6qq6dm7zg6la"; depends=[]; }; + cimis = derive { name="cimis"; version="0.1-7"; sha256="002drrilp6hi6zpr6wn3dm4sg1pakszw7piydaas0jqsz6qz3n79"; depends=[XML RCurl]; }; + cin = derive { name="cin"; version="0.1"; sha256="1pwvy5nh5nrnysfqrzllb9fcrpddqg02c7iw3w9fij2h8s2v6kq5"; depends=[]; }; + CINID = derive { name="CINID"; version="1.0"; sha256="0xa9zbd578ac5gc2mm7k5yisw5sx8x259c5gwyy6frpkldhbwldn"; depends=[]; }; + CircE = derive { name="CircE"; version="1.0"; sha256="1fik612iggqv9hvp9nmpx0h6g6s6vfk99z8anvqkk5ify5690g1x"; depends=[]; }; + circlize = derive { name="circlize"; version="0.0.7"; sha256="1ps6cpir6b8pshqmiwqz5nj620h0i0nq7bk3kmcfmvz1mdszhivf"; depends=[]; }; + CircNNTSR = derive { name="CircNNTSR"; version="2.1"; sha256="1rl17kw6bl5xf7pgsc4im12i2kqz4a3b11vzzlb6wfl5yck6iff5"; depends=[]; }; + CircStats = derive { name="CircStats"; version="0.2-4"; sha256="1f2pf1ppp843raa82s2qxm3xlcv6zpi578zc4pl0d7qyxqnh603s"; depends=[MASS boot]; }; + circular = derive { name="circular"; version="0.4-7"; sha256="1kgis2515c931ir76kpxnjx0cscw4n09a5qz1rbrhf34gv81pzqw"; depends=[boot]; }; + cit = derive { name="cit"; version="1.2"; sha256="1mk3bgac8qhc48vm0z8fhygsrrd5mqznyblbfv03y4rjiyh7f2qs"; depends=[]; }; + CITAN = derive { name="CITAN"; version="2011.08-1"; sha256="1viv2iha6hcghh4iy4ndnbrnhcdrjixk837v78w43mdcmrkjh3rb"; depends=[DBI RSQLite RGtk2 hash ADGofTest]; }; + citbcmst = derive { name="citbcmst"; version="1.0.4"; sha256="1zkd117h9nahwbg5z6byw2grg5n3l0kyvv2ifrkww7ar30a2yikl"; depends=[]; }; + citccmst = derive { name="citccmst"; version="1.0.2"; sha256="1b7awn1hjckxisfdi4ck697hwd4a5sqklwi7xzh6kgqhk9pv7vjn"; depends=[]; }; + CityPlot = derive { name="CityPlot"; version="2.0"; sha256="0lskgxmagqjglvpq39hgbygkf4qp28i2bj6b4m2av1s3pzb4465g"; depends=[]; }; + Ckmeans_1d_dp = derive { name="Ckmeans.1d.dp"; version="3.02"; sha256="1r7zxvrcn8lg8i74fnjr7mqcnhc0y5lsxy1zch1bhbrnbr19sgq5"; depends=[]; }; + cladoRcpp = derive { name="cladoRcpp"; version="0.14.2"; sha256="0gb8j991dxnyrfwqvcb2vcs8dhmsd8777w00r8gqcxx2yx8civvw"; depends=[Rcpp RcppArmadillo]; }; + CLAG = derive { name="CLAG"; version="2.18.1"; sha256="0y8m6m01vw3rxwrmxvwhpiy6dd2snr0lhb026l1494y43hhqi3wy"; depends=[]; }; + class = derive { name="class"; version="7.3-10"; sha256="0yb1y2xnybr7mbpz9lgqcbkfwh9kki3qvkxhdxj33fsyb9c5mydr"; depends=[MASS]; }; + classGraph = derive { name="classGraph"; version="0.7-4"; sha256="08cid5bdbciyijlzkx3684gx0cyzcj8myawf4dhcrz00jqrg8v60"; depends=[]; }; + classifly = derive { name="classifly"; version="0.4"; sha256="0mw1vcas0gr1r4yvh0j02zhk7kp5342r0bhhg776hqgqdczgh5zj"; depends=[class plyr]; }; + classify = derive { name="classify"; version="1.2"; sha256="1c1919phhn3xlm807408hhryy1ifm8vf68zcb0gj3adiczpj5xcy"; depends=[Rcpp plyr ggplot2 lattice R2jags reshape2]; }; + classInt = derive { name="classInt"; version="0.1-21"; sha256="1sld7bw1x2i8qqj0fbavifl9ni8724fg2wrwjyg657ib8f2yqj5z"; depends=[e1071 class]; }; + clere = derive { name="clere"; version="1.1"; sha256="1jna5dqy47mldd557qxl7vr59v5lalhligvm3c4k6b2dfararhfr"; depends=[Rcpp]; }; + clhs = derive { name="clhs"; version="0.5-1"; sha256="09165qcnlwz6aaafq4lzzpm7id15wgfbz3am9gfp2g5fyh0irsr2"; depends=[ggplot2 sp raster reshape2 plyr scales]; }; + ClickClust = derive { name="ClickClust"; version="0.1.1"; sha256="1mgim5z4j0lmjlazqqigc88r41ciqnz9d49irm9b2bdjwg2rpilw"; depends=[]; }; + clickstream = derive { name="clickstream"; version="1.1.0"; sha256="0ak1avqaipxnz8g261346i1wki7vf4hiaj2n5krr85ay7rv4gnym"; depends=[igraph plyr reshape2 Rsolnp]; }; + climdex_pcic = derive { name="climdex.pcic"; version="1.1-1"; sha256="1payygvw327qjab9vzivqd21f5w0gwq3f2jjpmkk89fn7rznz7y2"; depends=[PCICt caTools Rcpp]; }; + clime = derive { name="clime"; version="0.4.1"; sha256="0qs9i7cprxddg1cmxhnmcfhl7v7g1r519ff2zfipxbs59m5xk9sf"; depends=[lpSolve]; }; + clinfun = derive { name="clinfun"; version="1.0.5"; sha256="1498xxyc1j59fr8p6nskhphk558s7dd6p5gvdq24frmlx6nagxd6"; depends=[mvtnorm]; }; + clinsig = derive { name="clinsig"; version="1.0-4"; sha256="0w2qb9k6fkw9lqi0ib6kzi6pvpb5hpq78w9x2jjs0yyqsj0rydwv"; depends=[]; }; + clinUtiDNA = derive { name="clinUtiDNA"; version="1.0"; sha256="0x3hb09073gkh60fc8ia0sfk948sm6z6j8sqkz275k4m8ryrabas"; depends=[]; }; + clogitL1 = derive { name="clogitL1"; version="1.3"; sha256="0bf1x0q3svw286jc8yyjfyqlb1rpvbylksyhwh0ik1v9wp808fqq"; depends=[Rcpp]; }; + cloudUtil = derive { name="cloudUtil"; version="0.1.10"; sha256="1j86vpd4ngrdpfjk44wb1mp0l88dxia64pjd2idfcd276giplh6s"; depends=[]; }; + clpAPI = derive { name="clpAPI"; version="1.2.6"; sha256="1kgzmzf87b0j43ch21anmm2d73bj2d16slmyavpbkdwg72dg1sjb"; depends=[]; }; + CLSOCP = derive { name="CLSOCP"; version="1.0"; sha256="0rkwq9rl2ph4h5zwb2i3yphjyzxmh6b6k23a8gcczycx6xdq4yhw"; depends=[Matrix]; }; + clue = derive { name="clue"; version="0.3-48"; sha256="1lwfm5sk9d35khcrvjs91bixfnjc3zwyfzq5ma9ljsc6hs80y8ar"; depends=[cluster]; }; + cluster = derive { name="cluster"; version="1.15.2"; sha256="0bv7qsbf6x3gq2iz3rwbjsj3cs8j0dvzxjhwdsvnqgkc1yhpkr13"; depends=[]; }; + clusterCrit = derive { name="clusterCrit"; version="1.2.3"; sha256="0xd06w7jsl3srvhqx08vywy191k97lk3mgl2hsx1ki8ydplrdyha"; depends=[]; }; + cluster_datasets = derive { name="cluster.datasets"; version="1.0-1"; sha256="0i68s9305q08fhynpq24qnlw03gg4hbk4184z3q3ycbi8njpr4il"; depends=[]; }; + clusterfly = derive { name="clusterfly"; version="0.4"; sha256="0mxpn7aywqadyk43rr7dlvj0zjcyf4q7qbqw5ds38si7ik34lkrg"; depends=[rggobi e1071 reshape2 plyr RGtk2]; }; + clustergas = derive { name="clustergas"; version="1.0"; sha256="1vf4czpwk71yxd26vm5sal0ml20ssjrq4bmk31yzxydpxn495fg8"; depends=[cluster]; }; + clusterGeneration = derive { name="clusterGeneration"; version="1.3.1"; sha256="0lvkqqcshnaqk40s5y736r53y9yss3hlvgs6gs7p8ksk14vj7i2q"; depends=[MASS]; }; + clusterGenomics = derive { name="clusterGenomics"; version="1.0"; sha256="127hvpg06is4x486g1d5x7dfkrbk7dj35qkds0pggnqxkq3wsc1c"; depends=[]; }; + clusterPower = derive { name="clusterPower"; version="0.5"; sha256="1g2qpvizyk4q3qlgvar436nrfqxwp5y8yi2y6rch9ak5mbg3yzqb"; depends=[lme4]; }; + clusterRepro = derive { name="clusterRepro"; version="0.5-1.1"; sha256="0vsf6cq6d51a4w23ph8kdz2h8dfpzyd6i85049p2wakn1kdvkz5p"; depends=[]; }; + clusterSim = derive { name="clusterSim"; version="0.43-4"; sha256="12ngcfh68ck7511yrc9agjnxwbxz52zddmvp8xyayxj8j7qnkk91"; depends=[cluster MASS ade4 e1071 rgl R2HTML]; }; + clusteval = derive { name="clusteval"; version="0.1"; sha256="1ld0bdl4fy8dsfzm3k7a37cyxc6pfc9qs31x4pxd3z5rslghz7rj"; depends=[mvtnorm Rcpp]; }; + clusthaplo = derive { name="clusthaplo"; version="1.2"; sha256="17vxk61bw99h34n9a6vp40nanigfai34s237ydb56jpamsq8sf2b"; depends=[ggplot2]; }; + ClustOfVar = derive { name="ClustOfVar"; version="0.8"; sha256="17y8q2g4yjxs2jl1s8n5svxi021nlm0phs1g5hcnfxzpadq84wbs"; depends=[]; }; + clustrd = derive { name="clustrd"; version="0.1.2"; sha256="022lzp1wvbaa20d8hribgq9miy6i7jxm5m1p3p52h9b7bzga3q6g"; depends=[corpcor e1071 ggplot2 irlba]; }; + clustsig = derive { name="clustsig"; version="1.1"; sha256="0n5nf712vsa8zb0c2lv4gjqsgva62678vjngr9idgswb73shxm8v"; depends=[]; }; + ClustVarLV = derive { name="ClustVarLV"; version="1.2"; sha256="0831nrid4wv99p35zinhfcnr2kgh4rmgg3vq62rzvcabsq9l825r"; depends=[Rcpp]; }; + clustvarsel = derive { name="clustvarsel"; version="2.0"; sha256="0ql98r2aqwfmbn48xd68wpi2lk671aj2l8dqjn0jjp1vrk9fbw1m"; depends=[mclust BMA foreach iterators]; }; + clv = derive { name="clv"; version="0.3-2.1"; sha256="1qgp2qhblg6ysyrlg0ad169ahwhcyn5pvsqzdlqj700y1k7wl7mc"; depends=[cluster class]; }; + clValid = derive { name="clValid"; version="0.6-6"; sha256="1l9q7684vv75jnbymaa10md13qri2wjjg7chr1z1m0rai8iq3xxw"; depends=[cluster class]; }; + cmaes = derive { name="cmaes"; version="1.0-11"; sha256="1hwf49d1m660jdngqak9pqasysmpc4jcgr8m04szwbyzyy6xrm5k"; depends=[]; }; + CMC = derive { name="CMC"; version="1.0"; sha256="1r9a5k79fyw01yiwxq02327hpn4l1v2lp0958jj9217wxmhn3pr5"; depends=[]; }; + CMF = derive { name="CMF"; version="1.0"; sha256="0hvqcbmg2vd0i1rjb1m1bkrbv2vkj1siank1v8w0n5b6881cyz7q"; depends=[Rcpp]; }; + cmm = derive { name="cmm"; version="0.7"; sha256="16pw9namrc3crcqnsn4ckk8m4r3af908wm2siw6fzbk6hwac17i6"; depends=[]; }; + CMPControl = derive { name="CMPControl"; version="1.0"; sha256="0cp29cibiydawsl0cq433l9abdivr16b431zlrh45wzr5kzfcs0v"; depends=[compoisson]; }; + cmprsk = derive { name="cmprsk"; version="2.2-6"; sha256="0ln72h57icsch967hm398bilv13zf9jxjal2zfsa0rv0cishw8qd"; depends=[survival]; }; + cmrutils = derive { name="cmrutils"; version="1.2-2"; sha256="0gc4sx8g9364sybmrqdjdvddqjd9ps6v205kaw0nqdx30xn96hmm"; depends=[chron]; }; + cncaGUI = derive { name="cncaGUI"; version="0.0-2"; sha256="1rgs7446qb40b4qi1i4m5c3111kbqap4z1g7s01pnbylil0m80fd"; depends=[rgl tcltk2 tkrplot]; }; + CNprep = derive { name="CNprep"; version="1.0"; sha256="1i8iz0ir14g56zjsj8z4kmds5rybg8jjra33v0qcjwp489s6475a"; depends=[mclust rlecuyer]; }; + CNVassoc = derive { name="CNVassoc"; version="2.0.1"; sha256="0xf5rrcv7pl158fbz0yjibmrigpqgzwvdyl1gw0fkn5jjsm62hsm"; depends=[CNVassocData mixdist mclust survival]; }; + CNVassocData = derive { name="CNVassocData"; version="1.0"; sha256="17r3b1w9i9v6llawnjnrjns6jkd82m2cn9c90aif8j0bf4dmgdli"; depends=[]; }; + coalescentMCMC = derive { name="coalescentMCMC"; version="0.4"; sha256="115kvrk46hzhr83vkk57jn90dw2fvj1pl56w6mlja16i93yaz10h"; depends=[ape coda Matrix phangorn]; }; + coarseDataTools = derive { name="coarseDataTools"; version="0.6-2"; sha256="1nnh61kfw294cxawz9i8yf37ddzsn5s532vvkaz0ychk0390wmi5"; depends=[MCMCpack]; }; + COBRA = derive { name="COBRA"; version="0.99.4"; sha256="1r1cw12d7c148pcgcg08bfsr1q1s736kfpyyss6b4d7ny7wgmqy4"; depends=[]; }; + cobs = derive { name="cobs"; version="1.2-2"; sha256="1g8qwnda7fqrqknz7lnlq47kqs5k83pg9qq205alm12jgx3180a1"; depends=[SparseM quantreg]; }; + cobs99 = derive { name="cobs99"; version="0.9-12"; sha256="0zd0nyw8ma7k90i1k3ryn6qcb6yivrrajc6nmdh4f95ihvhc9ksm"; depends=[]; }; + CoClust = derive { name="CoClust"; version="0.2-9"; sha256="0qzvbyv7p7gi4pmvgwc1zc164d4cph20sy8ypgskx2pli2n3lh0d"; depends=[copula gtools]; }; + cocor = derive { name="cocor"; version="1.0-0"; sha256="173kszv661hailav69khqh9c15y9m5n6l7crc9i6vf71yrig1vqs"; depends=[]; }; + cocorresp = derive { name="cocorresp"; version="0.2-1"; sha256="0q41clhp4nl9vyakfmnhr5ix7nxfq0phq8xa02na38qhfwpxznfn"; depends=[vegan]; }; + cocron = derive { name="cocron"; version="1.0-0"; sha256="190kfv7haybi7s33bqf8dd3pcj8r6da20781583rrq6585yqh4g6"; depends=[]; }; + coda = derive { name="coda"; version="0.16-1"; sha256="0575pbx37jn7ljgjybl2v7rry55l6s6cb3a0m9znh4blln405q4i"; depends=[lattice]; }; + codadiags = derive { name="codadiags"; version="1.0"; sha256="1x243pn6qnkjyxs31h1hxy8x852r0fc952ww77g40qnrk8qw79xg"; depends=[coda]; }; + codep = derive { name="codep"; version="0.2-2"; sha256="1knl6hrqf98lslgn3hvafxpwvrzcy4fjdw0gg44dixcynv08rncr"; depends=[]; }; + codetools = derive { name="codetools"; version="0.2-8"; sha256="0m326kfxihm5ayfn5b4k8awdf34002iy094gazbc3h0y42r4g86b"; depends=[]; }; + coefficientalpha = derive { name="coefficientalpha"; version="0.2.6"; sha256="0a0fvg22sg3idavv2qrb9sjvjjfm39fvpjsxz83a7bk6400vflsr"; depends=[MASS]; }; + coefplot = derive { name="coefplot"; version="1.2.0"; sha256="1v6c3fk2wrjgs3b31vajmig6dvmp5acfm72wh0iffpg0qgvf5hh7"; depends=[ggplot2 plyr reshape2 useful scales proto]; }; + coexist = derive { name="coexist"; version="1.0"; sha256="15ydhrx996i6caa0360c2bgn2zvgwfg5wdhsqq1gvrggs15w7nml"; depends=[]; }; + CoImp = derive { name="CoImp"; version="0.2-3"; sha256="04n0drx98hi8hmlb5xwl87ylv03j1ld04vp9d8s5sphvm9bbx690"; depends=[copula nnet gtools locfit]; }; + coin = derive { name="coin"; version="1.0-23"; sha256="07433fblandxb8gzkzln49cckv75mqr2z847dwsa3qz68callxba"; depends=[survival modeltools mvtnorm]; }; + CoinMinD = derive { name="CoinMinD"; version="1.1"; sha256="0invnbj5589wbs0k2w5aq9qak7axc3s0g9nw85c48lnl0v95s91i"; depends=[MCMCpack]; }; + colbycol = derive { name="colbycol"; version="0.8"; sha256="198zc4jd7gby1dhvmg7fy41ldbxkgqj6ram54g3w6sw0yv9ilk8r"; depends=[rJava filehash]; }; + cold = derive { name="cold"; version="1.0-3"; sha256="17nlqhp5415m8wjkb2ykmk1q3lgw1aycf85b6byl8p06bfrvmw2p"; depends=[]; }; + CollocInfer = derive { name="CollocInfer"; version="1.0.0"; sha256="1q8bbj331iylvkvr0gqxvjnbdhncb549vlcamy0iqa9cl0gjlijv"; depends=[fda deSolve MASS Matrix spam]; }; + coloc = derive { name="coloc"; version="2.3-1"; sha256="1j3m9afpkm0bzib38yqvk85b6s6l56s6j2ni96gii4a06r87ig60"; depends=[colorspace MASS BMA]; }; + colorfulVennPlot = derive { name="colorfulVennPlot"; version="2.4"; sha256="01b3c060fbnap78h9kh21v3zav547ak2crdkvraynpd2096yk51w"; depends=[]; }; + colorRamps = derive { name="colorRamps"; version="2.3"; sha256="0shbjh83x1axv4drm5r3dwgbyv70idih8z4wlzjs4hiac2qfl41z"; depends=[]; }; + colorspace = derive { name="colorspace"; version="1.2-4"; sha256="1ppvkcclqjdj1b9j59sc2gda55kmwq9l00n5643ggjb15m2dm76h"; depends=[]; }; + colortools = derive { name="colortools"; version="0.1.5"; sha256="0z9sx0xzfyb5ii6bzhpii10vmmd2vy9vk4wr7cj9a3mkadlyjl63"; depends=[]; }; + colourlovers = derive { name="colourlovers"; version="0.1.2"; sha256="1mrdw10j6b6xihsh29vjqiz1jmw3h7lm77y2zcnw01g1lqb4rqlp"; depends=[XML RJSONIO png]; }; + comato = derive { name="comato"; version="1.0"; sha256="03jnvv0sczy13r81aljhj9kv09sl5hrs0n5bn3pdi7ba64zgbjiw"; depends=[igraph Matrix lattice gdata XML cluster clusterSim]; }; + combinat = derive { name="combinat"; version="0.0-8"; sha256="1h9hr88gigihc4na7lb5i7rn4az1xa7sb34zvnznaj6pdrmwy4qm"; depends=[]; }; + CombinS = derive { name="CombinS"; version="1.0"; sha256="0gi66hmj3jmr301r2ahrln4zjjjvl6gabdv3y5df7aqidxlbhqbb"; depends=[]; }; + CombMSC = derive { name="CombMSC"; version="1.4.2"; sha256="1wkawxisn9alpwrymja8dla8n25z2fhai3l2xhin0b914y2kai09"; depends=[]; }; + comclim = derive { name="comclim"; version="0.9.2"; sha256="14x9qpflprdi7j94xipndzp76bbs7cqmyhqd2cakxgnl1q915pnx"; depends=[]; }; + commandr = derive { name="commandr"; version="0.9.5"; sha256="1i960c4hszxm10qcpn9hrhxfzxfp9yywkbj4i9hraj8ka759z75a"; depends=[]; }; + CommonJavaJars = derive { name="CommonJavaJars"; version="1.0-4"; sha256="0amn8z8im64q1k6j6l2bh4795b6i665wxqpgabhv471zfhdk0nil"; depends=[]; }; + CommonTrend = derive { name="CommonTrend"; version="0.7-1"; sha256="088pg2hy2g2jgs84xawrnsf7gpvrpqjsimkx7g0i5r5fmkx169f9"; depends=[MASS urca]; }; + comorbidities = derive { name="comorbidities"; version="1.0"; sha256="01aisxy4cx3jw37cg6mwvfj4nv10ndmwjxf8xsfv7s20hdb0gmqn"; depends=[]; }; + Comp2ROC = derive { name="Comp2ROC"; version="1.0"; sha256="0vymjbxdlvm5dvss4z4zjdc7y7040s3j972gh2138wfygji1szg7"; depends=[ROCR boot]; }; + compactr = derive { name="compactr"; version="0.1"; sha256="0f2yds6inmx0lixj08ibqyd2i61l2cbg1ckgpb8dl2q7kcyyd6mx"; depends=[]; }; + compare = derive { name="compare"; version="0.2-4"; sha256="0fhw7y7xwrv79wxvs9gy4xddjzc6hh97m81a10j64jssy4p291b6"; depends=[]; }; + compareGroups = derive { name="compareGroups"; version="2.0.4"; sha256="1z2aipcjnqh83g33aypspwk8kkab5i2h5ms0lnnmcp3c8wn8pzi8"; depends=[Hmisc xtable gdata SNPassoc survival epitools HardyWeinberg]; }; + compareODM = derive { name="compareODM"; version="1.2"; sha256="019hq8j56asjvh4x1p65785mf38xr05j3by0749gl9k9yl8645da"; depends=[XML]; }; + CompareTests = derive { name="CompareTests"; version="1.0"; sha256="098axl20jid35pqvgiwk6h91waafigwks6n5f4pg7xxx1fifks4f"; depends=[]; }; + comparison = derive { name="comparison"; version="1.0-4"; sha256="0pc462rhk8gr8zrf08ksi315kmhydlp027q5gd40ap5mmhk7rd82"; depends=[isotone]; }; + compeir = derive { name="compeir"; version="1.0"; sha256="1bb5459wcqpjic2b9kjn0l0qdn7sqmmx34hdb2aqg80q22mhx5dv"; depends=[lattice etm]; }; + compHclust = derive { name="compHclust"; version="1.0-2"; sha256="1h39krvz516xwsvn5987i1zbzan8vx2411qz6dad112hpss0vyk9"; depends=[]; }; + complex_surv_dat_sim = derive { name="complex.surv.dat.sim"; version="2.0.0"; sha256="1x4whyq0bds0zblppcvv7lk6qy567c37x19n1r0xjgyl3id40f7c"; depends=[eha statmod]; }; + CompLognormal = derive { name="CompLognormal"; version="3.0"; sha256="1dhgr9l713l2n889bpa47lbg2qab0fz0r15qa928c0b9nz688ddm"; depends=[numDeriv]; }; + compoisson = derive { name="compoisson"; version="0.3"; sha256="0v5dl7xydqi4p97nipn4hyhpq2gghmx81ygvl0vc8b65jhq89y0p"; depends=[MASS]; }; + COMPoissonReg = derive { name="COMPoissonReg"; version="0.3.4"; sha256="1mf2q7phc2bn700yp7i2i6ccj6lrvh8b2dmibqihh76a85j1ycrq"; depends=[]; }; + compound_Cox = derive { name="compound.Cox"; version="1.4"; sha256="08sdkq040zk9mb1lcy4nm32gwab26vaig8brp2n3aizagx9fv3r9"; depends=[numDeriv survival]; }; + Compounding = derive { name="Compounding"; version="1.0.2"; sha256="1xlb3ylwjv70850agir0mx79kcvs43h0n1sm22zcny3509s2r7lf"; depends=[hypergeo]; }; + CompQuadForm = derive { name="CompQuadForm"; version="1.4.1"; sha256="1kv4bdkwidkjw0hgn2krv42p9v1a03p47g0p03lja3flhfbmiifj"; depends=[]; }; + CompRandFld = derive { name="CompRandFld"; version="1.0.3"; sha256="1qfq1zkdxk6jh3z7vfp91c6jcvj4smq21cndxdmq150f6vsx35fl"; depends=[]; }; + compute_es = derive { name="compute.es"; version="0.2-3"; sha256="17g1s9vz61kyqsm16vbzwmaw2qz6r99p9cg3s6c7lk73vr2qrwni"; depends=[]; }; + ConConPiWiFun = derive { name="ConConPiWiFun"; version="0.4.2"; sha256="0x3md1xfrrg41qfyafbvl9qaa6yy81nky3pl5z9qs850mjbs8qdl"; depends=[Rcpp]; }; + concor = derive { name="concor"; version="1.0-0.1"; sha256="0hjyvi6p16cyrmq0bq7fph1r5f3adp7zpf123wkm5bkjnc5122k0"; depends=[]; }; + concreg = derive { name="concreg"; version="0.5"; sha256="0psvnirl5rqicyzxs9sivh23bzzwdgviqczdl2in2gnrvdiw7m6f"; depends=[survival]; }; + cond = derive { name="cond"; version="1.2-2"; sha256="0r4z8gkjqd5l9j83k23v7x2w5j7lr3kzzdrgm1fvc6sf8lb18lf7"; depends=[statmod survival]; }; + condGEE = derive { name="condGEE"; version="0.1-4"; sha256="0mqj2pc91n8h3arpd4b9f7ndbcnai21c67is22qg22wj7vhhs87h"; depends=[numDeriv rootSolve]; }; + condmixt = derive { name="condmixt"; version="1.0"; sha256="05q1fj7akf6lsq9rbcqqkzlx82jvk6mlvmwx6jzk8j228fwqmg90"; depends=[evd]; }; + CondReg = derive { name="CondReg"; version="0.16"; sha256="1240xspnxh9fkj35jal07rpk7q7h05cvzvpypg4wcx3gvb02askj"; depends=[]; }; + coneproj = derive { name="coneproj"; version="1.4"; sha256="07zhqidjinpphvr7xdzrn3f5iq6bx8c2sj5gya2bz8glf4x74h9d"; depends=[Rcpp]; }; + conf_design = derive { name="conf.design"; version="2.0.0"; sha256="06vdxljkjq1x56xkg041l271an1xv9wq79swxvzzk64dqqnmay51"; depends=[]; }; + confReg = derive { name="confReg"; version="0.1.3"; sha256="0cwz5wnrk0qppj65gskizy2jb9y6x6xhkyb5qhd5xfc698x6ivs2"; depends=[e1071]; }; + confreq = derive { name="confreq"; version="1.1"; sha256="14d0vlf4bwmdwayqg2fsyqblyinx1d3mqhndhjjk0d59qmr44lsa"; depends=[]; }; + conicfit = derive { name="conicfit"; version="1.0.0"; sha256="032a9ajrv1xl2i4p3a32fyzg6s76vngdcmwqnh2lgk72srlhryzj"; depends=[pracma geigen]; }; + conics = derive { name="conics"; version="0.3"; sha256="06p6dj5dkkcy7hg1aa7spi9py45296dk0m6n8s2n3bzh3aal5nzq"; depends=[]; }; + conjoint = derive { name="conjoint"; version="1.39"; sha256="0f8fwf419js9c292i3ac89rlrwxs2idhwxml1qd8xd2ggwfh6w5m"; depends=[AlgDesign clusterSim]; }; + ConjointChecks = derive { name="ConjointChecks"; version="0.0.9"; sha256="097mhiz8zjmmkiiapr3zfx7v35xirg57nqp1swd72dixaa23nhr1"; depends=[]; }; + ConnMatTools = derive { name="ConnMatTools"; version="0.1.4"; sha256="1z9bq6npm0131msjj35mx053kb7y4xvhg5gcchs45fxk81mbv84b"; depends=[]; }; + CONOR = derive { name="CONOR"; version="1.0.2"; sha256="1h6vx8hq8lbjdhv466q9q4h13hir1pfj6bjmg90gmqjwrpbdciw1"; depends=[CLSOCP tseries outliers nortest quadprog zoo fields fpc flexclust plyr CONORData]; }; + CONORData = derive { name="CONORData"; version="1.0.2"; sha256="0a52wz9i9md15wqvhh105wjvlw4byx7qgy9i1sd1wr4jn84ir5wf"; depends=[CLSOCP tseries outliers nortest quadprog zoo fields fpc flexclust plyr]; }; + constrainedKriging = derive { name="constrainedKriging"; version="0.2.2"; sha256="1bza9xnzvymskxc02s8pc2xafh7sdp0mvfcn7hnjvc7ma2rmjprp"; depends=[sp spatialCovariance rgeos RandomFields]; }; + contfrac = derive { name="contfrac"; version="1.1-9"; sha256="16yl96bmr16a18qfz6y5zf7p02ky1jy2iimcb1wp50g7imlcq840"; depends=[]; }; + conting = derive { name="conting"; version="1.1"; sha256="0l2chipx3a3mqj7hrb16ca4hwgxbmg3h0p2s2864l0kxq5my7n62"; depends=[mvtnorm BMS gregmisc tseries coda]; }; + contrast = derive { name="contrast"; version="0.19"; sha256="1kc3scz3msa52lplc79mmn4z99kq1p2vlb18wqxa9q2ma133x6pl"; depends=[rms]; }; + ConvCalendar = derive { name="ConvCalendar"; version="1.2"; sha256="0yq9a42gw3pxxwvpbj6zz5a5zl7g5vkswq3mjjv5r28zwa3v05vc"; depends=[]; }; + ConvergenceConcepts = derive { name="ConvergenceConcepts"; version="1.0"; sha256="1s6yxiaxmv7yxydwjhxi778vznh4gs8l5cgy308bxj53d4d6kfkz"; depends=[tkrplot lattice]; }; + convexHaz = derive { name="convexHaz"; version="0.2"; sha256="0lfksb01iilhyjbr9wj3w4s9nbkdcl649w86fp2mz6s6makmq84x"; depends=[]; }; + cooccur = derive { name="cooccur"; version="1.0"; sha256="12h8bfy5gml47g6b151cynvybh3w8a3swq6l9563qsiq67hivn44"; depends=[reshape gmp ggplot2]; }; + COP = derive { name="COP"; version="1.0-2"; sha256="1gynknplvx97hjhi7adsgq9r9lqismch1q1pqvgmz0x1wkg4jj40"; depends=[dr MASS]; }; + copas = derive { name="copas"; version="0.8-0"; sha256="08c645n4pp077nh7c6b099bpw4vkkz02w0nsm6rrks7kx1kzd3yd"; depends=[meta]; }; + copBasic = derive { name="copBasic"; version="1.5.4"; sha256="1za91mkahkrcg4h54ii2zk3c22rn8krsa95aj9y0kgg3rxnd09hz"; depends=[lmomco]; }; + copula = derive { name="copula"; version="0.999-8"; sha256="12l0qd4ny9s5j88wggd09r6n3lv17zdf46brl5v7v83rnbd0c27l"; depends=[Matrix gsl ADGofTest stabledist mvtnorm pspline]; }; + copulaedas = derive { name="copulaedas"; version="1.3.1"; sha256="1prmj3z5znifd2mqq7s9z566fbskrcjx0ly43dcvjc9mb6fpq34p"; depends=[copula vines mvtnorm truncnorm]; }; + CopulaRegression = derive { name="CopulaRegression"; version="0.1-4"; sha256="17cfs47g5am0gf6kv366v87zv2gcmc7s7bcay4ccfqzqhbhli2i4"; depends=[MASS VineCopula]; }; + CopyDetect = derive { name="CopyDetect"; version="1.0"; sha256="013h9p3fz8dp8f54ddcr6q9nh76ayg6cwmx3ycv5cxmdyd9nz1y8"; depends=[irtoys]; }; + corclass = derive { name="corclass"; version="0.1"; sha256="02mxypdrjwf8psk0j9ggbw14889a87c6lw11qki3s3biq52qsx3y"; depends=[igraph]; }; + corcounts = derive { name="corcounts"; version="1.4"; sha256="0irlx62ql5rp5s7nnjdy6jh723wl4039wn10zxri8ihxwqsyyz3f"; depends=[]; }; + CORE = derive { name="CORE"; version="1.2"; sha256="0r63fyrxx2dkjnr2pdciw3a93zzhmvr75z7xd6grxp1ay3brq78n"; depends=[]; }; + CORElearn = derive { name="CORElearn"; version="0.9.42"; sha256="19lp1vzqc68ns10bjvsbk2d8v349pya3f6pn9a89w1q0ihp705fm"; depends=[cluster rpart]; }; + corHMM = derive { name="corHMM"; version="1.13"; sha256="0g2qhk4j6dhpigypxvbm7kib0brdrfi13ssrj1s3mccm1qaf3j79"; depends=[ape nloptr expm numDeriv corpcor phangorn rgenoud]; }; + CORM = derive { name="CORM"; version="1.0.1"; sha256="1srkca74c1k3q7xqrr5h9909pl5ydlhb1v79g2z9vvljwi3bz7n0"; depends=[cluster]; }; + corpcor = derive { name="corpcor"; version="1.6.6"; sha256="0rjlqbh76f5q3sjbh9nhvsip9391mnh05x5f7cqi6rp63c194v12"; depends=[]; }; + corpora = derive { name="corpora"; version="0.4-3"; sha256="0zh8mabfy9yqgx7asi4yqv4c0kj59yvyxxaxjgdjy5kkr17zd4g4"; depends=[]; }; + CorrBin = derive { name="CorrBin"; version="1.4"; sha256="0xnj2rhm4ph9277v2wfrp15p8nbdxiqfpcj0shj0d9z8rasx7p8m"; depends=[boot combinat]; }; + CorReg = derive { name="CorReg"; version="0.14.3"; sha256="02r7mw7wr4mhmg3ng06mmv6a6iplr4knvdlcz8xp91fb6v3jd52c"; depends=[Rcpp lars elasticnet clere spikeslab corrplot Matrix mclust Rmixmod ridge rpart MASS parcor]; }; + correlate = derive { name="correlate"; version="1.0"; sha256="0hv0i928f49p8n78hd3bcx923l2x0zcs4kwj71ph8gm7s8540fhc"; depends=[]; }; + Correlplot = derive { name="Correlplot"; version="1.0-2"; sha256="0prxnbi7ga5d23i0i4qpynfb3zrsgjxam47km6nsj1prakdkrq7w"; depends=[calibrate xtable]; }; + corrgram = derive { name="corrgram"; version="1.5"; sha256="015h4vnbmjir81x9ifqbnl25havpi8m7p3iaj30rl1hdhhbpy0dz"; depends=[seriation]; }; + corrplot = derive { name="corrplot"; version="0.73"; sha256="0xnlkb8lhdjcc10drym9ymqzvfwa3kvf955y0k66z5jvabzyjkck"; depends=[]; }; + corrsieve = derive { name="corrsieve"; version="1.6-8"; sha256="0ak3j9khcwv5rxbicck2sr260wpmd3xj254y7pdavx2fk0b72yxs"; depends=[]; }; + corTools = derive { name="corTools"; version="1.0"; sha256="0arvqk2xp19ap73zmdk0kb1fycb3v2mf65b4bhanvcqwr4kg4vdk"; depends=[]; }; + COSINE = derive { name="COSINE"; version="2.0"; sha256="0awn4xsfi3a2cifynivr38wh9x8ps17fij8kfd74p6fvy647d1b5"; depends=[MASS genalg]; }; + cosmoFns = derive { name="cosmoFns"; version="1.0-1"; sha256="0a6xhbgxxnymlvicg99yhgny2lscxcbmvqmy17kxmahdi797dsg6"; depends=[]; }; + cosmosR = derive { name="cosmosR"; version="1.0"; sha256="0w4qywnkgcybgyyhnvvg33amqi2vnkry6iajakyqr1x2hzfpf9sv"; depends=[xlsx]; }; + cosso = derive { name="cosso"; version="2.1-1"; sha256="1wyq27qak0kz4bbzynm24r5ksvb6ddd43h2ykh6m935xck16blyb"; depends=[quadprog Rglpk glmnet]; }; + costat = derive { name="costat"; version="2.3"; sha256="1kqyl89lx1amap9zgrfy1bqnl93kahrksj6yms44yrxr1as2g4nk"; depends=[wavethresh]; }; + cotrend = derive { name="cotrend"; version="1.0"; sha256="0h0y502wqq83wlf9ab1b9rxg1wycvi3sp4lbqfpvy46vgljrjw87"; depends=[xts]; }; + COUNT = derive { name="COUNT"; version="1.2.3"; sha256="0h3d5w93izh9nv97qxjqlv8igydvq6559ln9hj4j2hhp6pwc4n8l"; depends=[MASS]; }; + countrycode = derive { name="countrycode"; version="0.16"; sha256="1yhab0i0ag3b1r257i1yldr9y3j236x2vlgnhnhzkwm3mz7n7lgm"; depends=[]; }; + CountsEPPM = derive { name="CountsEPPM"; version="1.0"; sha256="19l0nb1rrhqcxcjx4lrp298xgxprziz1ccl3r1q3h16yj5vhkqrw"; depends=[Matrix Formula]; }; + covLCA = derive { name="covLCA"; version="1.0"; sha256="15jsjrlaws1cqyrwvh4lzbhxkb11jmgpmddg98nfrzmjpczn2iw3"; depends=[Matrix mlogit poLCA]; }; + covreg = derive { name="covreg"; version="1.0"; sha256="0v19yhknklmgl58zhvg4szznb374cdh65i7s8pcj2nwrarycwzaq"; depends=[]; }; + covRobust = derive { name="covRobust"; version="1.1-0"; sha256="1nvy5cqs4g565qj2hhgk5spr58ps2bhas3i752rf7wvrskb89fk7"; depends=[]; }; + CovSel = derive { name="CovSel"; version="1.0"; sha256="14z58mrvv7c9y3vmzzyfijyxhqkb4q30w6n5fmnzvrjx5ipp6wss"; depends=[MASS dr np boot cubature]; }; + covTest = derive { name="covTest"; version="1.02"; sha256="0p4di8bdjghsq5jd678dprlhiwnxr5piqlx2z7hi2bjjpvvl5657"; depends=[lars glmnet glmpath MASS]; }; + CoxBoost = derive { name="CoxBoost"; version="1.4"; sha256="1bxkanc8zr4g3abn4ds5wqibv65flvm4y648fs9s0l4vc9vmyshg"; depends=[survival Matrix prodlim]; }; + coxme = derive { name="coxme"; version="2.2-3"; sha256="1s9h03crzmvi0szg5rhq0m48q9i7hdppn1k528nfca5ikw2l37h9"; depends=[survival bdsmatrix nlme Matrix]; }; + coxphf = derive { name="coxphf"; version="1.10"; sha256="15bpy6vcn65pnknqbiqhpbpddhzyslgsc06g8rnamg60akg4p3v8"; depends=[survival]; }; + coxphw = derive { name="coxphw"; version="3.0.0"; sha256="11pyd09dwkbixjz1riv8rz3jrp1ix6cbn1fw9nm8vnrc19x5lkz5"; depends=[survival]; }; + CoxRidge = derive { name="CoxRidge"; version="0.9.1"; sha256="11vlsrv03j6kcxq9an7g210nq6cc6qd04b7w0pfbdk4bniqc0k60"; depends=[survival]; }; + coxrobust = derive { name="coxrobust"; version="1.0"; sha256="08hp0fz5gfxgs3ipglj6qfr6v63kzxkrzg650bmzabq8dvrxd97q"; depends=[survival]; }; + cpa = derive { name="cpa"; version="1.0"; sha256="14kcxayw4cdbjfa6bvfzqp8flwc0sr3hmh2dnr1dfax0hnccd71m"; depends=[]; }; + cpca = derive { name="cpca"; version="0.1.2"; sha256="1pccsjahb1qynnxa0akhfpcmhfmdg4rd1s6pfqrdl7bwbcmq4lqf"; depends=[]; }; + CPE = derive { name="CPE"; version="1.4.4"; sha256="09sqp2a0j43jr9ya9piv8575rwd5fdvwmiz4chv75r3mw8p128mn"; depends=[survival rms]; }; + CpGassoc = derive { name="CpGassoc"; version="2.11"; sha256="01hx9flf4mq1kgg77dah7s33kdkdgnmckppcl1y806xsnxqxmrxq"; depends=[nlme]; }; + CPHshape = derive { name="CPHshape"; version="1.0.1"; sha256="05krqcd4spgghp3ihv1zfql6ikd64vkqnrjghjvfki3hi3zi5k7h"; depends=[]; }; + cpk = derive { name="cpk"; version="1.3-1"; sha256="1njmk2w6zbp6j373v5nd1b6b8ni4slgzpf9qxn5wnqlws8801n73"; depends=[]; }; + cplexAPI = derive { name="cplexAPI"; version="1.2.9"; sha256="1j5hh1f6sxvhavi4j8cz3kycv85whipky3w007s3hxmxlxh4jlgb"; depends=[]; }; + cplm = derive { name="cplm"; version="0.7-2"; sha256="0vwj130r5wbax9ixcn0fdznh1zrr0wq48iivmlymqbhbqajmv8fb"; depends=[coda Matrix biglm ggplot2 minqa nlme reshape2 statmod tweedie]; }; + cpm = derive { name="cpm"; version="1.1"; sha256="173lxjnp19h6nfy578y3jh6bgwf2lyqj57gqiyb7n11qw52visdn"; depends=[]; }; + CPMCGLM = derive { name="CPMCGLM"; version="1.1"; sha256="1w8yp37vxz2cl0yqdzpyxdfq2scz2h9i4crjzjmjzpzffi45f06s"; depends=[mvtnorm plyr]; }; + Cprob = derive { name="Cprob"; version="1.2.2"; sha256="18dzyfgxx32azmb02i1gr0fb6nq1b81wni9cgj3qgw8ga7lplgik"; depends=[prodlim tpr geepack lgtdl lattice]; }; + CR = derive { name="CR"; version="1.0"; sha256="0smb2i560dwbxg3mp1svfxmaiw193pd3klwqq0i27czf07k1xfvj"; depends=[]; }; + CRAC = derive { name="CRAC"; version="1.0"; sha256="0vnqmmmwakx5jnzqp20dng35p7rvmz3ypm2m7bs41m8nhh2wq1xa"; depends=[]; }; + crackR = derive { name="crackR"; version="0.3-9"; sha256="18fr3d6ywcvmdbisqbrbqsr92v33paigxfbslcxf7pk26nzn2lly"; depends=[Hmisc evd]; }; + cramer = derive { name="cramer"; version="0.8-1"; sha256="16cn457f9ly1wm3hsx930rw5arywngn2mhhkmcmhdh9jmdkzsbn3"; depends=[boot boot]; }; + crank = derive { name="crank"; version="1.0-5"; sha256="1zy0z308kw0qgyppkm66p8vqw5b1qcn5avhm78zh0r9k60069dm5"; depends=[]; }; + crantastic = derive { name="crantastic"; version="0.1"; sha256="0y2w9g100llnyw2qwjrib17k2r2q9yws77mf6999c93r8ygzn4f5"; depends=[]; }; + crawl = derive { name="crawl"; version="1.4-1"; sha256="175w5933h5hhhjnrc0l1kg5q24b8pclnf5sf36gj1pmg8s58d1gp"; depends=[mvtnorm sp raster]; }; + crblocks = derive { name="crblocks"; version="0.9-1"; sha256="1m6yy6jb1dld7m9jaasms5ps8sn3v039jvlk8b0c08hmm7y0rm3z"; depends=[]; }; + crch = derive { name="crch"; version="0.1-0"; sha256="1f4y2dd6lxsryyjjv569bxh1b4ymcnma0m9k7j150anzvkbrgnjn"; depends=[Formula ordinal]; }; + CreditMetrics = derive { name="CreditMetrics"; version="0.0-2"; sha256="16g3xw8r6axqwqv2f0bbqmwicgyx7nwzff59dz967iqna1wh3spi"; depends=[]; }; + CRF = derive { name="CRF"; version="0.3-6"; sha256="0hv5mc2w9gr4ykycp4s5xfq97zrz480hkyfp9s7mi2hqnjhj1c0p"; depends=[Rglpk]; }; + crimCV = derive { name="crimCV"; version="0.9.3"; sha256="1p2cma78fb9a2ckmwdvpb6fc0818xw2mvq565dgiimgkdmmr0iid"; depends=[]; }; + CRM = derive { name="CRM"; version="1.1.1"; sha256="09h6xvqc2h2gxhdhc7592z93cnw16l549pn9i26ml0f0n20hljmf"; depends=[]; }; + crmn = derive { name="crmn"; version="0.0.19"; sha256="0gja9a2nk328hxali15kc2za32dgbjfznxh08yka6qf6jc6jx9g1"; depends=[pls]; }; + crn = derive { name="crn"; version="1.1"; sha256="1fw0cwx478bs6hxidisykz444jj5g136zld1i8cv859lf44fvx2d"; depends=[chron RCurl]; }; + crossdes = derive { name="crossdes"; version="1.1-1"; sha256="1d7lv3ibq1rwxx8kc3ia6l9dbz2dxdd5pnf2vhhjmwm448iamcfd"; depends=[AlgDesign gtools]; }; + crossmatch = derive { name="crossmatch"; version="1.3-1"; sha256="082lrv2129mfhwlh99z3g8id3a29s8854skl152bl3ig8pk2gbjz"; depends=[survival nbpMatching]; }; + crossval = derive { name="crossval"; version="1.0.1"; sha256="1xdl6cmmfkl46arbm71jhdsscjknclvsiaysijlp2p4vgw2762pa"; depends=[]; }; + crp_CSFP = derive { name="crp.CSFP"; version="2.0"; sha256="0ji208hn3zimql0xhy8bl7w0vg40szw28fia7k1f7g9z0wbl9xqp"; depends=[MASS]; }; + crqa = derive { name="crqa"; version="1.0.4"; sha256="05sp7dbi89wanhjlrbqb3ms9gl7s1h1iww26s4iy84i0pr0wg7br"; depends=[Matrix tseriesChaos fields]; }; + crrSC = derive { name="crrSC"; version="1.1"; sha256="171cw56q2yv1vb4qd0va75i2q89jcw1126q8pcbv0235g7p2a86z"; depends=[survival]; }; + crrstep = derive { name="crrstep"; version="2014-01.08"; sha256="1ak52nf4rabgdd8dpgpcnyn4lw04hgmf6qkd8d224pkgqmmpr80d"; depends=[cmprsk]; }; + crs = derive { name="crs"; version="0.15-22"; sha256="0mwaixjbjv3g7r9prd0vv99gwfkx3ifkl9f1lklzivchmsdkgpyv"; depends=[boot]; }; + CRTSize = derive { name="CRTSize"; version="0.3"; sha256="0m7dc29p2vdpcgji4k4yrpmhv29b7n9i2n6qz6fm19jb2byqsrr5"; depends=[]; }; + CrypticIBDcheck = derive { name="CrypticIBDcheck"; version="0.3-1"; sha256="1lrpwgvsif1wnp19agh8fs3nhlb7prr3hhqg28fi4ikdd1l2j3r4"; depends=[rJPSGCS car ellipse]; }; + csampling = derive { name="csampling"; version="1.2-2"; sha256="0gj85cgc3lgv7isqbkng4wgzg8gqcic89768q2p23k4jhhn6xm2w"; depends=[marg statmod survival]; }; + cSFM = derive { name="cSFM"; version="1.1"; sha256="1znxsqa8xdifmryg7jiqbpzm837n4n862kg5x1aki52crc4zyk3k"; depends=[sn mgcv mnormt MASS moments]; }; + cshapes = derive { name="cshapes"; version="0.4-2"; sha256="015mkh0iwdbhpbk8gpnq48pp026mfidd69rj70arpmg3knd2jvff"; depends=[sp maptools plyr]; }; + cslogistic = derive { name="cslogistic"; version="0.1-3"; sha256="1s8p3qpz81nn6zr0pzw6h9ca3p6ahd8zj640vy5gcb5waqwj6bfj"; depends=[mvtnorm]; }; + csound = derive { name="csound"; version="0.1-1"; sha256="0d4bad8qld29k0yavg7f2srljnbax0gj53dljqw1b1z7shyqd1n5"; depends=[rdyncall]; }; + CSS = derive { name="CSS"; version="1.0.2"; sha256="0p0c3gfj6p58hd4398kkpjg7rhx6wh5z6qddpqnvbm24acq7nrvh"; depends=[XML stringr]; }; + csSAM = derive { name="csSAM"; version="1.2.4"; sha256="1ms8w4v5m9cxs9amqyljc2hr1178cz6pbhmv7iiq9yj1ijnl4r1x"; depends=[]; }; + cts = derive { name="cts"; version="1.0-19"; sha256="16f6nah3w63bz8b9xlhi3a7mpkiywq6gqkxgm5am90g0bqg5j3py"; depends=[]; }; + CTT = derive { name="CTT"; version="2.1"; sha256="0v8k54x9pib6hq3nz3m80g1a3p003f7bn8wnj9swwvacc90d6n44"; depends=[]; }; + ctv = derive { name="ctv"; version="0.7-9"; sha256="16x9fb0mzclfhnm0n3b66n7wr8447fp2p39vrqs5xw3vsyxf46xg"; depends=[]; }; + cubature = derive { name="cubature"; version="1.1-2"; sha256="1vgyvygg37b6yhy8nkly4w6p01jsqg2kyam4cn0vvml5vjdlc18a"; depends=[]; }; + Cubist = derive { name="Cubist"; version="0.0.15"; sha256="1z4iyd7kgqy0cq58n7id4kygcilyyzb21kqg5svajibqgmminlsz"; depends=[lattice reshape2]; }; + cudaBayesreg = derive { name="cudaBayesreg"; version="0.3-15"; sha256="02akp2ib06hqb1vfqj27vj4y5m0pimy6qg69argq6g0bz5msrgp8"; depends=[cudaBayesregData oro_nifti]; }; + cudaBayesregData = derive { name="cudaBayesregData"; version="0.3-11"; sha256="1cls9xqgps7icjpi1mllkrksdxwc1jfhxgffvrcrqx2l16vw6qfx"; depends=[]; }; + cudia = derive { name="cudia"; version="0.1"; sha256="1ms3bc8sp6l3bm75j418mmb707sy3gyvxznhfias3nd4sw7i074x"; depends=[MCMCpack mvtnorm]; }; + CUMP = derive { name="CUMP"; version="1.0"; sha256="0dbpgm75nbd4h8rf3ca5n4mgdn3qm4yyf2d48vlihakzw6rqbpka"; depends=[]; }; + cumplyr = derive { name="cumplyr"; version="0.1-1"; sha256="07sz1wryl3kxbk67qyvnkrkdrp4virlsaia0y6rf9bqdw7rc6vi2"; depends=[]; }; + cumSeg = derive { name="cumSeg"; version="1.1"; sha256="01hn3j1i7bi2r9vsqwbgy1f1alcisxyf4316xx57bg82lb34d0s5"; depends=[lars]; }; + currentSurvival = derive { name="currentSurvival"; version="1.0"; sha256="0bqpfwf4v4pb024a98qwg81m6zd7ljg1ps42ifhxpqx7b9gdyi6c"; depends=[survival cmprsk]; }; + curvetest = derive { name="curvetest"; version="2.2"; sha256="1lz6rx9fmgyrlci1dyanscp2a18ki9lhrwnrzhp062flysffimg6"; depends=[locfit R_oo R_methodsS3]; }; + curvHDR = derive { name="curvHDR"; version="1.0-3"; sha256="0rq72prxv2r5nicss9mh4wpkfjvlbb885w85ag4qrqijzq6y8q04"; depends=[feature geometry hdrcde ks misc3d ptinpoly rgl]; }; + cusp = derive { name="cusp"; version="2.2"; sha256="0c8hxsvvp2p86jwcbx1rzs6i8w2mh3dnsfmfkwpq9x28aps3dmd5"; depends=[]; }; + cuttlefish_model = derive { name="cuttlefish.model"; version="1.0"; sha256="1rmkfyfd1323g2ymd5gi1aksp160cwy5ha5cjqh5r6fzd8hhqjxs"; depends=[]; }; + cvAUC = derive { name="cvAUC"; version="1.0-0"; sha256="1z8l2ivv7h8din6q46ds3gnlsff10l4ry2kavqv9qsl4xkd8rim0"; depends=[ROCR]; }; + CVcalibration = derive { name="CVcalibration"; version="1.0-1"; sha256="0ca582fnysrldlzxc3pihsph9pvdgygdh7sfzgxvr5fc3z1jbjzb"; depends=[]; }; + CVD = derive { name="CVD"; version="1.0.0"; sha256="1lqx3rrq4abm7rxc6c9zlw0sc6flc6mll4xgfnasfrkai82kaf44"; depends=[]; }; + cvplogistic = derive { name="cvplogistic"; version="3.1-0"; sha256="1lm66nn0q7665r64rdslxp35b7drdss4mys42ks54xdydcminns9"; depends=[]; }; + cvq2 = derive { name="cvq2"; version="1.2.0"; sha256="19k95xg2y3wd4mx3wvbrc1invybd446g13vsp3dv05nw2kx4f6w8"; depends=[]; }; + CVST = derive { name="CVST"; version="0.2-1"; sha256="17xacyi8cf37rr2xswx96qy7pwkaqq394awdlswykz3qlyzx4zx2"; depends=[kernlab Matrix]; }; + CVThresh = derive { name="CVThresh"; version="1.1.1"; sha256="19d7pslzj8r3z5gn3cplpz2h2ayz6k1nrfx3s2b7a8w1il3vmi69"; depends=[wavethresh EbayesThresh]; }; + cvTools = derive { name="cvTools"; version="0.3.2"; sha256="0b7xb6dmhqbvz32zyfbdvm9zjyc59snic6wp1r21ina48hchn3sj"; depends=[lattice robustbase lattice robustbase]; }; + cvxclustr = derive { name="cvxclustr"; version="1.0.0"; sha256="13fmm18507787njyscbs2wzijxq37a2yxqqzbmpdhgqa0jriq64z"; depends=[]; }; + cwhmisc = derive { name="cwhmisc"; version="4.0"; sha256="1lvq2mcbdr38nzbx344c2y9ayi3lv9fkzwwf0l2jzan9s2sppxx2"; depends=[lattice]; }; + cwm = derive { name="cwm"; version="0.0.3"; sha256="1ln2l12whjhc2gx38hkf3xx26w5vz7m377kv67irh6rrywqqsyxn"; depends=[MASS matlab permute]; }; + cxxfunplus = derive { name="cxxfunplus"; version="1.0"; sha256="0kyy5shgkn7wikjdqrxlbpfl3zkkv4v1p8a1vv0xkncwarjs4n8d"; depends=[inline]; }; + cycloids = derive { name="cycloids"; version="1.0"; sha256="00pdxny11mhfi8hf76bfyhd1d53557wcbl2bqwjzlpw5x3vdnsan"; depends=[]; }; + cyphid = derive { name="cyphid"; version="1.1"; sha256="0ya9w8aw27n0mvvjvni4hxsr4xc8dd08pjxx7zkfl1ynfn5b08am"; depends=[fda]; }; + cytoDiv = derive { name="cytoDiv"; version="0.5-3"; sha256="00c0gqgypywgbhavb15bvj6ijrk4b5zk86w85n9kwr4069b7jvwc"; depends=[GenKern plotrix]; }; + d3Network = derive { name="d3Network"; version="0.4.2"; sha256="0sfl1c3ddjrzm8b52vkq85qc4lzr9d2hkln5ism78kr42njvq3ah"; depends=[plyr rjson whisker]; }; + DAAG = derive { name="DAAG"; version="1.20"; sha256="05jlsrs0frk9ky20h17c5vj9d4j28c9n0a1jww5lssacimn1d4x5"; depends=[lattice latticeExtra]; }; + DAAGbio = derive { name="DAAGbio"; version="0.62"; sha256="18m4vq8vv0yi79na62nrm0cy1nlk7bg0xbddzxv5gpkmzi1i6m9s"; depends=[]; }; + DAAGxtras = derive { name="DAAGxtras"; version="0.8-4"; sha256="18lg13mbyharidj5j7ncx8s7d72v2hcnqr00vilhf3djk2mjq7xn"; depends=[]; }; + dae = derive { name="dae"; version="2.1-7"; sha256="0wchpq8hg2s33nm86dj6vqqvajg2062gbrxg6z7n9i2r6s1hmdjv"; depends=[lattice]; }; + daewr = derive { name="daewr"; version="1.0-10"; sha256="09ra3zkmvxdxn0fvrbzixvvgddb066bba9q5zih5kifc8kd0a5xp"; depends=[FrF2 BsMD]; }; + dafs = derive { name="dafs"; version="1.0-37"; sha256="1vdi57qaqdn39yf1ih2gzry02l289q4bffpksglsl4shs6bg2206"; depends=[s20x]; }; + DAGGER = derive { name="DAGGER"; version="1.4"; sha256="0b2hzv001xhch7pqgb53lfpdcjwg5lj33i6pb884l1kx92svjfr7"; depends=[Rglpk quadprog Matrix]; }; + dagR = derive { name="dagR"; version="1.1.3"; sha256="13jyhwjvvrjjja18rqzfdcw9ck90qm5yjwd25nygxgdf1894y03b"; depends=[]; }; + Daim = derive { name="Daim"; version="1.1.0"; sha256="19s0p3a4db89i169n2jz7lf8r7pdmrksw7m3cp9n275b5h8yjimx"; depends=[rms]; }; + DAKS = derive { name="DAKS"; version="2.1-2"; sha256="1817s7xd4h2zzaagmnw423qaxpa5fmxi3fh4h9hm2ra9w7nh6ljj"; depends=[relations sets]; }; + DALY = derive { name="DALY"; version="1.2.0"; sha256="1r4hdd79alphdk70z3g08nvw9cm0403h2bb9b7nn0mhm1l2yrk75"; depends=[]; }; + DAMisc = derive { name="DAMisc"; version="1.2"; sha256="1fkp21inpgfr5lfid8wmajlcsqbnrgl5c35j0863sywvz6gamgc2"; depends=[car effects lattice sm MASS nnet pscl gdata xtable]; }; + DandEFA = derive { name="DandEFA"; version="1.5"; sha256="0d82rjkgqf4w7qg7irlqvzzav1f23i2gmygkbf8jycaa6xhli80d"; depends=[gplots polycor]; }; + darch = derive { name="darch"; version="0.9.1"; sha256="0syrzmmz43msd51whkb4xy5n0kgcl50yw4w3i9sdd9k20glvwpsx"; depends=[futile_logger ff]; }; + darts = derive { name="darts"; version="1.0"; sha256="07i5349s335jaags352mdx8chf47ay41q7b0mh2xjwn2h9kzgqib"; depends=[]; }; + DatABEL = derive { name="DatABEL"; version="0.9-4"; sha256="11hdzndni7jaa5m42g8vmqk2s3armi7p5aiw7mh0fxzmwya1h32j"; depends=[]; }; + datacheck = derive { name="datacheck"; version="1.0.0"; sha256="03lms1m3g1rc6jj224hzzbv975xkdd0jsm602zn74j73i227fvmz"; depends=[Hmisc stringr shiny testthat xtable]; }; + DataCombine = derive { name="DataCombine"; version="0.1.24"; sha256="0vrs25554m9nzlqb0bg488ylb5nabb8aq8wh6q4xf81zsbz7imi8"; depends=[data_table forecast dplyr]; }; + dataframes2xls = derive { name="dataframes2xls"; version="0.4.5"; sha256="0lfdp87k0yypwvnsr7803ylzqfy51l37zgwy9zn5nb6n30p588fv"; depends=[]; }; + datalist = derive { name="datalist"; version="0.2"; sha256="0q82wira0sfi63cn66f5cfyd15f19ig7pbmpk56j38a3115l2fmn"; depends=[assertthat]; }; + datamap = derive { name="datamap"; version="0.1-1"; sha256="0qm4zb9ldg4wz1a7paj5ilr1dhyagq81rk9l2v43hmkv52sssgkv"; depends=[DBI]; }; + datamart = derive { name="datamart"; version="0.4.2"; sha256="1khhjva0kpl4j406lpn4n1bxlxk5wcmz4cbbrw71gi3bg3sxpd5y"; depends=[RJSONIO XML RCurl base64 markdown]; }; + datamerge = derive { name="datamerge"; version="1.0-1"; sha256="03xb48igkh0f91iq6qc2j5xzqfy2n51ci5i850gn09mm9k4lxij1"; depends=[xtermStyle]; }; + dataone = derive { name="dataone"; version="1.0.0"; sha256="0r2andiv1igygdd3rby4jqs0imhkyfyl0jzb67lc2vjgwh3m2rx0"; depends=[rJava XML dataonelibs rJava XML]; }; + dataonelibs = derive { name="dataonelibs"; version="1.0.0"; sha256="12qp8vgdqhsfsnh06ml6lz0vvk934q4bpbg79p9l1hsnbxwnj2w6"; depends=[rJava]; }; + dataQualityR = derive { name="dataQualityR"; version="1.0"; sha256="0f2410sd6kldv7zkqsmbz1js0p5iq7zwlnfwmmnlbrd303p35p3j"; depends=[]; }; + data_table = derive { name="data.table"; version="1.9.2"; sha256="1fchjg939av89m0zsv85w2xcc8qriwkskk0mcsqy8ip6pcfnlg66"; depends=[reshape2]; }; + datautils = derive { name="datautils"; version="0.1.4"; sha256="0adg87p9rzz62cm0s80x71mhsg3yfg93gskv1hs1l8gaj78zd1y1"; depends=[deldir gplots gtools]; }; + dataview = derive { name="dataview"; version="2.0-9"; sha256="0519h2c33v04vwdd8nz9xmqha15svhxdj761d68qmi52jrw6858d"; depends=[xtermStyle]; }; + date = derive { name="date"; version="1.2-34"; sha256="066zsddpw87x1bhl3479k6fd1wrl3x91n5rd454diwmwq2s8i5qb"; depends=[]; }; + DATforDCEMRI = derive { name="DATforDCEMRI"; version="0.55"; sha256="0v26a1gi8l21ga5nqcnyfaa7gc8zxq6wk95b96ajgpdybb0l9s53"; depends=[xtable akima R_oo R_methodsS3 matlab lattice locfit]; }; + dave = derive { name="dave"; version="1.4"; sha256="1qd01qv6nkfras92zvcdafniirvvnn6hqhcyrgh25z6bpd7pprv0"; depends=[labdsv vegan cluster nnet tree rpart MASS]; }; + Davies = derive { name="Davies"; version="1.1-8"; sha256="1wp7ifbs4vqfrn4vwh09lc53yiagpww91m5mxmcr62mjbw8q7zhr"; depends=[]; }; + dawai = derive { name="dawai"; version="1.0"; sha256="0vff248ldm24dk7kh2z2sj5m4g7jc5nmnlqay5j4h0gsk95fb8d5"; depends=[mvtnorm ibdreg boot]; }; + dbConnect = derive { name="dbConnect"; version="1.0"; sha256="1vab5l4cah5vgq6a1b9ywx7abwlsk0kjx8vb3ha03hylcx546w42"; depends=[RMySQL gWidgets]; }; + dbEmpLikeGOF = derive { name="dbEmpLikeGOF"; version="1.2.4"; sha256="0vhpcxy702cp3lvlif2fzmvccys8iy7bv1fbg6ki2l8bvn2f7c5p"; depends=[]; }; + dbEmpLikeNorm = derive { name="dbEmpLikeNorm"; version="1.0.0"; sha256="0h5r2mqgallxf9hin64771qqn9ilgk1kpsjsdj2dqfl3m8zg967l"; depends=[dbEmpLikeGOF]; }; + DBFTest = derive { name="DBFTest"; version="1.0"; sha256="0h83ic16z0lg7grjh4jbrxf672qchqv4zzypm2b1mhmzl01jn1wg"; depends=[]; }; + DBGSA = derive { name="DBGSA"; version="1.2"; sha256="04zqh9y3nqcdzs5jn8aaq5idy9zl450ikvl788xs860wlg692qv2"; depends=[fdrtool]; }; + DBI = derive { name="DBI"; version="0.2-7"; sha256="1qxmcgswrbisvzmaz2s6bcfbh3lb2hmizjxaqkan147r823rh2p9"; depends=[]; }; + DBKGrad = derive { name="DBKGrad"; version="1.5"; sha256="0k0bl680ynblbla5k9fndh5x7a6f8jyr402a7dg9cjnhhw5q7bxc"; depends=[minpack_lm SDD TSA lattice]; }; + dblcens = derive { name="dblcens"; version="1.1.7"; sha256="02639vyaqg7jpxih8cljc8snijb78bb084f4j3ns6byd09xbdwcw"; depends=[]; }; + dbmss = derive { name="dbmss"; version="2.1.0"; sha256="051q1b0srfiv983938fvhhr74ca8i921s1mg9dvqm716syxqic8z"; depends=[spatstat Rcpp cubature]; }; + dbstats = derive { name="dbstats"; version="1.0.3"; sha256="1l7yy6m98pkkrzycxcajjjw2h0crbm0fazyq9xg8875ar29i291p"; depends=[cluster pls]; }; + dcemriS4 = derive { name="dcemriS4"; version="0.51"; sha256="14ir9g4jg8asim8f33wizmvj6vm96583h212yygsa6yc301bhad8"; depends=[oro_nifti]; }; + DCGL = derive { name="DCGL"; version="2.1.1"; sha256="16jdlpl09q9pcymk5xxca2ba0vqv2l05wzi4ffb9ffydxpxy61j9"; depends=[igraph]; }; + DCL = derive { name="DCL"; version="0.1.0"; sha256="1ls3x3v0wmddfy7ii7509cglb28l1ix1zaicdc6mhwin0rpp2rx3"; depends=[lattice latticeExtra]; }; + dclone = derive { name="dclone"; version="2.0-0"; sha256="1j8g955rvdgcmc9vnz3xizlkq8w1bslav5h72igvzzffcvqbj9hq"; depends=[coda]; }; + DCluster = derive { name="DCluster"; version="0.2-6"; sha256="0g7d15kq3dbrjmd5fmiwwg2b6gakz1lpsgrpkg6q89pzwlqx8xr9"; depends=[boot spdep MASS]; }; + dcmle = derive { name="dcmle"; version="0.2-4"; sha256="0ddb0x0lwk8jgx05k747sa33d2rrj4g2p4aj0m5bw1c9d5gril0m"; depends=[dclone rjags coda lattice]; }; + dcv = derive { name="dcv"; version="0.1.1"; sha256="12c716x8dnxnqksibpmyysqp2axggvy9dpd55s9bhnsvqvi6dshj"; depends=[lmtest]; }; + ddalpha = derive { name="ddalpha"; version="1.0.6"; sha256="1scfmq6zsbd15n6mnnplj0c4a0yl8bp7nqqh91cvvycggb5y0a1v"; depends=[MASS class robustbase]; }; + DDD = derive { name="DDD"; version="2.4"; sha256="1fla2cm0iqmqm2pzkd49c0kswhamss5ir2f19nxydwfw017ygr3s"; depends=[deSolve ape ade4]; }; + ddepn = derive { name="ddepn"; version="2.2"; sha256="1zwz664jq6qvf1lcwyfn6kyn6dwxhh2nnyirayx0vqs9c6xzpir7"; depends=[lattice coda igraph gam gplots]; }; + DDHFm = derive { name="DDHFm"; version="1.1.1"; sha256="03zs2zbrhjcb321baghva7b8y61c8p9z6bfj2vg9cvadpb0260nk"; depends=[]; }; + ddst = derive { name="ddst"; version="1.03"; sha256="0zbqw4qmrh80jjgn8jzbnq3kykj1v5bsg6k751vircc0x9vnig3j"; depends=[orthopolynom evd]; }; + deal = derive { name="deal"; version="1.2-37"; sha256="1nn2blmxz3j5yzpwfviarnmabbyivc25cbfhcf814avrhpysvpxa"; depends=[]; }; + deamer = derive { name="deamer"; version="1.0"; sha256="1xbxr78n6s1yhf192ab4syi1naqlwl9z4cxzchrkw80q7bxqfiz8"; depends=[]; }; + debug = derive { name="debug"; version="1.3.1"; sha256="0mpwi6sippxyr1l8xf48xqv6qw6pmfkxs13k1gjyd7bkzlbchgqd"; depends=[mvbutils]; }; + decctools = derive { name="decctools"; version="0.1.5"; sha256="19k50r21mlfzh2lx3mibcqlpvrcdax61725416prqplgbdmi0bis"; depends=[XLConnect stringr XML reshape2 RCurl lubridate plyr]; }; + DECIDE = derive { name="DECIDE"; version="1.1"; sha256="1g6l2k4nmspg5y4gzxcnx58kix0br6sgmf54jlaxk69nkvdxm9xy"; depends=[]; }; + decon = derive { name="decon"; version="1.2-4"; sha256="1v4l0xq29rm8mks354g40g9jxn0didzlxg3g7z08m0gvj29zdj7s"; depends=[]; }; + Deducer = derive { name="Deducer"; version="0.7-7"; sha256="1x97rz92v1hx30fdmgd1lnzydgygjp6zh20v082qymvh997l1zzd"; depends=[ggplot2 JGR car MASS rJava e1071 scales plyr foreign multcomp effects]; }; + DeducerExtras = derive { name="DeducerExtras"; version="1.7"; sha256="0sngsq31469a74y7nhskl82fwy2i0ga68m9g6b1xyhxz1a8kgvlg"; depends=[Deducer irr rJava]; }; + DeducerPlugInExample = derive { name="DeducerPlugInExample"; version="0.2-0"; sha256="03aw7wr957xzw920ybyzxnck5kx0q2xpcrpq8jh2afyzszy6hzbi"; depends=[Deducer]; }; + DeducerPlugInScaling = derive { name="DeducerPlugInScaling"; version="0.1-0"; sha256="1qg11vi4szznchh54p9345jbmrfzfr9z5l3x5xz4m86myjkys1mb"; depends=[Deducer psych GPArotation mvnormtest irr klaR]; }; + DeducerSpatial = derive { name="DeducerSpatial"; version="0.7"; sha256="0133qk3yjcifyha7c4pqr5s0hmbci72bzgil2r0sxjmrljs3q727"; depends=[JavaGD Deducer sp maptools OpenStreetMap scales rgdal UScensus2010 Hmisc]; }; + DeducerSurvival = derive { name="DeducerSurvival"; version="0.1-0"; sha256="03qk3y4pibvrxbnxbm5rlksw807dvbilip1jbpn1r7k02ibzq676"; depends=[Deducer]; }; + DeducerText = derive { name="DeducerText"; version="0.1-1"; sha256="080mbjqm6vf9c6ddk2ba2m9mwwg0fawi37g13f80my2i3lsxpfhb"; depends=[Deducer tm wordcloud RColorBrewer SnowballC]; }; + deducorrect = derive { name="deducorrect"; version="1.3-4"; sha256="0hpq0cahfar9y9f6mvpmx35mvinwnnmqq16y9yzrmzbxjkylz2ja"; depends=[editrules]; }; + deepnet = derive { name="deepnet"; version="0.2"; sha256="09crwiq12wzwvdp3yxhc40vdh7hsnm4smqamnk4i6hli11ca90h4"; depends=[]; }; + Defaults = derive { name="Defaults"; version="1.1-1"; sha256="0ikgd5mswlky327pzp09cz93bn3mq7qnybq1r64y19c2brbax00d"; depends=[]; }; + degenes = derive { name="degenes"; version="1.1"; sha256="1xxn5j06qizywimrp1pl8z3yjdy1a167b9jnm77gmv87rp6j240c"; depends=[]; }; + degreenet = derive { name="degreenet"; version="1.2"; sha256="07b6phgyydfp8jwjvrqcvcx3b2qhbkr44xkcn20ya1igsbyh6kzz"; depends=[]; }; + Delaporte = derive { name="Delaporte"; version="2.1-1"; sha256="03ka7dys8ygw5id0zr9718n61mxa5nc8h3sc3b7sw296zcja6xb1"; depends=[Rcpp]; }; + deldir = derive { name="deldir"; version="0.1-5"; sha256="073rj4ab3dgxy4nqpvdm0936yg4580qf99ndsf43z3xk29dnbblb"; depends=[]; }; + deltaPlotR = derive { name="deltaPlotR"; version="1.3"; sha256="1f9jji73c1jizgd7k2ii0zw3h99sir0bi5jipihfkp2v9hzcdm82"; depends=[MASS]; }; + Demerelate = derive { name="Demerelate"; version="0.8-1"; sha256="1qngwlzzpd2cmij5ldrmhcn12s9yxd0rargc5vzvkrwcqpkgylkn"; depends=[Formula fts sfsmisc vegan mlogit]; }; + DEMEtics = derive { name="DEMEtics"; version="0.8-7"; sha256="1s59qim60d4gp5rxjacdbmxdbpdm7cy9samn088w8fs0q232vjjx"; depends=[]; }; + demi = derive { name="demi"; version="1.1.1"; sha256="19zszmjcczmz9qjp1dhvf92w134266w4qwskdpz36q72m5455zdb"; depends=[plyr R_utils]; }; + demography = derive { name="demography"; version="1.17"; sha256="01yq3wzzcdclgklxqr3sgxglnw18ljxnhzlmzaj9fzqqdw6xngv3"; depends=[forecast rainbow ftsa cobs mgcv strucchange RCurl]; }; + demoKde = derive { name="demoKde"; version="0.9-3"; sha256="1nkvsjms1gfvjz5l7zza0cgx4yqmn2kgnax44pysn0zqmhfny8bw"; depends=[]; }; + dendextend = derive { name="dendextend"; version="0.14.2"; sha256="01m050s8m3hgnc5yk2b9918p7w397gxk3pj4qczyd2nl9n38bwr5"; depends=[ape]; }; + dendextendRcpp = derive { name="dendextendRcpp"; version="0.5.1"; sha256="062f7yjsg196v8c09h6gvbhi0fzgwg40a8xhi751avkjc68z30cq"; depends=[Rcpp dendextend]; }; + dendroextras = derive { name="dendroextras"; version="0.1-4"; sha256="0g5s936xq8dpw7pg9xafrbnppgl8rjq2ig24vpmbdc4icmv1i3z7"; depends=[]; }; + DendSer = derive { name="DendSer"; version="1.0.1"; sha256="0id6pqx54zjg5bcc7qbxiigx3wyic771xn9n0hbm7yhybz6p3gz9"; depends=[gclus seriation]; }; + dendsort = derive { name="dendsort"; version="0.2.0"; sha256="14ax7bscwhxn1nrqq498a79jbkr9zn3ig4qr9b64axypbkj2mzyk"; depends=[]; }; + denpro = derive { name="denpro"; version="0.9.1"; sha256="0ihgk300njhp6dzm1gsmknlx4c5h6kiwprgv3l3f29s6gdxx4f6n"; depends=[]; }; + Density_T_HoldOut = derive { name="Density.T.HoldOut"; version="1.02"; sha256="0xjr6z136c0vgsb609xcqf6g4ivyvgpfr4qkwdlj9z5g7gcf3bhl"; depends=[histogram]; }; + denstrip = derive { name="denstrip"; version="1.5.3"; sha256="10h8ivs7nd6gkf93zvqzqjb1lzfabvvs182636m67f86jfn6d4y4"; depends=[]; }; + DEoptim = derive { name="DEoptim"; version="2.2-2"; sha256="0yayp056knd7d6bvk07k7rnj79vibmkzflnk71dsfbkk5yx7vc77"; depends=[]; }; + DEoptimR = derive { name="DEoptimR"; version="1.0-1"; sha256="02c1pmpg42wwmp3wjfi09qbidclclwmrmd3gbfvrnivq7ngp2zil"; depends=[]; }; + depend_truncation = derive { name="depend.truncation"; version="2.1"; sha256="1b13mqm8pjw0r0z5h7vizz15nzhslxhcn4cb8pzadyq98mcmk4g2"; depends=[mvtnorm]; }; + depmix = derive { name="depmix"; version="0.9.12"; sha256="0brs6cskrk52dn41zaqa59dxz377sl9lnh89457d3ykbj4jbc97c"; depends=[MASS]; }; + depmixS4 = derive { name="depmixS4"; version="1.3-2"; sha256="18xmn5fv9wszh86ph91yypfnyrxy7j2gqrzzgkb84986fjp2sxlq"; depends=[nnet MASS Rsolnp]; }; + depth = derive { name="depth"; version="2.0-0"; sha256="1aj4cch3iwb6vz0bzj4w5r6jp2qs39g8lxi2nmpbi3m7a6qrgr2q"; depends=[abind rgl circular]; }; + depthTools = derive { name="depthTools"; version="0.4"; sha256="1699r0h1ksgrlz9xafw2jnqfsc7xs0yaw97fc6dv3r11x6gxk00y"; depends=[]; }; + descr = derive { name="descr"; version="1.0.2"; sha256="1a39zf7rajdfb03khgmnv3iz9rxl3yix09yxkvhp1cvcsw3vv530"; depends=[xtable]; }; + DescribeDisplay = derive { name="DescribeDisplay"; version="0.2.4"; sha256="13npxq1314n4n08j6hbmij7qinl1xrxrgc5hxpbbpbd16d75c7iw"; depends=[proto reshape2 ggplot2 plyr scales GGally]; }; + DescTools = derive { name="DescTools"; version="0.99.6"; sha256="1hgaj9xj6qr7ngmwbip1pdz79gnxbv43xqr0zgn65vhyv66zq2j8"; depends=[boot]; }; + deseasonalize = derive { name="deseasonalize"; version="1.35"; sha256="1fjsa7g34dckjs6mx9b10m99byxagggm0p9pw2f1vmpjqlasin0l"; depends=[lattice FitAR]; }; + designGG = derive { name="designGG"; version="1.1"; sha256="1x043j36llwd7kd4skbpl2smz2ybsxjqf5yd1xwqmardq60gdv2w"; depends=[]; }; + desirability = derive { name="desirability"; version="1.6"; sha256="17g998fmps4ypiscqd2nmh38sd0q7k3r60h2zdrq3wbm1vyyzygk"; depends=[]; }; + desire = derive { name="desire"; version="1.0.7"; sha256="0jmj644nj6ck0gsk7c30af9wbg3asf0pqv1fny98irndqv508kf6"; depends=[loglognorm]; }; + DESnowball = derive { name="DESnowball"; version="1.0"; sha256="012kdnxmzap6afc3ffkcvk1mazlkp286av6g9fwz2wcbf5mh9n1m"; depends=[clue combinat MASS cluster]; }; + deSolve = derive { name="deSolve"; version="1.10-8"; sha256="0l67pr2pr70dmr4igkk1kl9dj5pzib4jclrzfrhw64hzz5hc1whs"; depends=[]; }; + detect = derive { name="detect"; version="0.3-1"; sha256="1wwz6hcsb0vlgs9bbagd74rpflpc694nvxahhcvi68r6im1gapnx"; depends=[Formula]; }; + deTestSet = derive { name="deTestSet"; version="1.1.1"; sha256="1qc8sj44zlndyr9k5r179pmy8kyq0wawz7q2xgdmnx27j2rjls43"; depends=[ReacTran]; }; + detrendeR = derive { name="detrendeR"; version="1.0.4"; sha256="1z10gf6mgqybb9ml6z3drq65n7g28h2pqpilc2h84l6y76sy909c"; depends=[dplR]; }; + DetSel = derive { name="DetSel"; version="1.0.2"; sha256="0igkccclmjwzk7sl414zlhiykym0qwaz5p76wf4i7yrpjgk7mhl9"; depends=[ash]; }; + devEMF = derive { name="devEMF"; version="1.2"; sha256="14nqx1gy6hlkmzrrayd7kgljla9flxx4xm329436znd66184sass"; depends=[]; }; + Devore6 = derive { name="Devore6"; version="0.6-0"; sha256="093jbz405wi0zf4nhracy80pl3m7255lq7jkbymfd5snpr9gnb53"; depends=[]; }; + Devore7 = derive { name="Devore7"; version="0.7.6"; sha256="1m18p8h9vv4v0aq2fkjyj39vzb8a09azbbczhfiv4y88w540i8nw"; depends=[MASS lattice]; }; + devtools = derive { name="devtools"; version="1.5"; sha256="1gd8skhj7612zbci361h3yys6iwxr7dvgrjr99vs7b0c0mglm7hp"; depends=[httr RCurl memoise whisker evaluate digest]; }; + df2json = derive { name="df2json"; version="0.0.2"; sha256="10m7xn7rm4aql1bzpckjcx5kvdw44m1pxgzqkgkd40lzqb1cwk18"; depends=[rjson]; }; + dfcrm = derive { name="dfcrm"; version="0.2-2"; sha256="1kwgxfqnz2bcicyb27lp6bnvrj30lqjpn5fg7kaqshgkj53g0s4f"; depends=[]; }; + dfexplore = derive { name="dfexplore"; version="0.2.1"; sha256="04nbhn59l1kas26nwj4qflkjvvr33sj1mm7zg7fhvya85gvlhrbf"; depends=[ggplot2]; }; + dfoptim = derive { name="dfoptim"; version="2011.8-1"; sha256="19j0h5xdrbmykz2nrjrwqwaw7466zvqaiwafrm1jc12mk5azfcqx"; depends=[]; }; + dglars = derive { name="dglars"; version="1.0.4"; sha256="1w04zs2mjf0avcns5hi9y7b4ccrnjg4251ilz8642r8bj30p14k7"; depends=[]; }; + dglm = derive { name="dglm"; version="1.6.2"; sha256="0w9rrvlhy2vd9mmp04i1hc3s1w228p0sicwg56rjywsmfqfr81vv"; depends=[statmod]; }; + dgmb = derive { name="dgmb"; version="1.0"; sha256="0s1wa8lg814ydajnx3z5zlly4321srdkhvqhr6syliylxi03778k"; depends=[abind MASS]; }; + dgof = derive { name="dgof"; version="1.2"; sha256="02qnb3i131hx05k8l5n3xbl5sqmmc2fh19bsgcacgj8ixs4wyjvi"; depends=[]; }; + dhglm = derive { name="dhglm"; version="1.2"; sha256="14wa0xkwb1qvkynk95aw6y4rx3jjdki19wdydg3wv5nfagcc4vdz"; depends=[Matrix numDeriv boot]; }; + diagram = derive { name="diagram"; version="1.6.2"; sha256="0jxy1rwph29w8q1383ykbnpq61p220azyv6miq1dx0v2fk5579da"; depends=[shape]; }; + DiagTest3Grp = derive { name="DiagTest3Grp"; version="1.6"; sha256="04dxyyqv333rkjf2vlfpal59m7klhw6y7qilym6nw78qb1kqqys7"; depends=[car KernSmooth gplots]; }; + diaplt = derive { name="diaplt"; version="1.2.1"; sha256="0pya6rqzsvc5nd3smhydvabarglc4nn04q605vbllmbhq9rv00pa"; depends=[]; }; + dice = derive { name="dice"; version="1.1"; sha256="0wnmiyrf57kjkby26z9lgplphv3p15dfxgsbbsgwq65md2d6idyn"; depends=[gtools]; }; + DiceDesign = derive { name="DiceDesign"; version="1.4"; sha256="0xpmaljyvvbrgk39m5lxdpnyx17cm5d2zhzpaycmvqydvfs66g92"; depends=[]; }; + DiceEval = derive { name="DiceEval"; version="1.2"; sha256="0x5j32fabwl2w24skxmkcj41k8a39pf7r8psldqyv8jqf04gdcmd"; depends=[DiceKriging]; }; + DiceKriging = derive { name="DiceKriging"; version="1.5.3"; sha256="14826fwsj6cifksyd605nbfxlfwnapr80inm4chjmm0f2xjc4r5n"; depends=[]; }; + DiceOptim = derive { name="DiceOptim"; version="1.4"; sha256="11k6gqw8bcfcnxhm6a039vnkdm7526h3aszjqwfp1s7m157w8kp2"; depends=[DiceKriging rgenoud MASS lhs]; }; + DiceView = derive { name="DiceView"; version="1.3-1"; sha256="0c7i1jy13d5bj822q1rp0d7gmmfjd00jaah34pnj8fzwyrq404z9"; depends=[DiceKriging DiceEval rgl]; }; + dichromat = derive { name="dichromat"; version="2.0-0"; sha256="1l8db1nk29ccqg3mkbafvfiw0775iq4gapysf88xq2zp6spiw59i"; depends=[]; }; + dicionariosIBGE = derive { name="dicionariosIBGE"; version="1.5"; sha256="03gsp5h39a4s6zgvwnrfdyj1wzrp688qk8g5hdr8rk3a2rzbbzgg"; depends=[]; }; + dielectric = derive { name="dielectric"; version="0.2.3"; sha256="1p1c0w7a67zxp1cb99yinylk5r1v89mmpfybcy94ydydhydbhivk"; depends=[]; }; + DierckxSpline = derive { name="DierckxSpline"; version="1.1-9"; sha256="07bp86zfbcp3d7jdhfap3z1sy15534qvdapdzscbyr2x82mmqpy3"; depends=[lattice PolynomF fda]; }; + diffdepprop = derive { name="diffdepprop"; version="0.1-9"; sha256="0mgrm1isr26v2mcm6fkzc7443ji00vpnqmw4zngx81n7442b3cl2"; depends=[gee rootSolve PropCIs]; }; + diffEq = derive { name="diffEq"; version="1.0"; sha256="17b6yw5xhlk70wvv58348hy1237sjwkxfrgkyw876piy50dxmnz8"; depends=[deSolve rootSolve bvpSolve ReacTran diagram deTestSet scatterplot3d]; }; + diffIRT = derive { name="diffIRT"; version="1.2"; sha256="00ak4cnnw68iswlsj198i6iw8xbpx4knnax30yfqp3ibkzq7mwp8"; depends=[statmod]; }; + diffractometry = derive { name="diffractometry"; version="0.1-8"; sha256="1m6cyf1kxm9xf1z4mn4iz0ggiy9wcyi8ysbgcsk7l78y7nqh1h99"; depends=[]; }; + diffusionMap = derive { name="diffusionMap"; version="1.1-0"; sha256="1l985q2hfc8ss5afajik4p25dx628yikvhdimz5s0pql800q2yv3"; depends=[scatterplot3d igraph Matrix]; }; + DIFlasso = derive { name="DIFlasso"; version="1.0-1"; sha256="048d5x9nzksphsdk9lwfagl165bb40r0pvjq2ihvhqvxspgpar4b"; depends=[grplasso penalized miscTools]; }; + difR = derive { name="difR"; version="4.5"; sha256="0qlaqpywyjggw74h5y5r2aivcyknc6b7l8b1p69g3lyx4d2hz8wp"; depends=[lme4 ltm]; }; + digest = derive { name="digest"; version="0.6.4"; sha256="06xbklq6laffv609hsfqyj04fhdnr9bgjh6ala7253h9vvkjch1k"; depends=[]; }; + Digiroo2 = derive { name="Digiroo2"; version="0.6"; sha256="1b1ahhqz5largjadlk5n6nw2183c05k28mksb1wm26y0lps0vdgr"; depends=[maptools spatstat spdep]; }; + dils = derive { name="dils"; version="0.8.1"; sha256="1q6ba9j14hzf7xy895mzxc6n9yjgind55jf350iqscwzxf7ynp33"; depends=[igraph Rcpp]; }; + DIME = derive { name="DIME"; version="1.2"; sha256="11l6mk6i3kqphrnq4iwk4b0ridbbpg2pr4pyqaqbsb06ng899xw0"; depends=[]; }; + dinamic = derive { name="dinamic"; version="1.0"; sha256="0mx72q83bbwm10ayr3f1dzwr5wgz7gclw7rh39yyh95slg237nzr"; depends=[]; }; + diptest = derive { name="diptest"; version="0.75-5"; sha256="13nml4fp2y77x396xm4j9h8k2cdinfmkna1fr0jpmy3lpcj3h6vs"; depends=[]; }; + DIRECT = derive { name="DIRECT"; version="1.0"; sha256="129bx45zmd6h7j6ilbzj2hjg4bcdc08dvm2igggi8ajndl1l5q9j"; depends=[]; }; + directlabels = derive { name="directlabels"; version="2013.6.15"; sha256="083cwahz320r4w4jbh62pxmzn1i1hixp398zm8f2fpzh4qp5y44g"; depends=[quadprog]; }; + directPA = derive { name="directPA"; version="1.0"; sha256="16bllp7afb83y73zr5wxfkad7vxzfqwdmhcxfa5jml4hlvkhgv1r"; depends=[]; }; + DirichletReg = derive { name="DirichletReg"; version="0.4-0"; sha256="1azrqx1wa7yaary3qk4pz605xzvzdvwqwz5darl2aighwafzgy8d"; depends=[maxLik Formula rgl]; }; + dirmult = derive { name="dirmult"; version="0.1.3-4"; sha256="1r9bhw1z0c1cgfv7jc0pvdx3fpnwplkxwz8j8jjvw14zyx803rnz"; depends=[]; }; + Disake = derive { name="Disake"; version="1.0"; sha256="1i58q6dqk980mk8qj66hbqd64wmkvpa4v0z6c0q3lkirsvdm4cwv"; depends=[]; }; + disclap = derive { name="disclap"; version="1.5"; sha256="0piv9gxhxcd4pbh5qjn9c3199f32y3qiw5vy8cr77ki70dnmr66n"; depends=[]; }; + disclapmix = derive { name="disclapmix"; version="1.4"; sha256="06036vs1jx4ac9d30q3pn9zschrpaq5wznk4n7zchyj8nl5lpr73"; depends=[Rcpp disclap cluster]; }; + DiscML = derive { name="DiscML"; version="1.0"; sha256="1pnv8dycbzj8x3x0dybh7mcsifmk83kcn0f1y11d6fawhq1232y8"; depends=[ape]; }; + DiscreteInverseWeibull = derive { name="DiscreteInverseWeibull"; version="1.0"; sha256="0lnpcpwfgl5ncaa67a32nvviv1wn60dprd781dpjljhgja4hrsa7"; depends=[Rsolnp]; }; + DiscreteLaplace = derive { name="DiscreteLaplace"; version="1.0"; sha256="1mwqvlhgswqp697zjl6yjzqbgazycwwz6dfdvx8s72hdmnlqqr9r"; depends=[]; }; + discreteMTP = derive { name="discreteMTP"; version="0.1-2"; sha256="13qsf1kc3rph0kkdkz31qj072www5dwjyk73lfpy141rzhcn1v1x"; depends=[]; }; + discreteRV = derive { name="discreteRV"; version="1.1"; sha256="1h845ya66d3kqxhxz85lq3ds74h38213s4j7jnm024c3bk9aa83w"; depends=[]; }; + DiscreteWeibull = derive { name="DiscreteWeibull"; version="1.0"; sha256="0v8za4arqarf20jrw38dzcjxdwfdpn0ss7p5yxbwhylnj7qz207w"; depends=[Rsolnp]; }; + discretization = derive { name="discretization"; version="1.0-1"; sha256="00vq2qsssnvgpx7ihbi9wcafpb29rgv01r06fwqf9nmv5hpwqbmp"; depends=[]; }; + discrimARTs = derive { name="discrimARTs"; version="0.2"; sha256="088v4awic4bhzqcr7nvk2nldf8cm1jqshg2pzjd2l2p1cgwmlxib"; depends=[RUnit]; }; + DiscriMiner = derive { name="DiscriMiner"; version="0.1-29"; sha256="1ii8aa4dwfk991qdnpmkva20wvs5fqcna9030c799ybf11qpdass"; depends=[]; }; + diseasemapping = derive { name="diseasemapping"; version="0.7.5"; sha256="0i5za00p2pgbwak5gl006yamklzg2m6xcxmqba1kiz16dddfscqq"; depends=[sp mgcv]; }; + dismo = derive { name="dismo"; version="0.9-3"; sha256="1vr24kx4mv15wivpk6lw1j8l4422p5al80fld8x6fcp31sf7q652"; depends=[raster sp]; }; + disp2D = derive { name="disp2D"; version="1.0"; sha256="0q5bds2r1mqzcwmnj61dmwqv6b0s0scq5h3nim47q3wp0n4gbslz"; depends=[geometry]; }; + displayHTS = derive { name="displayHTS"; version="1.0"; sha256="0mqfdyvn2c5c3204ykyq29ydldsq0kb3a1d7mrzqr7cvrj1ahlqa"; depends=[]; }; + dispmod = derive { name="dispmod"; version="1.1"; sha256="141gzhnmxxl495cpjgd4wnvdrbz6715m6sd1pycrbaqrsdc1pv57"; depends=[]; }; + Distance = derive { name="Distance"; version="0.9"; sha256="0rj9glc7plc8cyqlfijjcrls2lvi2w0zzlgxd6fq6yk0xicsggjc"; depends=[mrds]; }; + DistatisR = derive { name="DistatisR"; version="1.0"; sha256="1il00v26q68h5dd5c9lm2jblgn8hs6n0457r13mlw6r7pcj0158j"; depends=[prettyGraphs car]; }; + distfree_cr = derive { name="distfree.cr"; version="1.0"; sha256="13y714l6b3kkpp75fdrsbdclgj1vw1xsvbj9pxi4lkwf11wwmrqr"; depends=[]; }; + distillery = derive { name="distillery"; version="1.0-1"; sha256="0hfj4qbfb5219dm7yrgf2h4jrh2qsjhwrbv8gbrxcr0xf6gqbxmv"; depends=[]; }; + distory = derive { name="distory"; version="1.4.2"; sha256="12j19cb1b4prm8m43gya15kia1ii1k0yy7hkngpn2vsyk7n2z65m"; depends=[ape]; }; + distr = derive { name="distr"; version="2.5.2"; sha256="1x2pmb3lagdwspww0bq35qfwsylzq91v5lc470yc4f4q6r39nw21"; depends=[startupmsg sfsmisc SweaveListingUtils]; }; + distrDoc = derive { name="distrDoc"; version="2.5"; sha256="104y8q7p53pzwr5pgspa0zczmnhylac2k9aj9flqd75ka6icfqh8"; depends=[distr distrEx distrSim distrTEst distrTeach RandVar distrMod MASS SweaveListingUtils startupmsg]; }; + distrEllipse = derive { name="distrEllipse"; version="2.5"; sha256="1slzzmcf09mqqba287rpgpwbsq6j5lprjgxda5lrc21znvrgfxn3"; depends=[mvtnorm setRNG distr distrEx distrSim]; }; + distrEx = derive { name="distrEx"; version="2.5"; sha256="0mbccd53r9wl875i702j14wlrv7pjgrwzlnyc511cqa5pg3mn81i"; depends=[distr]; }; + DistributionUtils = derive { name="DistributionUtils"; version="0.5-1"; sha256="1in2k7xsaa0wadjgdh8m0v25v0dzx89pb20i5nsa19vx2iiysqbd"; depends=[RUnit]; }; + distrMod = derive { name="distrMod"; version="2.5.2"; sha256="1vgb06qhfpav93xv9lamzmn8mccx5bqdfplkcqpv3i7qlgmngvh9"; depends=[distr distrEx RandVar MASS]; }; + distrom = derive { name="distrom"; version="0.2"; sha256="1mvqqwaa6jwg483gjzgb0wplg1r8p7q7ihypa2z0c8pcbja8i9ff"; depends=[Matrix gamlr]; }; + distrRmetrics = derive { name="distrRmetrics"; version="2.5"; sha256="0c7fhckw7hav68gag8ymgicywl2vbnvqpjxca0x24wpdi1gs4jf6"; depends=[distr fBasics fGarch]; }; + distrSim = derive { name="distrSim"; version="2.5.2"; sha256="0ipg4l2vyifaj1r9a4cc8kg32s65jpz5wxrlnrix95xk5wasdpbh"; depends=[setRNG distr]; }; + distrTeach = derive { name="distrTeach"; version="2.5"; sha256="0a7qfqpirzcd94dvcvmprhhj2j1yl3lpizsi8mdqr19zcp6dw21k"; depends=[distr distrEx]; }; + distrTEst = derive { name="distrTEst"; version="2.5"; sha256="1swl4v70gkkpidddsgqf0dqz9j0xz5j1wk44bhpi4ficim7hap3l"; depends=[setRNG distrSim startupmsg]; }; + divagis = derive { name="divagis"; version="1.0.0"; sha256="1kcz7i3h9xxpqhlq0rl08pgcwd16ygjjmm0jjv9knn2ggc3j1jzz"; depends=[rgdal sp]; }; + DivE = derive { name="DivE"; version="1.0"; sha256="1ixkk8kd3ri78ykq178izib0vwppnbiwbpc1139rcl8f5giiwcdh"; depends=[deSolve FME rgeos sp]; }; + diveMove = derive { name="diveMove"; version="1.3.9"; sha256="0782b8fvh676g6fy05g1da52q398rxmgz46vk6yxwrmnvg78wcq5"; depends=[caTools KernSmooth quantreg geosphere]; }; + diversitree = derive { name="diversitree"; version="0.9-7"; sha256="0hr3hzrrbmfqbzcwn18lnqmychs9f21j1x214zry0jmw9pnai0s0"; depends=[deSolve ape subplex Rcpp]; }; + diveRsity = derive { name="diveRsity"; version="1.9.5"; sha256="0rybnjkkxsam0fhsfcxb2h00p65169iw8kb7xgzzgzdfi258zp9s"; depends=[ggplot2 shiny qgraph Rcpp]; }; + DiversitySampler = derive { name="DiversitySampler"; version="2.1"; sha256="1sfx7craykb82ncphvdj19mzc0kwzafhxlk9jcxkskygrlwsxfgg"; depends=[]; }; + DivMelt = derive { name="DivMelt"; version="1.0.3"; sha256="03vkz8d283l3zgqg7bh5dg3bss27pxv4qih7zwspwyjk81nw3xmr"; depends=[glmnet]; }; + dixon = derive { name="dixon"; version="0.0-5"; sha256="0x7x0l7p8kmkfqqqah8hck2r96b3w8padd41skd3q35vq8kmnsqc"; depends=[splancs spatstat]; }; + dkDNA = derive { name="dkDNA"; version="0.1.0"; sha256="1waqj8l48yqlzi3rb3ilxyx79n5d4w0sp02flvynwaxck6jvh8gc"; depends=[]; }; + dlm = derive { name="dlm"; version="1.1-3"; sha256="1mk5hlhm4bm8a5ilrbiwqggj1wg2jiv44s6gjjkjigs24673lg27"; depends=[]; }; + dlmap = derive { name="dlmap"; version="1.13"; sha256="0s6wlkggkm3qndwyvw72xv1n0mcjb7ss3ajbq2ll6rv30splq0db"; depends=[qtl ibdreg wgaim nlme mgcv]; }; + dlmodeler = derive { name="dlmodeler"; version="1.4-2"; sha256="06gqvk2wrzz4kpsh4vyrbqwmxirsvg78qj7clvcxdac0sfqn4gl7"; depends=[KFAS]; }; + dlnm = derive { name="dlnm"; version="2.0.9"; sha256="1a86fm4054sihd28ilbz8bdd1y4rmfyfpcgbxp6813rds165fmlc"; depends=[nlme]; }; + dma = derive { name="dma"; version="1.2-0"; sha256="1q0zclp7y1y1ksy8j64z05jy1fi0lmgd9a5cswxyl8l4xbs894wn"; depends=[]; }; + DMR = derive { name="DMR"; version="2.0"; sha256="1kal3bvhwqs00b6p6kl0ja35pcz9v9y569148qfhy94m319fcpzm"; depends=[magic]; }; + dmt = derive { name="dmt"; version="0.8.20"; sha256="0rwc8l9k2y46hslsb3y8a1g2yjxalcvp1l3v7jix0c5kz2q7917w"; depends=[mvtnorm MASS Matrix]; }; + DMwR = derive { name="DMwR"; version="0.4.1"; sha256="1qrykl9zdvgm4c801iix5rxmhk9vbwnrq9cnc58ms5jf34hnmbcf"; depends=[lattice xts quantmod zoo abind rpart class ROCR]; }; + dna = derive { name="dna"; version="1.1-1"; sha256="0gw70h1j67h401hdvd38d6jz71x1a6xlz6ziba6961zy6m3k5xbm"; depends=[]; }; + DNAtools = derive { name="DNAtools"; version="0.1-8"; sha256="146r59lhj57b0dlwwsddks9lpfdyvbjm8i5mvkc6w9wwj32g931i"; depends=[Rsolnp multicool]; }; + DnE = derive { name="DnE"; version="1.01"; sha256="04b2zz1b47nxpl8060ravybwq6y3s08fbkg5a4qiiaz9a84kvbhw"; depends=[]; }; + dnet = derive { name="dnet"; version="1.0.2"; sha256="1111b4565wp0mip96yk6i2fwb9yqzs9mysa4wd7zy1f98xzyd23n"; depends=[igraph Matrix]; }; + DOBAD = derive { name="DOBAD"; version="1.0.3"; sha256="0q8sjcbfdg66jrhii98kls1l2gzx5s8nzv5xrbyl497cn6ysiww0"; depends=[numDeriv]; }; + doBy = derive { name="doBy"; version="4.5-10"; sha256="1axdy61n6jf0chr9276aj16h4dbq9nh4cw82md2r7mgw746ccvcn"; depends=[survival MASS Matrix lme4]; }; + Dodge = derive { name="Dodge"; version="0.8"; sha256="1vnvqb2qvl6c13s48pyfn1g6yfhc60ql3vn7yh2zymxcsr1gxgcw"; depends=[]; }; + DoE_base = derive { name="DoE.base"; version="0.26-1"; sha256="07mcbxz9xf87ldsigr8bxczhq487ixv4m2xcz622sc43nbzri8la"; depends=[conf_design vcd combinat MASS]; }; + DoE_wrapper = derive { name="DoE.wrapper"; version="0.8-9"; sha256="1f4q7i0d620wn13c6l3bifqqr5b1g1ihdw5fw92yaw1zv9dwzx0c"; depends=[FrF2 DoE_base rsm lhs DiceDesign AlgDesign]; }; + doMC = derive { name="doMC"; version="1.3.3"; sha256="0g5psgk92b2zk9fkap3a86haay2y0kfz75cyk3d1ila9m7cd2cn4"; depends=[foreach iterators]; }; + Dominance = derive { name="Dominance"; version="0.9.11"; sha256="075a5vijgki8xnfv0ggg0wq5shwaxs5qq25r4ydcwggcgrmwfb1c"; depends=[igraph chron gdata]; }; + domino = derive { name="domino"; version="0.1-6"; sha256="18gdcqb6x2v0vc2gfj2rqi4y4xay6npbpxi7ggq0l8gyds2hzcaq"; depends=[]; }; + doMPI = derive { name="doMPI"; version="0.2"; sha256="0cvws4zwbjj9ji0s69qy1843404a221pyxg9y35ihfcrjknfjc0l"; depends=[foreach iterators Rmpi]; }; + doParallel = derive { name="doParallel"; version="1.0.8"; sha256="1z6cwqnjvqsbck44padqkv4r75cy32p5vrlkkan4mq84cc8062nx"; depends=[foreach iterators]; }; + doRedis = derive { name="doRedis"; version="1.1.1"; sha256="10ldfzq6m83b9w24az9bf5wbfm6y9gi233s8qgsk4dnr84n3nizx"; depends=[rredis foreach iterators]; }; + doRNG = derive { name="doRNG"; version="1.6"; sha256="0yvg4052gfdh54drn6xnpiqyd77p8765yi525nag3ismw2yn9y58"; depends=[foreach rngtools iterators pkgmaker]; }; + DoseFinding = derive { name="DoseFinding"; version="0.9-11"; sha256="10i2vpv09avspn2daa9bcpj0nicdjm71gixhvh3x7xb3681zsw2d"; depends=[lattice mvtnorm]; }; + doSNOW = derive { name="doSNOW"; version="1.0.12"; sha256="0j71n0l9lbvwllw9iigvjgv0x8z2j57grl3yazkgcyzy0mcgf741"; depends=[foreach iterators snow]; }; + dosresmeta = derive { name="dosresmeta"; version="1.3.0"; sha256="0yfm8dkds8abdl6jrib5vvgkyrd5cl5a99qs27safxx0fcpdiz4k"; depends=[mvmeta aod Matrix]; }; + dostats = derive { name="dostats"; version="1.3.0"; sha256="1786jc7hpbq5390cs11vlq9fvp0rbsmjwxbgn55qmc1dg46yl2xv"; depends=[]; }; + DoubleCone = derive { name="DoubleCone"; version="1.0"; sha256="1pba9ypp0n3i2k3ji1x8j7h548pfam9z99hxylcjcxnnvc7xs2fw"; depends=[coneproj Matrix MASS]; }; + downloader = derive { name="downloader"; version="0.3"; sha256="0jpq8z3i9fkgs8wwjrq5qd7qfi5w3rxmzmsi1c1dxlnxzzhg6kxq"; depends=[digest]; }; + dpa = derive { name="dpa"; version="1.0-3"; sha256="0chkbbqxpq5fmqzr74jvflls9h0i2y25jp8gvlg3pfam9j07w7i5"; depends=[sem igraph]; }; + dpcR = derive { name="dpcR"; version="0.1.0"; sha256="09f0illfs17as5ns4syb2r0db8cm24mdffwf76jbagzs7inm7c4s"; depends=[qpcR binom e1071 dgof pracma shiny]; }; + dpglasso = derive { name="dpglasso"; version="1.0"; sha256="1mx28xbm2z2bxyp33wv2v6vgn1yfsdsa0bzjjdxasgd6lvr51myf"; depends=[]; }; + dplR = derive { name="dplR"; version="1.6.0"; sha256="1rjb10adhycp16xav7z5c93jfcjwpcrp8cdiyab8skrijgzbp0vx"; depends=[gmp digest lattice stringr XML]; }; + dplyr = derive { name="dplyr"; version="0.1.3"; sha256="10dngi0n03mks7jkvci4b5968ds2155p19w0ay065g6ggyrsb3w3"; depends=[assertthat Rcpp]; }; + dpmixsim = derive { name="dpmixsim"; version="0.0-8"; sha256="0paa2hmpd6bqf0m7p9j7l2h3j18lm64ya6ya8zvp55wm8pf7xgqg"; depends=[oro_nifti cluster]; }; + DPpackage = derive { name="DPpackage"; version="1.1-6"; sha256="01qdl6cp6wkddl9fwwpxwvyhb7lpjxis6wnbm2s288y2n9wi4j24"; depends=[MASS nlme survival]; }; + DPw = derive { name="DPw"; version="1.1.2"; sha256="0waprp6xql67ijwwsy0z8f0fnazkzci0nzwiajwkvy7vbwcch5bx"; depends=[]; }; + dr = derive { name="dr"; version="3.0.8"; sha256="0plvdkk041giqx8cgph4vdcabq9nv5bvjwz0pvjmhvb3z7q15cgj"; depends=[MASS]; }; + drawExpression = derive { name="drawExpression"; version="1.0"; sha256="0c2daicqrjlqf7s788cknzvw9c6rm500lgmwfr7z03bq7bd2ah90"; depends=[]; }; + drc = derive { name="drc"; version="2.3-96"; sha256="0yrxa7rnsi7w4zdxd713m0l8bfsqnhcypzr091yazlahk33mybxf"; depends=[car gtools MASS magic plotrix lattice nlme]; }; + drfit = derive { name="drfit"; version="0.6.1"; sha256="1hjjd1djd0acf2qvnx505rhmpq21igckzqjd5zhmm5k2v3al48dh"; depends=[MASS RODBC drc]; }; + drgee = derive { name="drgee"; version="1.0.1"; sha256="0vrmi3q6dhmk9z5168pdfhi18nkm4pgj4zx8d24r4k1jcqvgckl0"; depends=[nleqslv]; }; + DRI = derive { name="DRI"; version="1.1"; sha256="11dqwjqddwis8y8yq248k90wwk2fi3mcy0rwq2dz95m17wvd1v0k"; depends=[cghFLasso]; }; + drm = derive { name="drm"; version="0.5-8"; sha256="1p6ixd7hnv41gfmvan3rv9xzz1279hmrnvfrl6pxwzs9zcnbb53a"; depends=[]; }; + drmdel = derive { name="drmdel"; version="1.3"; sha256="0yflpja6r8cm4yv07ac1wic8w2iv0pwqpgh3ls2pjwv3vqzg7jrm"; depends=[]; }; + drsmooth = derive { name="drsmooth"; version="1.0"; sha256="1cxhj28dkll704kif040vqnp9grb61v891rswvyx7aa9216156px"; depends=[car clinfun mgcv multcomp pgirmess DTK segmented mvtnorm]; }; + ds = derive { name="ds"; version="2.0"; sha256="0jxkwp8hm36aqh8xdxh3q5zgafwik6i9ihs52sxrllpmhyb39x3p"; depends=[]; }; + dsample = derive { name="dsample"; version="0.91.1"; sha256="0nxx3x55zj089aq2shk7cg9bgh6xw7jnrr2qmlaq6bflwn58wn1q"; depends=[]; }; + DSBayes = derive { name="DSBayes"; version="1.1"; sha256="0iv4l11dww45qg8x6xcf82f9rcz8bcb9w1mj7c7ha9glv5sfb25v"; depends=[BB]; }; + dse = derive { name="dse"; version="2013.3-2"; sha256="170bpd0ix5bslbif2blcyb8dkbxwl3334h2nw0fgcx495vxvvx2x"; depends=[tframe setRNG tfplot]; }; + dse1 = derive { name="dse1"; version="2011.11-2"; sha256="0h8f1f4qqycyc4k8ksdlz7cprayaa08gnsgj6hxa0kxnfs726qb6"; depends=[dse]; }; + dse2 = derive { name="dse2"; version="2011.11-2"; sha256="05kf2072a50wd6p42yx5wpy0m7wq1gssy877nfyyc5l0pwviy3zs"; depends=[EvalEst]; }; + DSL = derive { name="DSL"; version="0.1-5"; sha256="0k320cmim9mvi5cmr6964h9i2jbskh76xws3p6zsfakk63ndg3rr"; depends=[]; }; + dsm = derive { name="dsm"; version="2.2.3"; sha256="1i4ns0042v11f7c6ysrd96r72mkqzs1jmb4ya1cdi0wydwx86s90"; depends=[mgcv mrds nlme ggplot2 statmod]; }; + DSpat = derive { name="DSpat"; version="0.1.5"; sha256="1njc9p2cxszcskdm21x00yvcs7gx71x18fdayih6l3g5l40c698a"; depends=[spatstat RandomFields mgcv rgeos]; }; + DSsim = derive { name="DSsim"; version="1.0.1"; sha256="0a62l8jfrnr2h9laxw27p8icvfa8f1gdhdiywwb33328barhzfrk"; depends=[shapefiles splancs mrds mgcv]; }; + DTComPair = derive { name="DTComPair"; version="1.0.3"; sha256="1af2293ckkpz0gjcibgzzvz37852cav4wa4girpc87yn3p4ajlri"; depends=[gee PropCIs]; }; + DTDA = derive { name="DTDA"; version="2.1-1"; sha256="0hi2qjcwd6zrzx87mdn1kns5f2h6jh7sz9jpgbi0p0i80xg8jnn3"; depends=[]; }; + dti = derive { name="dti"; version="1.1-7"; sha256="0zgl05j74siwnz5qln8gpshr0kxyqspkg9pa8pydd96spy4v021a"; depends=[awsMethods oro_nifti oro_dicom adimpro gsl rgl]; }; + DTK = derive { name="DTK"; version="3.5"; sha256="0nxcvx25by2nfi47samzpfrd65qpgvcgd5hnq9psx83gv502g55l"; depends=[]; }; + DTMCPack = derive { name="DTMCPack"; version="0.1-2"; sha256="0bibas5cf06qq834x9q2l2fyh6q9wrg07k8cn6almcyirzax6811"; depends=[]; }; + DTR = derive { name="DTR"; version="1.3"; sha256="00a8q47wkfdp2g0mdsw05a8x2xmvjj4hl80iz7n82l3zv8a3awf4"; depends=[survival ggplot2 aod proto]; }; + dtt = derive { name="dtt"; version="0.1-2"; sha256="0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn"; depends=[]; }; + dtw = derive { name="dtw"; version="1.17-1"; sha256="0kbf38a14k112vdi7yaql18w0sj694smlm6pmdw5q4sqpk7azhqg"; depends=[proxy]; }; + dualScale = derive { name="dualScale"; version="0.9.1"; sha256="11hqxprai0s5id6wk4n2q174r1sqx9fzw3fscvqd2cgw8cjn1iwl"; depends=[matrixcalc ff vcd lattice Matrix]; }; + dummies = derive { name="dummies"; version="1.5.6"; sha256="01f84crqx17xd6xy55qxlvsj3knm8lhw7jl26p2rh2w3y0nvqlbm"; depends=[]; }; + DunnettTests = derive { name="DunnettTests"; version="2.0"; sha256="1sf0bdxays10n8jh2qy85fv7p593x58d4pas9dwlvvah0bddhggg"; depends=[mvtnorm]; }; + dupiR = derive { name="dupiR"; version="1.1"; sha256="01yhwgqm2y6znxds3p2admcyayvjj5xw7vvc9djd7b6ywsivb8sa"; depends=[plotrix]; }; + dvfBm = derive { name="dvfBm"; version="1.0"; sha256="0gx11dxkbnh759ysd1lxdarlddgr3l5gwd5b0klwvwsgck6jv529"; depends=[wmtsa]; }; + dvn = derive { name="dvn"; version="0.3.3"; sha256="14ncna67qgknh20xdvxqddjhagj61niwpvz4ava9k0z68rgzmk5h"; depends=[RCurl XML]; }; + DWD = derive { name="DWD"; version="0.11"; sha256="1yqcww4jbbvdcv0yj9h8q2w7ck7pwr0zcvmncp9mc4n4k9y67r9j"; depends=[Matrix]; }; + dyn = derive { name="dyn"; version="0.2-9"; sha256="16zd32567aj0gqv9chbcdgi6sj78pnnfy5k8si15v5pnfvkkwslp"; depends=[zoo]; }; + DynamicDistribution = derive { name="DynamicDistribution"; version="1.1"; sha256="1s78hpj2pxjs4vixin1i816qjbn3wk7b8rd2zdjp4d4rbxifcqf5"; depends=[]; }; + dynamicGraph = derive { name="dynamicGraph"; version="0.2.2.6"; sha256="1xnsp8mr3is4yyn0pyrvqhl893gdx2y1zv8d2d55aah2xbfk0fjj"; depends=[ggm]; }; + dynamicTreeCut = derive { name="dynamicTreeCut"; version="1.62"; sha256="1y11gg6k32wpsyb10kdv176ivczx2jlizs1xsrjrs6iwbncwzrkp"; depends=[]; }; + dynaTree = derive { name="dynaTree"; version="1.2-7"; sha256="06pw78j6wwx7yc175bns1m2p5kg5400vg8x14v4hbrz3ydagx4dn"; depends=[]; }; + dynBiplotGUI = derive { name="dynBiplotGUI"; version="1.0.1"; sha256="06vc8m981va4jiihlyaqigp3snfh06677l2m1idgbl8pwl1k80wh"; depends=[tcltk2 tkrplot RODBC]; }; + DynClust = derive { name="DynClust"; version="3.13"; sha256="020zl2yljp47r03rcbzrbdmwk482xx27awwzv4kdrbchbzwhxqgm"; depends=[]; }; + dynCorr = derive { name="dynCorr"; version="0.1-2"; sha256="0qzhhfhkwpq6mwg7y6sxpqvcj8klvivnfv69g7x3ycha1kw2xk3w"; depends=[lpridge]; }; + dynlm = derive { name="dynlm"; version="0.3-3"; sha256="0ym23gv2vkvvnxvzk5kh6xy4gb5wbnpdbgkb5s6zx24lh81whvcs"; depends=[zoo car lmtest]; }; + dynpred = derive { name="dynpred"; version="0.1.1"; sha256="1qs845lzjvhiwd8xq9d5r8rc8sk813wjjl5d0z3alb8217gkhb2j"; depends=[survival survival]; }; + dynsim = derive { name="dynsim"; version="0.2.4"; sha256="1b4j47asqanrfhyg9r730brp3xaw1853jk23va2sx606q2rh94wv"; depends=[DataCombine ggplot2 gridExtra Zelig]; }; + dynsurv = derive { name="dynsurv"; version="0.2-2"; sha256="0418r7adki48pg3h7i1mgv3xpbryi520va3jpd03dx15zrq8zaqg"; depends=[survival reshape plyr nleqslv ggplot2]; }; + e1071 = derive { name="e1071"; version="1.6-3"; sha256="0scyxk3y2fizvw5zrddxid37vzayd879g67faq0a879nhk7fkm1z"; depends=[class]; }; + eaf = derive { name="eaf"; version="1.05"; sha256="12jwkz4cn3kgg3yczb0xgbp394bzgzps1mz0b999i3p1k6vn46z6"; depends=[modeltools]; }; + earlywarnings = derive { name="earlywarnings"; version="1.0.59"; sha256="06j5g5lrzl4p5pb1pp79h00iqpbwralzhpzxmaiymv7j8kz87nr0"; depends=[ggplot2 moments tgp tseries fields nortest quadprog Kendall KernSmooth lmtest som spam]; }; + earth = derive { name="earth"; version="3.2-7"; sha256="1j9w03i4pvz8a6s9rkfssj7bqz5sql0g7rzwpmis33kvi0d7wihn"; depends=[plotmo plotrix]; }; + easi = derive { name="easi"; version="0.2"; sha256="0kvcixbiijh3akxqy2w6kwydayqlr7lk2ws747a1z4whhclm1623"; depends=[systemfit micEcon]; }; + EasyABC = derive { name="EasyABC"; version="1.3.1"; sha256="1d1j7n6mhpmbbczg0yjs4kqjxlclc7pm5fl7pkxp9dmfic002y34"; depends=[abc pls mnormt MASS lhs]; }; + easyanova = derive { name="easyanova"; version="3.0"; sha256="19mcjj1lvy8kf6s004rqnalv80jf62g7dpsnrwkrklb19n1164v8"; depends=[car nlme]; }; + EasyHTMLReport = derive { name="EasyHTMLReport"; version="0.1.1"; sha256="1hgg8i7py7bx48cldyc7yydf0bggmbj3fx3kwiv9jh1x5wyh929z"; depends=[base64enc markdown knitr ggplot2 scales xtable reshape2]; }; + EasyMARK = derive { name="EasyMARK"; version="1.0"; sha256="10slkblbyxq98c3sxgs194dnkx996khfcpxj6jhz355dp35z7c9d"; depends=[MASS stringr rjags coda foreach doParallel random]; }; + easynls = derive { name="easynls"; version="4.0"; sha256="1j2crqvgsf84bpwzf4qh5xkzn5mhxhfx9c0y3p8dbyn8bg7zc2rf"; depends=[]; }; + eba = derive { name="eba"; version="1.7-1"; sha256="0kxdhl7bc4f570m9rbxxzg748zvq0q7a0slvfr4w1f45vfzhyh17"; depends=[nlme]; }; + ebal = derive { name="ebal"; version="0.1-6"; sha256="1cpinmbrgxxv0fzi9qi2inv4hw2lz7iq4b0ggp316rdqqb5bj9r0"; depends=[]; }; + EbayesThresh = derive { name="EbayesThresh"; version="1.3.2"; sha256="0n7cr917jrvmgwfqki7shvz9g9zpmbz9z8hm5ax7s8nnfzphrh4g"; depends=[]; }; + ebdbNet = derive { name="ebdbNet"; version="1.2.3"; sha256="123iqp8rnm3pac5fvpzq5sqbf8nyfpf05g23nawanid6yv23ba9a"; depends=[igraph]; }; + EBMAforecast = derive { name="EBMAforecast"; version="0.42"; sha256="161l6jxbzli2g5lcmlp74z320rsvsi80pxk1vc1ypa1hgwz3q80x"; depends=[separationplot ensembleBMA plyr Hmisc abind]; }; + EBS = derive { name="EBS"; version="3.0"; sha256="0nrqglbfr7wagd4xrk5jx0kficjgvk7wqwzqrbs589dkll24sn5b"; depends=[MASS]; }; + Ecdat = derive { name="Ecdat"; version="0.2-5"; sha256="0g123v1719nhr0d8wryg8vd9avahcl5mnwssl936chpjpzs7a82d"; depends=[Ecfun]; }; + ecespa = derive { name="ecespa"; version="1.1-7"; sha256="0ynyphc1jnk088041i0yk22bh4ga1v9xwrcghy70q1ipv0z279ph"; depends=[splancs spatstat]; }; + Ecfun = derive { name="Ecfun"; version="0.1-0"; sha256="0jfcqxbx27dwbipx1b994iy4qnpkg1sh4xpq7qq8yy823rgpkhrp"; depends=[]; }; + ecodist = derive { name="ecodist"; version="1.2.9"; sha256="199f3lwwm8r2bnik595m540la1p4z6vbkwfqh9kimy9d0fjp8nps"; depends=[]; }; + ecoengine = derive { name="ecoengine"; version="1.3"; sha256="0ih6wbqbrqrivxm7003gmkqlw876axb556mm0b1qgk0zg2k3zzws"; depends=[httr plyr assertthat whisker data_table RJSONIO lubridate leafletR]; }; + EcoHydRology = derive { name="EcoHydRology"; version="0.4.12"; sha256="03dzdw79s0cnnd7mv6wfxw374yf66dlcmj10xh6sh5i352697xp1"; depends=[operators topmodel DEoptim XML]; }; + ecolMod = derive { name="ecolMod"; version="1.2.5"; sha256="07dr3q17vd60569w34apylpsv81qcf31l7v0bqdycb5mlaifdahz"; depends=[rootSolve diagram deSolve]; }; + ecoreg = derive { name="ecoreg"; version="0.2"; sha256="08iw7w9z7zqwhvirnhdc2jr2qjp9yma8ddc831d5dvbvi2j7kq84"; depends=[]; }; + ecosim = derive { name="ecosim"; version="1.2"; sha256="1lzjd6kl2864ngyiqyfnnra5ag9bj42pxb793gwp45r7z95k32rf"; depends=[deSolve stoichcalc]; }; + EcoTroph = derive { name="EcoTroph"; version="1.6"; sha256="0zi6g0ra107s47r32mm9h6r1wll3avi0mpjmhcr0nj9y48nv14w3"; depends=[XML]; }; + edcc = derive { name="edcc"; version="1.0-0"; sha256="036fi6mnn9480hkb378xb5jilkfvdydjmkyw4mcc9s1lz195f62w"; depends=[spc]; }; + edeR = derive { name="edeR"; version="1.0.0"; sha256="1dg0aqm5c4zyf015hz1hhn3m4lfvybc4gc1s7sp8jcsk46rxz0cc"; depends=[rJava rjson rJython]; }; + EDISON = derive { name="EDISON"; version="1.0"; sha256="17yjvvsgsmd4i00wzmih50qz3wqig2zdg5r877b4hqk1dsv5kxym"; depends=[corpcor MASS]; }; + editrules = derive { name="editrules"; version="2.7.2"; sha256="19g07caacwphvrqn900chrz3k6x4z8gmvlcvna5x2mqidcjkf25i"; depends=[igraph lpSolveAPI]; }; + edmr = derive { name="edmr"; version="0.6.3"; sha256="1yjw34m67wxg5qs3r1k9fv7zv5f2zsi1v6s8h1hzjd0p634fza0i"; depends=[data_table mixtools]; }; + EDR = derive { name="EDR"; version="0.6-5.1"; sha256="10ldygd1ymc4s9gqhhnpipggsiv4rwbgajvdk4mykkg3zmz7cbpm"; depends=[]; }; + edrGraphicalTools = derive { name="edrGraphicalTools"; version="2.1"; sha256="09y63xj3gqrz66mym20g4pmfwrb0wnc2n67692hnqq8dz31q7p3i"; depends=[rgl mvtnorm MASS lasso2]; }; + eeptools = derive { name="eeptools"; version="0.3.1"; sha256="0m6i0hiw565wgziknlf19rh2fq8zvzq2v5a0ppnwcv8vhbhyph3g"; depends=[ggplot2 MASS stringr maptools arm data_table memisc]; }; + effects = derive { name="effects"; version="3.0-0"; sha256="075vd540d8wry1l70s28pkmd1g3424yan9f7mwvcrqf0l62ahmfg"; depends=[lattice colorspace]; }; + EffectsRelBaseline = derive { name="EffectsRelBaseline"; version="0.5"; sha256="1dsnakcrgmlx44599ii92wvhxbxrh0hij59709wsskx1x1152zvh"; depends=[]; }; + EffectStars = derive { name="EffectStars"; version="1.3"; sha256="193j2dbp6bp60yb2qym119ciry3s5z54iv1vmb9wrddjzb77nnvv"; depends=[VGAM]; }; + effsize = derive { name="effsize"; version="0.5"; sha256="12wvwp87xhz5plasp0cmpd50nqaxvdg790rlva2qzn75xhhaq4jq"; depends=[]; }; + egcm = derive { name="egcm"; version="1.0.2"; sha256="17fzxl34vc38308wbvjp5xdv1q48k4lf6gsw7ax27zc4chqlmqfz"; depends=[ggplot2 tseries zoo MASS]; }; + eggCounts = derive { name="eggCounts"; version="0.2"; sha256="0ilwhw2fk8mvqsnranpj4mny98vhha8jrrxccz6x0f8hsy34b27k"; depends=[coda actuar boot]; }; + egonet = derive { name="egonet"; version="1.2"; sha256="1f0fbqyk2ilmhirxvf1iwgfappi5r7807ag77r89lbaf5jq8akl0"; depends=[sna]; }; + eha = derive { name="eha"; version="2.4-1"; sha256="1znxpcrwp8fllr3m14gbxwgp7yln55jwvkilmbsqldz00za6xn0w"; depends=[survival]; }; + eHOF = derive { name="eHOF"; version="1.4"; sha256="050wlckw2i8iqymdmq68zj2fwq74slsbk83p5kkhxlyn132m0k47"; depends=[mgcv lattice]; }; + eigeninv = derive { name="eigeninv"; version="2011.8-1"; sha256="18dh29js824d7mrvmq3a33gl05fyldzvgi8mmmr477573iy9r30g"; depends=[]; }; + eigenmodel = derive { name="eigenmodel"; version="1.01"; sha256="0p9n28x5gg46nszzd2z9ky5fhv6qa070673i1df6bhjh962aqgaf"; depends=[]; }; + eigenprcomp = derive { name="eigenprcomp"; version="1.0"; sha256="156qyv7sl8nng55n3ay6dnpayyfrqv27ndz40xf4w92is9zmymy0"; depends=[]; }; + EILA = derive { name="EILA"; version="0.1-2"; sha256="0wxl9k4fa0f7jadw3lvn97iwy7n2d02m8wvm9slnhr2n8r8sx3hb"; depends=[class quantreg]; }; + eiPack = derive { name="eiPack"; version="0.1-7"; sha256="1cxk31bj012ijm85sf6l4rjrwayw94j2d6aav8p9g1f0raha2s6y"; depends=[MASS coda msm]; }; + eive = derive { name="eive"; version="1.0"; sha256="0g7pn6dbm9cs0nsf03k92v37sjnsda7qc0xi00xzgm6y1g8rdbbq"; depends=[]; }; + eiwild = derive { name="eiwild"; version="0.6.7"; sha256="1fp4kvlmcjjnzn2a5cmlzaf6y5q6cdbbi2nmvjyqc4y1bmwh3srf"; depends=[gtools coda lattice]; }; + EL = derive { name="EL"; version="1.0"; sha256="13r7vjy2608h8jph8kwy69rnkg98b2v69117nrl728r3ayc46a18"; depends=[]; }; + elasticnet = derive { name="elasticnet"; version="1.1"; sha256="1x8rwqb275lz86vi044m1fy8xanmvs7f7irr1vczps1w45nsmqr2"; depends=[lars]; }; + elec = derive { name="elec"; version="0.1.2"; sha256="0f7ahrjb52w8a8l5v00xla6z9afpz2zrckl9v04xalp34snhdwan"; depends=[]; }; + elec_strat = derive { name="elec.strat"; version="0.1.1"; sha256="09196k5c3jsikh98d33bn70izwcbx0wb5ki9fv1ij0dw9mnv4c3p"; depends=[elec]; }; + ElemStatLearn = derive { name="ElemStatLearn"; version="2012.04-0"; sha256="107x2mybadqgw03j3yq8ibq3ljs4fpx90chvsirpylqhv77wsabl"; depends=[]; }; + elliplot = derive { name="elliplot"; version="1.1.1"; sha256="1sl85kyjpxiw0gs3syhlhfrci03fl054py7m24xln5vk07665vbp"; depends=[]; }; + ellipse = derive { name="ellipse"; version="0.3-8"; sha256="0ibz1qvf1qbb5sigyhpxb8hgip69z3wcimk3az1701rg2i64g3ah"; depends=[]; }; + elliptic = derive { name="elliptic"; version="1.3-3"; sha256="1spl19yh2fqii1ffcmg4y11v6ccb83q6znvjn0scgzv6646c7xi4"; depends=[MASS]; }; + elmNN = derive { name="elmNN"; version="1.0"; sha256="129r6d3qa48gqvqxks53hdmyk3jjakddsj5fwj91kqq0hkm34kyd"; depends=[MASS]; }; + EloRating = derive { name="EloRating"; version="0.41"; sha256="1d7kcng0iv4paagm0jljkfk7c2n3vvs91khjvlc7jpifisf1zi7a"; depends=[zoo]; }; + elrm = derive { name="elrm"; version="1.2.2"; sha256="0wz0l703v0iyp7nswdmh65n0cy3a7rfvyxd795a6nzk3nich8bfg"; depends=[coda]; }; + ELT = derive { name="ELT"; version="1.1"; sha256="0h0nir4gb0wprr0lz8lii2n4a48zafknyimpk1pr235z8kw1v6qi"; depends=[locfit lattice latticeExtra xlsx]; }; + em2 = derive { name="em2"; version="0.9"; sha256="120731nh5qq3kzbfj9p2s4fhrr3xvddj5n0bv5m3dp5l5495px1b"; depends=[plyr]; }; + EMA = derive { name="EMA"; version="1.4.4"; sha256="1hqkan9k6ps4qckjrhsgxzham106fm38m5rgayz8i2ji3spvbfca"; depends=[survival xtable heatmap_plus GSA MASS FactoMineR cluster]; }; + EMC = derive { name="EMC"; version="1.3"; sha256="0sdpxf229z3j67mr9s7z4adzvvphgvynna09xkkpdj21mpml23p6"; depends=[mvtnorm MASS]; }; + EMCC = derive { name="EMCC"; version="1.2"; sha256="1qff8yvw7iqdsrqkvwb7m14xh7gcnjcrf8gw00g4j6aq0h0cgk2z"; depends=[MASS mclust EMC]; }; + EMCluster = derive { name="EMCluster"; version="0.2-4"; sha256="0m5cl5mrg6q0ixfpjj1jwd7l5hcldc33lr7n6xgy7p9nlr52mimz"; depends=[MASS]; }; + EMD = derive { name="EMD"; version="1.5.7"; sha256="0m2g7akg9h964d6qr1mj20h9pcb2fcmala3skhl0qpy8qz01w5ck"; depends=[fields locfit]; }; + emdatr = derive { name="emdatr"; version="0.1"; sha256="0d8jkppkr6lwf2grw3d6q849yr5jz365qcqvhxfhf8v38hk5xsay"; depends=[]; }; + emdbook = derive { name="emdbook"; version="1.3.4"; sha256="19i8i1wp6vqgc77ajaqrfrjw6ijjafkgdqgfpa0dvl1w117rpy2d"; depends=[MASS lattice plyr]; }; + emdist = derive { name="emdist"; version="0.3-1"; sha256="1z14pb9z9nkd0f2c8pln4hzkfqa9dk9n3vg8czc8jiv0ndnqi7rq"; depends=[]; }; + emg = derive { name="emg"; version="1.0.5"; sha256="028g8gqjjqfwly6vzvinbpilay5jj9rnm7ri9aby9q0hj5prh56m"; depends=[]; }; + EMJumpDiffusion = derive { name="EMJumpDiffusion"; version="1.4.1"; sha256="10lw6717yq9vlywn5ilsl0d99fpx3zvc87vf7s0zxswhs81h7x1w"; depends=[]; }; + emma = derive { name="emma"; version="0.1-0"; sha256="0psd8lrbcqla8mkhp0wlassaaimgwlmqy5yv2wwcq59mc5k1v27f"; depends=[earth clusterSim]; }; + EMMAgeo = derive { name="EMMAgeo"; version="0.9.1"; sha256="1rxbb666gh9g35m4jqa6y1zjp82s62ha6n92fkjvkk9wm25w6imr"; depends=[GPArotation limSolve shape]; }; + emme2 = derive { name="emme2"; version="0.9"; sha256="035s4h95ychqb14wib0dqbg4sjy9q01fsryr0ri25g1hsi5f8lpm"; depends=[reshape]; }; + EMMIXcontrasts = derive { name="EMMIXcontrasts"; version="1.0.0"; sha256="1q7bwf7kkpraj38lz5s1lhhghp7a5lzyj5b9x8024g6rh2qlwp7v"; depends=[]; }; + EMMIXskew = derive { name="EMMIXskew"; version="1.0.1"; sha256="16jkq0a9k1gf6gia8r65nwa2lh8zny4jmnq51g2rcqm44s5ylqbh"; depends=[lattice mvtnorm KernSmooth]; }; + EMMIXuskew = derive { name="EMMIXuskew"; version="0.11-5"; sha256="00lgjraadkxh68nvdalp784pcrzn6issdps3dbwsl8rl60r4ryk8"; depends=[MASS]; }; + EMMREML = derive { name="EMMREML"; version="1.0"; sha256="0g6jr9bgiikk4x3hxy9f5626ykh9ffjarc8x60504hgp08560i2m"; depends=[Matrix]; }; + emoa = derive { name="emoa"; version="0.5-0"; sha256="1wcnsnkdmpcn21dyql5dmj728n794bmfr6g9hgh9apzbhn4cri8p"; depends=[]; }; + EMP = derive { name="EMP"; version="1.0.1"; sha256="12ahyfav918qf7bphhy251x0gzhdziaz2gg064hcwh6jaqw0jw0g"; depends=[]; }; + emplik = derive { name="emplik"; version="0.9-9-2"; sha256="131wk9nfymkygb89jk9cwi53dx4857c06ip9pfzzvswch3hhdqwb"; depends=[quantreg]; }; + emplik2 = derive { name="emplik2"; version="1.10"; sha256="19s19jhcaqnh6vjfgrsgjvjlrsm5fa1mgwc5v36hzdf2mv1xhr3q"; depends=[]; }; + EMT = derive { name="EMT"; version="1.1"; sha256="0m3av1x3jcp3hxnzrfb128kch9gy2zlr6wpy96c5c8kgbngndmph"; depends=[]; }; + emulator = derive { name="emulator"; version="1.2-13"; sha256="1y8mrrz4dw66wn3lhi7x7r72bxa77rpc68zqab6c67ndyi4wamxr"; depends=[mvtnorm]; }; + EMVC = derive { name="EMVC"; version="0.1"; sha256="1725zrvq419yj0gd79h8bm56lv2mmk296wq3wapivcy6xn0j97jh"; depends=[]; }; + ENA = derive { name="ENA"; version="1.3-0"; sha256="02gsngkzc8vfpg2jvcabwp4kpfs14cajs9xv1rh76807l5ylqihz"; depends=[GeneNet space WGCNA parmigene]; }; + enaR = derive { name="enaR"; version="2.5"; sha256="1hhxccpgxzyqwri6v59qv2fgh9c5xk6zzm283c1n8wlinj6d87bi"; depends=[sna network MASS stringr xlsx]; }; + endogMNP = derive { name="endogMNP"; version="0.2-1"; sha256="0maxcp321ngbxrg0i23nlwhj849v771xahh53367x928ss4f8v7i"; depends=[]; }; + endorse = derive { name="endorse"; version="1.4.1"; sha256="0xyi2cq4k4xa8kr717i4njl6rgjf5z99056jbhp2rbzfyy4sw61d"; depends=[coda]; }; + energy = derive { name="energy"; version="1.6.1"; sha256="08s7kzl12fcp1lz86jzwznxk6dqvls418zcqwd31shqqynna25vm"; depends=[boot]; }; + english = derive { name="english"; version="1.0-1"; sha256="1413axjp2icj9wwnkz3vl4gvrwlgmjpc2djzv5bllbnc4a4dgj24"; depends=[]; }; + EngrExpt = derive { name="EngrExpt"; version="0.1-8"; sha256="0zclvckj2i7j4kfs58hcjcl722vl2y6dcnjz238cjfgwv279gqhp"; depends=[lattice]; }; + ENmisc = derive { name="ENmisc"; version="1.2-7"; sha256="07rix4nbwx3a4p2fif4wxbm0nh0qr7wbs7nfx2fblafxfzhh6jc7"; depends=[Hmisc vcd RColorBrewer]; }; + EnQuireR = derive { name="EnQuireR"; version="0.10"; sha256="00kyclcr8da79lwpqa1vzkwn6pgf197h2biackwgphb0byhi8ssx"; depends=[FactoMineR SensoMineR Rcmdr MASS]; }; + enRich = derive { name="enRich"; version="2.0"; sha256="13ahwdifm33h4h5mvmc49v39fbhiy291rbdwm4c8kxjrqjq9ip66"; depends=[]; }; + enrichvs = derive { name="enrichvs"; version="0.0.5"; sha256="0x91s03hz1yprddm6mqi75bm45ki3yapfrxmap7d4qc0hi06h22k"; depends=[]; }; + ensembleBMA = derive { name="ensembleBMA"; version="5.0.8"; sha256="1wv1g1iwpmxhcgxgx78jc4w5kcbbzjxljj7pbfykgq7hjpkb109f"; depends=[chron]; }; + ensembleMOS = derive { name="ensembleMOS"; version="0.7"; sha256="0g5qzdic5jvgn6wv7zh0jnz8malfgfxn26l7lg30y96vcmi4hk54"; depends=[ensembleBMA chron]; }; + entropart = derive { name="entropart"; version="1.1.3"; sha256="0k7cdj8ndpxbqq3xczmfcidh71xc0s8gmr0n9rh1idgs12kyn47x"; depends=[ade4]; }; + entropy = derive { name="entropy"; version="1.2.0"; sha256="1qs8g5jp6ydhirxnrck3qqq3cc232hcaizy401c8gjn2vn23s15d"; depends=[]; }; + EntropyEstimation = derive { name="EntropyEstimation"; version="0.1"; sha256="1l31vc9478db22zg79zm26xahagvw7p5ywkhyq4lanl38gh2my6y"; depends=[]; }; + enviPat = derive { name="enviPat"; version="1.5"; sha256="0g86n736r40z7pg4yhsw67vq05dkf651n9pwcizx3irj7bwfmla8"; depends=[]; }; + EnviroStat = derive { name="EnviroStat"; version="0.4-0"; sha256="05sa63z6yzny2ncxpm5d3x0bx8snkn0x5pzpj2a7y6rwf6al5q4r"; depends=[MASS]; }; + EnvNicheR = derive { name="EnvNicheR"; version="1.0"; sha256="1vw21gsdrx8gkf1rf8cnazv8l9ddcdmy2gckyf33fz7z2mbzgbkk"; depends=[]; }; + EnvStats = derive { name="EnvStats"; version="1.0.2"; sha256="0914j7v190j401rdqqpfz3s69pb6crmq297wiw2q99syx0fnimnw"; depends=[]; }; + epade = derive { name="epade"; version="0.3.8"; sha256="1alvsifc6i71ilm1xxs1d7sqlapb48bqd6z2n4wi6pqcjvwp7bif"; depends=[plotrix]; }; + Epi = derive { name="Epi"; version="1.1.49"; sha256="1rw31bf0szqp87axyc4z65dbbvk2981ifd6r3lf14d0cizxqfwbf"; depends=[]; }; + epibasix = derive { name="epibasix"; version="1.3"; sha256="0d0087sa8lqw35pn7gdg2qqzw3dvz57sgavymwl1ybcj5d4lsbyk"; depends=[]; }; + epicalc = derive { name="epicalc"; version="2.15.1.0"; sha256="11x9q990hc7rf5xfvba47axdy7vld76xcf3kd9lkr0c8nbl5ss9v"; depends=[foreign survival MASS nnet]; }; + EpiContactTrace = derive { name="EpiContactTrace"; version="0.8.8"; sha256="1vlr2xxnyq1i6ky39g8j3pf3m5775bmhii7vpskb0x7nnq161yzb"; depends=[Rcpp plyr R2HTML]; }; + EpiEstim = derive { name="EpiEstim"; version="1.1-2"; sha256="0r56iglhkrqvlsf3gbahd544h944fmbyn6jdc113rhjscf6dl605"; depends=[]; }; + EpiModel = derive { name="EpiModel"; version="0.95"; sha256="1dkhcxxhf1hk90s493dq7in4yrikizs5sn5i44nad5c36l930qq0"; depends=[network networkDynamic tergm deSolve RColorBrewer statnet_common]; }; + epinet = derive { name="epinet"; version="0.0-8.1"; sha256="00mq2bqdnjp7wwsb3dldlxd0l3vyij48az4s3vrmycab8g9dffk5"; depends=[]; }; + epipen = derive { name="epipen"; version="1.0-0"; sha256="1g3w7siiwnmmrh14q7xqx6ycc6a1nywqrin0n4kbf32g02x7b4v8"; depends=[pwr]; }; + epiR = derive { name="epiR"; version="0.9-58"; sha256="154syr08jy74cj0bg22yv5ysn9q4a644wasj5q8iap5143ixs7v8"; depends=[survival]; }; + epitools = derive { name="epitools"; version="0.5-7"; sha256="163sibnbihdsnkxf313fr8n8rh5d64dwjagv95vhhzr87f21sw22"; depends=[]; }; + epoc = derive { name="epoc"; version="0.2.5-1"; sha256="1r19cvcqf39yf09n3znbdy3dsr7z96yx6zib6031mqqdsxaav5qd"; depends=[lassoshooting Matrix irr elasticnet survival]; }; + epr = derive { name="epr"; version="2.0"; sha256="1xqc0jhgdwwvilqpljxzpzz3wx30kigy09sxvzcfvsjmxyyvflqy"; depends=[car]; }; + EQL = derive { name="EQL"; version="1.0-0"; sha256="0lxfiizkvsfls1km1zr9v980191af6qjrxwcqsa2n6ygzcb17dp5"; depends=[ttutils lattice]; }; + eqs2lavaan = derive { name="eqs2lavaan"; version="3.0"; sha256="1lj6jwkfd84h9ldb6l74lrx2pnsl1c0d7mnrcrjkska87djb2nzd"; depends=[lavaan stringr]; }; + eqtl = derive { name="eqtl"; version="1.1-7"; sha256="0xfr8344irhzyxs9flnqn4avk3iv1scqhzac5c2ppmzqhb398azr"; depends=[qtl]; }; + equate = derive { name="equate"; version="2.0-2"; sha256="1n83rr01y5rcsr2wgcd1n7ihjk5bvxdl7f9abcjdz6vja7qg6h83"; depends=[]; }; + equateIRT = derive { name="equateIRT"; version="1.0-1"; sha256="1dfhn2p13hzlm9sa36rwgnysd5gd8bvrkgqy4hl4alwadiacdj5g"; depends=[statmod]; }; + equivalence = derive { name="equivalence"; version="0.5.7"; sha256="0dddpj2xzwvkyl5d1sgpwqmcw5k58b4rdkwxaf61ahz6q79h5wms"; depends=[lattice boot]; }; + erboost = derive { name="erboost"; version="1.2"; sha256="0afgh0zkl3h3ab4s7wl0cn24qdyhszssai9i390mi7w0p88wgba9"; depends=[lattice]; }; + erer = derive { name="erer"; version="2.0"; sha256="0375vvi67gy8j6va181149r618w16x4rv1cfbgqxlrraqk0jks3a"; depends=[systemfit lmtest tseries ggplot2 urca]; }; + ergm = derive { name="ergm"; version="3.1.2"; sha256="1v7cchmw305xcfpf464z59iiqfpa2aab4zvhi76qax8a674b972p"; depends=[statnet_common network robustbase coda trust Matrix]; }; + ergm_count = derive { name="ergm.count"; version="3.1.1"; sha256="0l66shy5p7h9j3h5gpkn48ps069mdaqbscnnkvmwjfvcc7k5vr8m"; depends=[statnet_common ergm network]; }; + ergm_graphlets = derive { name="ergm.graphlets"; version="1.0.1"; sha256="0j2z8dvgfrkvm9sqpyqvylz6sakxl8wpy4fbgc20wwznfzbaaal6"; depends=[statnet]; }; + ergmharris = derive { name="ergmharris"; version="1.0"; sha256="1bfijhsljlykb94wi25lbpv35zkmgqpmgzmxcq98gjvzbn5j9pdq"; depends=[]; }; + ergm_userterms = derive { name="ergm.userterms"; version="3.1.1"; sha256="0pvklvyxi7sjc5041zl8vcisni0jz1283gyjw5mhas9bl47g1cwc"; depends=[network ergm statnet_common]; }; + eRm = derive { name="eRm"; version="0.15-4"; sha256="0x05vsf8kp0z422w1b1wqayada2vbl7jh4ifa52sqlq7ygsmnmi1"; depends=[MASS Matrix]; }; + ERP = derive { name="ERP"; version="1.0.1"; sha256="0wy1p7pp9dvc3krylskb627rmfqaj11qvia97m88x05ydqx1fwmr"; depends=[fdrtool mnormt]; }; + ES = derive { name="ES"; version="1.0"; sha256="1rapwf6kryr6allzbjk6wmxpj9idd3xlnh87rwbh6196xb7rp8lv"; depends=[]; }; + ESG = derive { name="ESG"; version="0.1"; sha256="1jw6239asv6lwxrz5v0r5pzg6v500bqxg8361sh4jj67rsrc7g9m"; depends=[]; }; + esotericR = derive { name="esotericR"; version="1.0"; sha256="0kl9c2z2mpg3mk8jnl0ssgcf6y0i9jpczms746j8f07ydrcxpf41"; depends=[]; }; + ESPRESSO = derive { name="ESPRESSO"; version="2.0"; sha256="1xz4lw1rczs4laz1drrqyz91w62a99z7jzs2wkcdrhcirgmmpjp3"; depends=[MASS]; }; + EstCRM = derive { name="EstCRM"; version="1.3"; sha256="0fmnlh0pnprskq01iq3rfassyxq7fywiprvqw0xdlh8yxl3w2c9n"; depends=[Hmisc lattice]; }; + estout = derive { name="estout"; version="1.2"; sha256="0whrwlh4kzyip45s4zifj64mgsbnrllpvphs6i5csb7hi3mdb3i5"; depends=[]; }; + etable = derive { name="etable"; version="1.2.0"; sha256="17xahaf2fz1qgqjaw8qbnss95il6g47m3w00yqc5nkvv37gs0q7c"; depends=[xtable Hmisc]; }; + ETAS = derive { name="ETAS"; version="0.0-1"; sha256="1p38ay3vnca8b8wszm66whxap8k58c004l1nlsk7zkynyia0im6c"; depends=[spatstat]; }; + etasFLP = derive { name="etasFLP"; version="1.0.3"; sha256="1krfpnqh7w157cfy8rwa6dmr0j8xqvnhwvygbrcvns3a3y4v4ix0"; depends=[mapdata rgl fields maps]; }; + ETC = derive { name="ETC"; version="1.3"; sha256="1nvb9n0my7h1kq996mk91canxi6vxy3mzhrshrvm13ixvl48lkkh"; depends=[mvtnorm]; }; + ETLUtils = derive { name="ETLUtils"; version="1.2"; sha256="0mlfq23v7nl6lslscknk9mdx4dxk8xyc5imnvzlhzhag0k50mqj2"; depends=[ff]; }; + etm = derive { name="etm"; version="0.6-1"; sha256="00sm4cib1r4wcn71v1ry3asszshks4f6br7s5xzm8d5ngxdlsxda"; depends=[survival lattice]; }; + eulerian = derive { name="eulerian"; version="1.0"; sha256="0yhpnx9vnfly14vn1c2z009m7yipv0j59j3s826vgpczax6b48m0"; depends=[]; }; + EvalEst = derive { name="EvalEst"; version="2012.4-1"; sha256="19yn4haxkny9kij0jhkwdbp34c9h2cc5l2n2b14khjhv1msqcfmi"; depends=[setRNG tframe tfplot dse]; }; + evaluate = derive { name="evaluate"; version="0.5.5"; sha256="15i6bkzrzkgsdlgf2pcx8b3gcjh1rplzhimy310845pfgkldcq9b"; depends=[stringr]; }; + Evapotranspiration = derive { name="Evapotranspiration"; version="1.3"; sha256="1s0r448h69nxa47phs6b6fz9lfhklhak3bk8mwl5sy45hami4016"; depends=[zoo]; }; + EvCombR = derive { name="EvCombR"; version="0.1-2"; sha256="1f5idjaza91npf64hvcnpgnr72mpb7y6kf91dp57xy9m14k7jx5g"; depends=[]; }; + evd = derive { name="evd"; version="2.3-0"; sha256="1h3dkssgw2x7pblvknfr0l8k7q25nikxyl7kl9x95ganjpi2452v"; depends=[]; }; + evdbayes = derive { name="evdbayes"; version="1.1-1"; sha256="0lfjfkvswnw3mqcjsamxnl8hpvz08rba05xcg0r47h5vkgpw5lgd"; depends=[]; }; + eVenn = derive { name="eVenn"; version="2.1.6"; sha256="1kxxaj2ia1v5p0d0yi3vq7rkiajsdsg97k3yg0iqb9v4vbj8mc1y"; depends=[]; }; + eventInterval = derive { name="eventInterval"; version="1.0-1"; sha256="0vcp40rsb2pazn4p44dsaxjai7qhjwzrh9lf0q84fcayrnk51dqv"; depends=[MASS]; }; + events = derive { name="events"; version="0.5"; sha256="1zka4ygymifs8snd7cabl11b5lg3f8g8370dkm9ybl40bn8vvqq2"; depends=[]; }; + eventstudies = derive { name="eventstudies"; version="1.1"; sha256="13l2yhmlpiid9r3njnmvja231l00ym7gvwfbv0m9fk2k5j6gm5id"; depends=[zoo xts boot]; }; + EVER = derive { name="EVER"; version="1.2"; sha256="1yk6ln4shp53jvph6jy1d5m4cq080p6f03qwigdw4f0al9qzja2s"; depends=[]; }; + evir = derive { name="evir"; version="1.7-3"; sha256="1kn139vvzdrx5r9jayjb4b0803b0bbppxk68z00gdb50mxgvi593"; depends=[]; }; + evmix = derive { name="evmix"; version="2.0"; sha256="0848lig19dmcaz3780knd3kzr7igbfjx02lxvdi7s9l3clzc4v3s"; depends=[MASS gsl]; }; + evobiR = derive { name="evobiR"; version="1.0"; sha256="12j01qzc4yrjpxbj39bl29f5ypxwk33c6qf0mjjbgpwn5g6fgsi4"; depends=[seqinr ape stringr geiger taxize]; }; + evora = derive { name="evora"; version="1.0"; sha256="0blq28ldynbq3v6rh0yk89wy1sjp4621h6iwnyyiipqwzihwrhz2"; depends=[Hmisc]; }; + EvoRAG = derive { name="EvoRAG"; version="1.0"; sha256="1dd4c9pg8apagp8bn04n1irz09ab6bf2s8h90zfq0n060jmnbbml"; depends=[]; }; + evt0 = derive { name="evt0"; version="1.1-3"; sha256="08sbyvx49kp3jsyki60gbbnci26d6yk0yj2zcl4bhfac8c3mm6ya"; depends=[evd]; }; + evtree = derive { name="evtree"; version="0.1-4"; sha256="1n75w11jc6sbs3fzd4dmimn0hs7p4rj9ikaxaa85gh383p9yfw0h"; depends=[partykit]; }; + EWGoF = derive { name="EWGoF"; version="2.0"; sha256="07kpzaqfd7ihpmh2y5806mz5h64dcajia5v36pp9myl04fvpjapp"; depends=[Rcpp maxLik miscTools]; }; + Exact = derive { name="Exact"; version="1.4"; sha256="1l4cq6kslnl8x8c53m2w8w1vijmbxaxzr1fpdzrm2hfra0p5z90s"; depends=[]; }; + exact2x2 = derive { name="exact2x2"; version="1.3.0"; sha256="0gp6b04bd6pf1a01d6d99p8mbjcqsayrdbm58wky2pg8s445523q"; depends=[exactci ssanv]; }; + exactci = derive { name="exactci"; version="1.2-1"; sha256="1vnaggb38px2z8fhav0s8hnqz0x2y0ivfzxhyfqn2rlm1v2zxmn0"; depends=[]; }; + ExactCIdiff = derive { name="ExactCIdiff"; version="1.3"; sha256="1vayq8x7gk1fnr1jrlscg6rb58wncriybw4m1z0glfgzr259103y"; depends=[]; }; + exactLoglinTest = derive { name="exactLoglinTest"; version="1.4.2"; sha256="0j146ih9szzks9r45vq1jf47hrwjq081q1nsja5h1gpllks8217h"; depends=[]; }; + exactmeta = derive { name="exactmeta"; version="1.0-1"; sha256="1alva8ls4l56j3bdxgd1mh9isqk198iyrycc88vgpmj30gjpwncn"; depends=[]; }; + ExactPath = derive { name="ExactPath"; version="1.0"; sha256="0ngvalmgdswf73q0jr4psg0ihnb7qwkamm6h64l01k5rmgd5nm16"; depends=[ncvreg lars]; }; + exactRankTests = derive { name="exactRankTests"; version="0.8-27"; sha256="0ygy3ygdnrrcggps5zh5r7kqfa9vj6gfgdyli63n8cwdimfyndhn"; depends=[]; }; + exams = derive { name="exams"; version="1.9-6"; sha256="1dyhc3nkvyw1s3mk44m141dhrg92lhk06b6d6n76b2iadjk90ywa"; depends=[]; }; + ExceedanceTools = derive { name="ExceedanceTools"; version="1.1.2"; sha256="1f466mc0gdk5qzqxr2sylc9j990wi6nx0083gbzwnh2bq1k1d0sh"; depends=[SpatialTools splancs]; }; + excursions = derive { name="excursions"; version="1.0-20140427"; sha256="01m91r3xsrabdaq79gqryhzic0frcdhapnygv3hz6bypv9ls7g76"; depends=[Matrix]; }; + ExomeDepth = derive { name="ExomeDepth"; version="1.0.0"; sha256="00d0glxaax0qx2siyxrp9zfd4xwq7idd25nmiws4gngmzm16s2q5"; depends=[aod VGAM]; }; + expands = derive { name="expands"; version="1.4"; sha256="1k9rr13vbppmaq8i0s4q7szp42b444hx5fka9q9vwskhv3d9azwi"; depends=[rJava flexmix matlab mclust moments ape permute]; }; + ExpDes = derive { name="ExpDes"; version="1.1.2"; sha256="0qfigbx06b3p04x5v7wban139mp8hg8x77x6nzwa4v6dr226qbkv"; depends=[]; }; + ExpDes_pt = derive { name="ExpDes.pt"; version="1.1.2"; sha256="0khw2jhg2vxcivgr20ybvrsqhd8l8bir5xjmr4m44za9nhap43bz"; depends=[]; }; + expectreg = derive { name="expectreg"; version="0.39"; sha256="1mxhv6phc3lgp0zz20wszx4nr3by9p6492wcb0x8wn8p8p1sy1b3"; depends=[mboost BayesX quadprog]; }; + experiment = derive { name="experiment"; version="1.1-1"; sha256="07yaf5k5fpymz2yvr52zbbi60g0v84qryvqqjq3sjq2mb1fjfz1p"; depends=[boot MASS]; }; + expert = derive { name="expert"; version="1.0-0"; sha256="0y9vcigvzhymalpv31b9nvmr86z1dz7x29yj838vks0dsv23rgrf"; depends=[]; }; + expm = derive { name="expm"; version="0.99-1.1"; sha256="0kcanqaqn51f437fxriw4qkpxbhzpjzlkp95wn89ip4jhy6076qn"; depends=[Matrix]; }; + expoRkit = derive { name="expoRkit"; version="0.9"; sha256="0raf0m2nfbdbd1pc4lincyp8y8lgn3bfi4hn0p04plc5p40l1gvc"; depends=[Matrix SparseM]; }; + ExPosition = derive { name="ExPosition"; version="2.8.19"; sha256="04s9kk8x6khvnryg6lqdwnyn79860dzrjk8a9jyxgzp94rgalnnz"; depends=[prettyGraphs]; }; + expoTree = derive { name="expoTree"; version="1.0.1"; sha256="0hj1x4niqp0ghqik3mz733nc3zpnhyknrdpzpj6y2rfia2ysdiz8"; depends=[ape deSolve]; }; + expp = derive { name="expp"; version="1.0"; sha256="03yxgg7vldcclpwj1yin33rdh2sm7nqsqwgs819j6vh2wr5x9h27"; depends=[sp spdep rgeos deldir]; }; + expsmooth = derive { name="expsmooth"; version="2.02"; sha256="1l9k4llzkqwzmrr1l68qr58ngzs3ql67hxrr5fcrcwwnaa1zinyj"; depends=[tseries forecast]; }; + exptest = derive { name="exptest"; version="1.2"; sha256="0wgjg62rjhnr206hkg5h2923q8dq151wyv54pi369hzy3lp8qrvq"; depends=[]; }; + exsic = derive { name="exsic"; version="1.0"; sha256="01gvqpy72vs7hn5hcxazzqjb44crh0j31khc11m99ig1ynkbvkms"; depends=[stringr markdown]; }; + extfunnel = derive { name="extfunnel"; version="1.3"; sha256="162w5b2wjs3yqy8jisamsapav6swa8sskf1b6x5hglnrv3i4qyyy"; depends=[rmeta]; }; + extraBinomial = derive { name="extraBinomial"; version="2.1"; sha256="0qmvl35f7n78kghszwyaz4wzbswqy4p98c3b6alzrc2ldsq6pq5z"; depends=[]; }; + extracat = derive { name="extracat"; version="1.6-4"; sha256="1v398ih6ikqwwc5frs6zqxmhzpx4vinbdxvj9704rzs6zl4vp7aj"; depends=[colorspace hexbin scales ggplot2 reshape2 plyr TSP]; }; + extrafont = derive { name="extrafont"; version="0.16"; sha256="0ml1a7m28cdx1a6qcmg8840v95lmhl39ad51q1k3bnqzbxfgqncl"; depends=[extrafontdb Rttf2pt1]; }; + extrafontdb = derive { name="extrafontdb"; version="1.0"; sha256="115n42hfvv5h4nn4cfkfmkmn968py4lpy8zd0d6w5yylwpzbm8gs"; depends=[]; }; + extraTrees = derive { name="extraTrees"; version="0.4-5"; sha256="0svxafhkl3lc3c6r0aqs1cx8gzp699ij6hl5396vwlbsy0bvpk8x"; depends=[rJava]; }; + ExtremeBounds = derive { name="ExtremeBounds"; version="0.1.3"; sha256="15p7ghgam1myfaq8mwmf1m5mhy45sbrwpz2kjjz6h3792ccwa9f7"; depends=[]; }; + extRemes = derive { name="extRemes"; version="2.0-0"; sha256="0nygiz9h5xzkbda7ihqq3mf7h0glc7phc28hi00q6fda3gm7cgwj"; depends=[Lmoments distillery car]; }; + extremevalues = derive { name="extremevalues"; version="2.2"; sha256="162j6kqnd1ak2w2m6y5dbxcya1ap4648hvc83ibq33bxk98rh7sb"; depends=[]; }; + extWeibQuant = derive { name="extWeibQuant"; version="1.0"; sha256="0l20x33nh50jfrkwm8d0n824d400lnjia8ymdwr10sgj3v1x7vp1"; depends=[]; }; + eyetracking = derive { name="eyetracking"; version="1.1"; sha256="0ajas96s25hjp3yrg42hp78qjhl1aih04mjirkskx32qsyq5hfpv"; depends=[]; }; + ez = derive { name="ez"; version="4.2-2"; sha256="1dk4ig137ridr4pw4afp3flm22s8l38yrgxabld1zv46slndc8mm"; depends=[car ggplot2 lme4 MASS Matrix mgcv plyr reshape2 scales stringr]; }; + ezglm = derive { name="ezglm"; version="1.0"; sha256="0x7ffk3ipzbdr9ddqzv0skmpj5zwazkabibhs74faxnld7pcxhps"; depends=[]; }; + ezsim = derive { name="ezsim"; version="0.5.3"; sha256="0kfppsl8ckni6dl3qfqxi8saskqx3das7grwqw2f6v1yfms68xvy"; depends=[foreach ggplot2 reshape plyr Jmisc digest]; }; + FacPad = derive { name="FacPad"; version="3.0"; sha256="0h7knzin0rfk25li127zwjsyz223w7nx959cs328p6b2azhgn59b"; depends=[Rlab MASS]; }; + factas = derive { name="factas"; version="2.3"; sha256="015lpxf37z8vx4h7a8lavksd7i0gc4x7a7ja63wi9h1czdjsc28k"; depends=[plotrix FactoMineR Matrix]; }; + FactMixtAnalysis = derive { name="FactMixtAnalysis"; version="1.0"; sha256="1l4wfp39b7g38vdk6jpd5zq08sjhsg0s71f662aca2rj6l3a2x3r"; depends=[MASS mvtnorm]; }; + FactoClass = derive { name="FactoClass"; version="1.1.0"; sha256="0y7yd2i79j1m5yl6vnvma47xhr3rl7i37h9sadyrpfm4s486b3kc"; depends=[ade4 xtable]; }; + FactoMineR = derive { name="FactoMineR"; version="1.26"; sha256="0a5kxygybsk2y7nyzl3hnvpspimx3c77j7n8syhs817zw3d6sg6i"; depends=[car ellipse lattice cluster scatterplot3d leaps]; }; + factorplot = derive { name="factorplot"; version="1.1-1"; sha256="1l8pabf32dr12l7b4dgv5jaxpsjymgdxc51miv72zczrx8adc7da"; depends=[multcomp nnet]; }; + factorQR = derive { name="factorQR"; version="0.1-4"; sha256="1vl01fm5qfyhnqbl5y86vkr50b8cv07vzlqs3v6smqaqq6yp4lv4"; depends=[lattice]; }; + factualR = derive { name="factualR"; version="0.5"; sha256="1wz8ibcmilcx62yy29nd2i1pdmjf7fm0g9i5s58gdn8cjlhnw1jl"; depends=[RJSONIO RCurl]; }; + FAdist = derive { name="FAdist"; version="2.0"; sha256="0qkbliz25xlsng7fi9hk1vshpd3535yrv5rc43m3g2mj024a9wxg"; depends=[]; }; + Fahrmeir = derive { name="Fahrmeir"; version="2012.04-0"; sha256="1axx6r4g6gj1inih41i2az4y0d3jq9x1a6nyj8k7wp51z4z2nbmk"; depends=[]; }; + fail = derive { name="fail"; version="1.2"; sha256="0xzvb71iq20ah1x1zlb9kbx0r47jhqlzxx0sxwhkibglpzskg84z"; depends=[BBmisc]; }; + FAiR = derive { name="FAiR"; version="0.4-15"; sha256="18nj95fiy3j7kf4nzf692dxja3msnaaj5csg745bnajb48l606wz"; depends=[rgenoud gWidgetsRGtk2 rrcov Matrix]; }; + faisalconjoint = derive { name="faisalconjoint"; version="1.10"; sha256="0z1d241s05jpcih6kh8dhs3k506mwls4xms5zszsmdbzri6sa34x"; depends=[]; }; + falcon = derive { name="falcon"; version="0.1"; sha256="0yas8a8nqdp03s77k5z1xlyz59gapyx68pz0mf6i2snjwpgai59v"; depends=[]; }; + fame = derive { name="fame"; version="2.18"; sha256="132wb59d15bs94fga5hwxxr9pklyp2rjn448nl8lx5spjrvycwf4"; depends=[tis]; }; + Familias = derive { name="Familias"; version="1.2"; sha256="0y97sn2wn3g804yx5fx40pbki5d6avb73prb24k85ri3gscrac38"; depends=[paramlink]; }; + FAMT = derive { name="FAMT"; version="2.5"; sha256="0mn85yy9zmiklfwqjbhbhzbawwp2yqrm9pvm8jhasn9c3kw1pcp2"; depends=[mnormt]; }; + fanc = derive { name="fanc"; version="1.13"; sha256="08qw4vhms8q2jyqqp2vlq8xdg7y7m0mcwb1pibm7wn938rgablq3"; depends=[Matrix]; }; + fANCOVA = derive { name="fANCOVA"; version="0.5-1"; sha256="034m2mmm6wmsjd41sg82m9ppqjf4b1kgw5vl2w7kzqfx0lypaiwv"; depends=[]; }; + fanovaGraph = derive { name="fanovaGraph"; version="1.4.7"; sha256="19bzl6yrmi5lgyx6nq3f7i0rdaz2ig580h8116axrsxpx8c4d52x"; depends=[sensitivity igraph DiceKriging]; }; + fanplot = derive { name="fanplot"; version="3.2"; sha256="0xs02036dw7p5nqn6n33vl19hi7r8567hkhi2f2akayi81ryb288"; depends=[]; }; + FAOSTAT = derive { name="FAOSTAT"; version="1.6"; sha256="18wx691hclbf7fvfk3swsz6ripv9w70nlqhsk3lgr4il8bjsr3cy"; depends=[RJSONIO plyr data_table MASS classInt ggplot2 labeling scales]; }; + faoutlier = derive { name="faoutlier"; version="0.3.1"; sha256="15gibfhdffgwcrz435b6bhz4zabmzwbn9hgirimsgy0k492ywnl6"; depends=[sem lattice MASS]; }; + far = derive { name="far"; version="0.6-3"; sha256="0i7c0zrz33abwkml1zdjf5m61bxpfndwziqjbh6wyhdz8msp2kmf"; depends=[nlme]; }; + faraway = derive { name="faraway"; version="1.0.5"; sha256="0grqpmmfq8ymhscqn2s6zhf2b86nj7vi4qcg6ymaaydnc228xb75"; depends=[]; }; + fArma = derive { name="fArma"; version="3010.79"; sha256="1byxyy4afl1gq58r1cmc5p6frdr9rljr1x3pdnc8nj8rr65lkg72"; depends=[timeDate timeSeries fBasics]; }; + farsi = derive { name="farsi"; version="1.0"; sha256="0y14f86bccwjirdx33383wa605y7l7lr0w7ygvg8r7f7izkv7r3n"; depends=[]; }; + fAsianOptions = derive { name="fAsianOptions"; version="3010.79"; sha256="1w9ph3rz6cd7g275flzsnqxwd3r5xin6pkini8pbsi9s8hbqv3vl"; depends=[timeDate timeSeries fBasics fOptions]; }; + fAssets = derive { name="fAssets"; version="3003.81"; sha256="12dxd2vwg58lp8mzwff3nap2sr2gg9h69j921qp0m39cgs2nlsk0"; depends=[MASS timeDate timeSeries fBasics fCopulae sn robustbase ecodist energy mvnormtest]; }; + fast = derive { name="fast"; version="0.63"; sha256="00ag9d0dwn9al104y93m8dclbjqabr9liif8gr19v3gv6k2k6p2c"; depends=[zoo]; }; + fastclime = derive { name="fastclime"; version="1.2.4"; sha256="0z91khjzffwy4mbqgkfw4l9mw32sg4p5pvcg4v24z1q44pgnwn4y"; depends=[lattice igraph MASS Matrix]; }; + fastcluster = derive { name="fastcluster"; version="1.1.13"; sha256="0hkml8ggmq5gqw9indqh6rb5x922qq8chd9s35fkxdcgzw58253a"; depends=[]; }; + fastcox = derive { name="fastcox"; version="1.1.1"; sha256="1a5i0ragl0r6p29iamkn04igakiwyysykfbs2p6ybgy8pfdq69sv"; depends=[Matrix]; }; + fastGHQuad = derive { name="fastGHQuad"; version="0.1-1"; sha256="0qnffhplfl2kb4dd90as298ays19k4f18slhj063f01gywqqrahn"; depends=[Rcpp]; }; + FastHCS = derive { name="FastHCS"; version="0.0.1"; sha256="02hh4cj1viccw95r54jlxdppmqfyllw1csx5hwls5gp6gwx8f861"; depends=[matrixStats]; }; + fastHICA = derive { name="fastHICA"; version="1.0"; sha256="02lqqni7j2sp3ndb3kq785d7jf08p2s3ch30di8ffhwn57indald"; depends=[fastICA energy]; }; + fastICA = derive { name="fastICA"; version="1.2-0"; sha256="0ykk78fsk5da2g16i4wji85bvji7nayjvkfp07hyaxq9d15jmf0r"; depends=[]; }; + FastImputation = derive { name="FastImputation"; version="1.2"; sha256="04bz623kcanxcl9z8zl6m7m47pk0szcjrjlgs5v1yl3jnq9m2n7g"; depends=[]; }; + fastM = derive { name="fastM"; version="0.0-2"; sha256="0q5dz47sqj6d4r3k6l6q34l5ajb8fjbf7xam75scp0mg3czswnfn"; depends=[Rcpp]; }; + fastmatch = derive { name="fastmatch"; version="1.0-4"; sha256="16gfizfb1p7rjybrfm57nb6hdm30iirbppva8p8xf8pndz35fjbs"; depends=[]; }; + FastPCS = derive { name="FastPCS"; version="0.0.9"; sha256="12hzp8vk2qb847xy42r0dhab21c0xn23vvakb4qa1jwz6ykji1zk"; depends=[matrixStats]; }; + fastR = derive { name="fastR"; version="0.4-2"; sha256="19vg2dpbq4d7c3zyp18ygx91f0i0n37xwywbj87l7va82l55flyx"; depends=[lattice mosaic]; }; + FastRCS = derive { name="FastRCS"; version="0.0.3"; sha256="0v69hgl0lwasj6xhzmd9sqv3ipax8d0gz6svhmcvnf47rzr8wc7z"; depends=[matrixStats]; }; + FastRWeb = derive { name="FastRWeb"; version="1.1-0"; sha256="1hiabi7ibp69n5wi5x4kwznxhc2i7dxdrqf1fm6ppv7ix0wkjs07"; depends=[Cairo]; }; + fastSOM = derive { name="fastSOM"; version="0.9"; sha256="03501d5289lrlr4qcgxciz160hqc6nhqb9ab266fr132fkbiv4id"; depends=[]; }; + fat2Lpoly = derive { name="fat2Lpoly"; version="1.0.2"; sha256="1v5lrs2jksqiaavyhrsa2kjcw84wzg98g3v0kyx7jhmq8686027g"; depends=[kinship2 multgee]; }; + FAwR = derive { name="FAwR"; version="1.0.1"; sha256="1j97hdhaamg6xqkaxb04xzsd60hd69n9y84frkqi9swvhr565waj"; depends=[MASS lattice]; }; + fBasics = derive { name="fBasics"; version="3010.86"; sha256="1ij7f030r12g7s4jfykyfbnfwxwy777smccf9aw0imrz5ik6qjaj"; depends=[MASS timeDate timeSeries stabledist gss]; }; + fbati = derive { name="fbati"; version="1.0-1"; sha256="1ia67dg9b61kc14mjg7065v0c6n6agdp8cjdviasyzga00wzsyxj"; depends=[pbatR fgui rootSolve]; }; + FBFsearch = derive { name="FBFsearch"; version="1.0"; sha256="1nxfhll9gx9l6hzpcihlz880qxr0fyv5rjghk0xgp8xn4r5wxw11"; depends=[Rcpp RcppArmadillo]; }; + FBN = derive { name="FBN"; version="1.5.1"; sha256="0723krsddfi4cy2i3vd6pi483qjxniychnsi9r8nw7dm052nb4sf"; depends=[]; }; + fBonds = derive { name="fBonds"; version="3010.77"; sha256="00rc3i0iyqcpsqvc036csa1c8gxwcnniwj3l2irmcalx4p8650w0"; depends=[timeDate timeSeries fBasics]; }; + fbRanks = derive { name="fbRanks"; version="2.0"; sha256="17kbmdpgqkj2n951c6mdsrgfga6kiij1gqiw1wpi0q3fq4dlfrzx"; depends=[igraph stringr]; }; + fcd = derive { name="fcd"; version="0.1"; sha256="091wbf5iskcgyr7jv58wrf590qijb0qcpninmvm3xrwxi34r37xr"; depends=[glmnet MASS combinat]; }; + fCertificates = derive { name="fCertificates"; version="0.5-3"; sha256="1m0kglsr6g0f7m8r9ls95zj3hmjqq83whyk6svar39p13vabadw6"; depends=[fBasics fOptions fExoticOptions]; }; + fclust = derive { name="fclust"; version="1.0.1"; sha256="1xl8mw4wfwp9n9fmfmzxz8k8qyrk62qr77j085b3kgp7a85dp8ma"; depends=[]; }; + fCopulae = derive { name="fCopulae"; version="3000.79"; sha256="0khinbvma19zcp01qjqishwjlzj99qfggldnsasvbyq13hdj1zf0"; depends=[sn timeDate timeSeries fBasics]; }; + fcros = derive { name="fcros"; version="1.1"; sha256="1wnsjghcs0gfqzl6v95zf0cxm3apnii92b2gxg3hkbgmc6xjm5bf"; depends=[]; }; + FD = derive { name="FD"; version="1.0-11"; sha256="18g2fn6s60hxnasrj58450bjsf4kz62mypyby9avs5anlwihj8gm"; depends=[ade4 ape geometry vegan]; }; + fda = derive { name="fda"; version="2.4.0"; sha256="1jj4s3dk2l2r871la848bawyjm62w2w1669xa7cqc7xqid78ry68"; depends=[Matrix]; }; + fdakma = derive { name="fdakma"; version="1.0"; sha256="19bzc02vcgh847xihjf5y9qfm1jsvygmfddf31hnszr3rgqchpl0"; depends=[]; }; + fdaMixed = derive { name="fdaMixed"; version="0.4"; sha256="15m13v71kqxd9gqiymgfkq0dvcpzp05576m8zkg08m0k067ga9bd"; depends=[Formula Rcpp]; }; + fdasrvf = derive { name="fdasrvf"; version="1.4.2"; sha256="12x04fi0sxs9yh1mf9iykk69zlz6m31j7s01in28p5hgk6wqf8fi"; depends=[foreach mvtnorm matrixcalc numDeriv]; }; + fdatest = derive { name="fdatest"; version="1.0"; sha256="0m17abycfczkhwmrmjg43ra3fcaqicr15v2frwfgr5p1wj9x0gwq"; depends=[fda]; }; + fda_usc = derive { name="fda.usc"; version="1.1.0"; sha256="0b7g4qjf0sjk438cflviz0yh9addy6ra8aiq7nwvx3dg2vx13gm3"; depends=[fda MASS mgcv]; }; + FDboost = derive { name="FDboost"; version="0.0-5"; sha256="1xra0g46kicq74cpjby6y1va2bxvx8b9fiy76mdg1s6n8m6r1pxn"; depends=[mboost Matrix mgcv zoo nnls]; }; + fdrci = derive { name="fdrci"; version="2.0"; sha256="0smyl9phl02wghimawvff3h267w3h213jbqpka155i6cfzig9qjy"; depends=[]; }; + FDRreg = derive { name="FDRreg"; version="0.1"; sha256="17hppvyncbmyqpi7sin9qsrgffrnx8xjcla2ra6y0sqzam1145y4"; depends=[fda Rcpp mosaic]; }; + fdrtool = derive { name="fdrtool"; version="1.2.12"; sha256="15c1ikddwzzl3mq2dcwjicjg46k436m315dhmkxmbwilrdqlcrn6"; depends=[]; }; + fds = derive { name="fds"; version="1.7"; sha256="164f2cbywph7kyn712lfq4d86v22j4y3fg5i9zyz956hipqv0qvw"; depends=[rainbow RCurl]; }; + fdth = derive { name="fdth"; version="1.1-8"; sha256="195219rndjcccd3b1gn3xc9iky8f3w5ig8x9822d4a2xajr78jnv"; depends=[]; }; + FeaLect = derive { name="FeaLect"; version="1.3"; sha256="0an548y067g2n7xbg6slxnlaxzn71nwq28cdf9788w4zs98gh9c9"; depends=[lars rms]; }; + feature = derive { name="feature"; version="1.2.10"; sha256="0jsqa2mv4kxzx3jh1lakg62f15776yzc8clj7wyijnx4jbkx8k8j"; depends=[ks]; }; + features = derive { name="features"; version="2011.8-2"; sha256="0yshwqv2mzl5jj323jwxscpz2ygb4ywxh6q0zwphb24bhv7h9lwd"; depends=[lokern]; }; + fechner = derive { name="fechner"; version="1.0-2"; sha256="0yhiqr0wlka3wq0nhwy9n02ax3x5b0y803iadbsr3xb54pxbfbqd"; depends=[]; }; + FeedbackTS = derive { name="FeedbackTS"; version="1.0"; sha256="0xbpjyhz24cdc0kz0i96mwd6375x6kbipjs6zqhyh2z7pckvd6sb"; depends=[maps mapdata proj4 geoR]; }; + fExoticOptions = derive { name="fExoticOptions"; version="2152.78"; sha256="0h58prj8nh340b0fxxkgg4bk25yxvb4f8ppq677hr12x8sysf1a8"; depends=[timeDate timeSeries fBasics fOptions]; }; + fExpressCertificates = derive { name="fExpressCertificates"; version="1.2"; sha256="1r4qkhf7alasbwjz910b0x4dlzm72af06kv7v2vwyzvf3byn21c5"; depends=[mvtnorm tmvtnorm fCertificates Matrix]; }; + fExtremes = derive { name="fExtremes"; version="3010.81"; sha256="0bzgnn0wf7lqhj7b2dbbhi61s8fi2kmi87gg9hzqqi6p7krnz1n5"; depends=[timeDate timeSeries fBasics fGarch fTrading]; }; + ff = derive { name="ff"; version="2.2-13"; sha256="1nvd6kx46xzyc99a44mgynd94pvd2h495m5a7b1g67k5w2phiywb"; depends=[bit]; }; + ffbase = derive { name="ffbase"; version="0.11.3"; sha256="0n65i2a91jjjpzfw3placf6j6sbf8azzd1sck4adha6iiwpi8b1n"; depends=[ff bit fastmatch]; }; + FFD = derive { name="FFD"; version="1.0-2"; sha256="0s6j4rq7ryypq63cq1cfa7n993bwx9pxp6pscdhyh79rhk28xxda"; depends=[tkrplot R2HTML]; }; + FField = derive { name="FField"; version="0.1.0"; sha256="05q16v2vv64qhbnf2l66dwzmvgzyaq8vxwwdabp534bw7z7zpi8q"; depends=[]; }; + ffmanova = derive { name="ffmanova"; version="0.2-2"; sha256="0sw8br73mx552m4b5zi4qgjcrwxflmgsnvs4mlnxh8g2gaf5bx4j"; depends=[]; }; + fftw = derive { name="fftw"; version="1.0-3"; sha256="01nncrf2p0yq49lhd5aq4hvhp87f25r0x7siqnaldv5zq24krl30"; depends=[]; }; + fftwtools = derive { name="fftwtools"; version="0.9-6"; sha256="00m4yapdkwfi4vrpg0yhakq2chma46mmbwhd9a15y61w97yzz7vb"; depends=[]; }; + fgac = derive { name="fgac"; version="0.6-1"; sha256="0paddf5a4w0g2i0ay7my0bppwh534d8ghy6csfxl5jj034xjgwkk"; depends=[]; }; + FGalgorithm = derive { name="FGalgorithm"; version="1.0"; sha256="1dq6yyb3l6c9fzvk9gs6pb240xb5hvc6fh8p3qd3c91b3m289mcc"; depends=[]; }; + fGarch = derive { name="fGarch"; version="3010.82"; sha256="08q452pasvjhsg2ks6c52lqg276hlbdwk0vh25xya2bw2bgbqy99"; depends=[timeDate timeSeries fBasics]; }; + FGN = derive { name="FGN"; version="2.0-11"; sha256="01l6gddxqg7cqlw1anskmzfs58yxr7a5zib8ayln19xrvws6c0v8"; depends=[ltsa akima ltsa]; }; + fgof = derive { name="fgof"; version="0.2-1"; sha256="0bclkb3as0fl2gyggqxczndfyj9pfnni5pa3inpn5msrnjg4g2j2"; depends=[mvtnorm numDeriv]; }; + FGSG = derive { name="FGSG"; version="1.0"; sha256="01v0jbj09r1c4anbs3xa8y8by9ffwbbc36vsh0bv62blrisp7a03"; depends=[]; }; + fgui = derive { name="fgui"; version="1.0-5"; sha256="0gzwxzvf2y9p5rlfk862d7l1dm2sdwjhjpcb8p494cj4g1xshazg"; depends=[]; }; + FHtest = derive { name="FHtest"; version="1.1"; sha256="0yqy3lvxjhk7biqfikxqlgs9zsy1vlld9pqxhgxmq04gbnjn2jfk"; depends=[interval MLEcens MASS KMsurv]; }; + FI = derive { name="FI"; version="1.0"; sha256="17qzl8qvxklpqrzsmvw4wq3lyqz3zkidr7ihxc4vdzmmz69pyh2f"; depends=[]; }; + fICA = derive { name="fICA"; version="1.0-0"; sha256="054dg6ikps0ynfy06y95an5mi2wwqx88ylk5qcifxhjiylw36v5v"; depends=[JADE]; }; + fields = derive { name="fields"; version="6.9.1"; sha256="004arwyhzps19ljjlx30qqm080r3a3bhq8kglvrnvpgzjxrl68x0"; depends=[spam maps]; }; + FieldSim = derive { name="FieldSim"; version="3.1.3"; sha256="0ap1mfsjj3bflpryn0y8h9kg5mzfrnqj6h9f3m5ja32yjv19ql60"; depends=[rgl RColorBrewer]; }; + fifer = derive { name="fifer"; version="1.0"; sha256="0vbkks6y6pacgpiixm10fbfa34lmk5r9kwd30lfjf0g7r51fhvv9"; depends=[xtable MASS]; }; + filehash = derive { name="filehash"; version="2.2-2"; sha256="0766wrc42qh7r99bd2zy50vvdnqlz0vkzplskzkm5f4g63qdhjxh"; depends=[]; }; + filehashSQLite = derive { name="filehashSQLite"; version="0.2-4"; sha256="1higvkmj4wvnwpvayqinzaygiksij20d77dx118q0gffsczadamh"; depends=[filehash DBI RSQLite filehash DBI]; }; + fImport = derive { name="fImport"; version="3000.82"; sha256="07yqppl8sbfa0x9k4n7hh6hcgyxpcvlk74hhylib4nzqm70bn0sq"; depends=[timeDate timeSeries]; }; + financial = derive { name="financial"; version="0.2"; sha256="1v6jgs3rq57byin5mynslfjk3zrx91qz36558nn17mv6z0qsf10v"; depends=[]; }; + FinancialInstrument = derive { name="FinancialInstrument"; version="1.1"; sha256="19sszdrqipy9i8g2bda9v8i9g5c9w584si4va35fq3i929yv7hrl"; depends=[quantmod xts zoo]; }; + FinAsym = derive { name="FinAsym"; version="1.0"; sha256="0v15ydz4sq9djwcdcfp90mk8l951rry7h91d7asgg53mddbxjj6f"; depends=[]; }; + FinCal = derive { name="FinCal"; version="0.6"; sha256="0slw5s7gilmv0j8iwhz27lss2gbrj2l8zqv7bqywr1yf0hw2nxn7"; depends=[ggplot2 reshape2 scales RCurl]; }; + FindAllRoots = derive { name="FindAllRoots"; version="1.0"; sha256="0n4wfm21qj5zn06jqnzxa0w9mfn18dqi6hk1jjqa56dxqw1k7vw0"; depends=[]; }; + FindIt = derive { name="FindIt"; version="0.3"; sha256="0bnyfv9xc5c9bzc34qpbnk6s9mvnzkx9zswjr3j210f518y8z45f"; depends=[glmnet lars glmnet lars]; }; + FindMinIC = derive { name="FindMinIC"; version="1.6"; sha256="0vlr56nw32msvz8bljrw82nzrnazncs6nz7zisidffm2v3najkar"; depends=[nlme sets]; }; + findpython = derive { name="findpython"; version="1.0.1"; sha256="0fa01znc9cckj4ay4zmwmssm2lkhmsw6h07y1pwgd6z1b2pj7bns"; depends=[]; }; + fingerprint = derive { name="fingerprint"; version="3.5.2"; sha256="042aycxs00rglqh2y27bjlwkk6z312gavli7g8xvqfx1lisijrjk"; depends=[]; }; + FinTS = derive { name="FinTS"; version="0.4-5"; sha256="16m57h6rk4344aalfwaz7hsyis30c1dirsyx8ih661ihgqn1ai1r"; depends=[zoo]; }; + FisherEM = derive { name="FisherEM"; version="1.4"; sha256="1lhkyyk82i6alxyiqrvy5fx60f8vab0y62zmw5fjaq6h0vczqn3s"; depends=[MASS elasticnet]; }; + fisheyeR = derive { name="fisheyeR"; version="0.9"; sha256="1w6va7gakqq2q8hsvdszpn8s2ysdfc648bk5p5v3wbl5s403bci8"; depends=[tkrplot]; }; + FisHiCal = derive { name="FisHiCal"; version="1.0"; sha256="17ga4d6ln8zz24s0iirv6a0z5wys9d8si7r8zsjdxnsgnhiwdxad"; depends=[igraph RcppArmadillo]; }; + fishmethods = derive { name="fishmethods"; version="1.6-0"; sha256="1vp125sg3fy02zj5rbvgq4aymg1dj8g54kq5ss78c7rzwww7a560"; depends=[MASS boot bootstrap]; }; + fishMod = derive { name="fishMod"; version="0.24"; sha256="1kjn94zvcxqx1j26f99ih1yffzv626x3lfhg7z2imypffm955ap3"; depends=[]; }; + fishmove = derive { name="fishmove"; version="0.2-1"; sha256="1b8drjvslmpqnq5v3axrshrl2xq87h3x5cgfnibbhn4slrxw55v9"; depends=[ggplot2 plyr]; }; + fit4NM = derive { name="fit4NM"; version="3.3.3"; sha256="1xy334svv7cc3xh2j33q6icnibxl46yvnxw8bd4xrpclg4xchc1g"; depends=[gWidgets tkrplot RGtk2 gWidgetsRGtk2 cairoDevice]; }; + FitAR = derive { name="FitAR"; version="1.94"; sha256="1mkk3kvfq4v0pdabnhbwrk31ji2mv2v6ns16xsvvr1qyg2fnx6hq"; depends=[lattice leaps ltsa bestglm lattice leaps ltsa]; }; + FitARMA = derive { name="FitARMA"; version="1.6"; sha256="1r9mqrqkm4wh3nd6v9wmpj23gw21i4p89p6z4c7639kn4f590ldk"; depends=[FitAR]; }; + fitdistrplus = derive { name="fitdistrplus"; version="1.0-2"; sha256="1m35zicxm5gfc9wgp7lx7ymy06nr4s9fcwc07iky40xh65kps0s5"; depends=[survival]; }; + fitDRC = derive { name="fitDRC"; version="1.1"; sha256="1f6avw8ia9ks17zdagpmh6yvcmi53h5cvm0wwv9hsb92x5zfhxn9"; depends=[]; }; + fit_models = derive { name="fit.models"; version="0.5-10"; sha256="06pj26dbnq6mf9wxinvjzwyn36656f66a4bmky36r7fzi92gf3d8"; depends=[lattice]; }; + FITSio = derive { name="FITSio"; version="2.0-0"; sha256="1gf3i1q9g81gydag2gj1wsy6wi5jj2v4j3lyrnh1n2g4kxd6s3cp"; depends=[]; }; + fitTetra = derive { name="fitTetra"; version="1.0"; sha256="0ia6wk4gicpmn6kclsd28p7v1npwfv2blagiz0cxzwfw3njv103g"; depends=[]; }; + FKF = derive { name="FKF"; version="0.1.3"; sha256="01ibihca39zng4wrvhq8h28bmb2rnsjm21xy22b85kpn3mbnh7f1"; depends=[RUnit]; }; + flare = derive { name="flare"; version="1.3.0"; sha256="1i2lwda8whzxhi834fcwx87nc19z4xxv2l9rzavxgsdsfjh0nx83"; depends=[lattice MASS Matrix]; }; + flashClust = derive { name="flashClust"; version="1.01-2"; sha256="0l4lpz451ll7f7lfxmb7ds24ppzhfg1c3ypvydglcc35p2dq99s8"; depends=[]; }; + flexclust = derive { name="flexclust"; version="1.3-4"; sha256="1x9gyg69kb3wn02w885kl6hcwpf2ki66gzfayvc83jisrwxvdfvv"; depends=[lattice modeltools]; }; + flexCWM = derive { name="flexCWM"; version="1.1"; sha256="0vxzf3ifmpg7l13bvbmv6h5a3gmn2h1xvkq354lvy4s8znk643c4"; depends=[numDeriv mnormt mclust ellipse mixture Flury]; }; + flexmix = derive { name="flexmix"; version="2.3-11"; sha256="14nv6dxpgm9nr01rcz32x42agr4xi2anyss2fiywjidwbdgj50iy"; depends=[lattice modeltools nnet]; }; + FlexParamCurve = derive { name="FlexParamCurve"; version="1.4-3"; sha256="1056lxs9c2bbh2i2gv1bv2sy8gq6k6p0jpl1d3axqd1xk5pipm2x"; depends=[nlme]; }; + flexsurv = derive { name="flexsurv"; version="0.3"; sha256="0ig0151843qfc4pvk9mh80kly1n9mq9aphwkwligm9llspiwbcja"; depends=[survival muhaz mvtnorm]; }; + flip = derive { name="flip"; version="2.4.2"; sha256="0qyn5y66hx4zbpxz2n56zazih44qrdi8lllq6awfin1dn8yx9xip"; depends=[e1071 someMTP cherry Rcpp]; }; + FLLat = derive { name="FLLat"; version="1.1"; sha256="1h2nfx7gb66hjdfkdm6im6n8c1fjdz9csg39pckb47c0khl3g9r0"; depends=[gplots]; }; + flora = derive { name="flora"; version="0.1"; sha256="1bccx65aw2z44h8j9q2f6yqz5745h7l3q9nz0fjc9sqbyd4n1wpw"; depends=[RCurl XML rjson]; }; + flowfield = derive { name="flowfield"; version="1.0"; sha256="1cx3i0w3xq781mmms4x20fshlf1i9bwxw9bxx562crix3fq3m50j"; depends=[]; }; + flsa = derive { name="flsa"; version="1.05"; sha256="07z2b1pnpnimgbzkjgjl2b074pl9mml7nac2p8qvdgv7aj070cmh"; depends=[]; }; + FluOMatic = derive { name="FluOMatic"; version="1.0"; sha256="06hww6viynisnfiphvghv4iqf1gk2snb8aksignaw8pnlkixnsg7"; depends=[]; }; + Flury = derive { name="Flury"; version="0.1-3"; sha256="105fv9azjkd8bsb9b8ba3gpy3pjnyyyp753qhrd11byp3d0bbxy0"; depends=[]; }; + flux = derive { name="flux"; version="0.3-0"; sha256="0pc9cab2pwrfl0fnz29wp7a398r49hvbi50jp8i2fk2rfvck21a7"; depends=[caTools]; }; + fma = derive { name="fma"; version="2.01"; sha256="1j5mvhbrdnkyj4svibpahnz7d4221nkhja5b7fnh68mbmil607fc"; depends=[tseries forecast]; }; + FME = derive { name="FME"; version="1.3.1"; sha256="1wylpxr9m65ksizjhn97082kfkf9m451qraw93cgn5660skxw7d8"; depends=[deSolve rootSolve minpack_lm MASS coda]; }; + fmri = derive { name="fmri"; version="1.5-0"; sha256="1a40rpm86kpqbq7hsfl3a3zkm3i938wdhdwf8vplrd117f15jbyb"; depends=[]; }; + fmsb = derive { name="fmsb"; version="0.4.4"; sha256="16kbbxlxwa1dnsyqw30rjwygh09cn0131zk2zswv7zq1imxniayr"; depends=[]; }; + FMStable = derive { name="FMStable"; version="0.1-2"; sha256="00viigpqfbqc4hyl9cwicbwqf2ksjak28qrqaa16jhbqz93j4fck"; depends=[]; }; + fmt = derive { name="fmt"; version="1.0"; sha256="13gsywnyvf9zy5n644g2xyd60f92w2dp7vil2dncjvjcqsib22a0"; depends=[]; }; + fMultivar = derive { name="fMultivar"; version="2152.77"; sha256="1gli46v7gvfbmbqvlam5g858ggyr8bl6ndbrqidq4bd1pdb8s9sl"; depends=[sn timeDate timeSeries fBasics]; }; + FNN = derive { name="FNN"; version="1.1"; sha256="1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj"; depends=[]; }; + fNonlinear = derive { name="fNonlinear"; version="3010.78"; sha256="0pmz16b606i3mx05zjln4nyl53ks7rlwgm45ldr9qgmw51pflwz9"; depends=[timeDate timeSeries fBasics fGarch]; }; + foba = derive { name="foba"; version="0.1"; sha256="1af8whgl66v0vwzdf03b6141k3dysdc0svymlgifcga5gqkwzsl0"; depends=[]; }; + fontcm = derive { name="fontcm"; version="1.1"; sha256="1z6b4qdgj5vhvjqj90sm1hp0fffi1vxzvq71p0flxybzyb7d15la"; depends=[]; }; + foodweb = derive { name="foodweb"; version="1-0"; sha256="1zm2a87g9bkpz90j9lax28s5hq1w7ia28qqb6vnvr1d7a47g9zi9"; depends=[rgl]; }; + fOptions = derive { name="fOptions"; version="3010.83"; sha256="01yr3hrfiq4hjhidl5pl1gcqg0myg4acmnipjhq70l3q50cfjm8l"; depends=[timeDate timeSeries fBasics]; }; + forams = derive { name="forams"; version="2.0-4"; sha256="1kvxlqdyzb3rqa45hp7jxjm009w0r6h78nr3yh9bqcz594zqidbq"; depends=[vegan]; }; + foreach = derive { name="foreach"; version="1.4.2"; sha256="097zk7cwyjxgw2i8i547y437y0gg2fmyc5g4i8bbkn99004qzzfl"; depends=[codetools iterators]; }; + ForeCA = derive { name="ForeCA"; version="0.1"; sha256="1nbflawx8h4lpb9ixbp0zcyl0bqykqlqail31i00ywkak2ic3pm3"; depends=[ifultools splus2R nlme R_utils sapa mgcv astsa]; }; + forecast = derive { name="forecast"; version="5.3"; sha256="1nb4llzvkawxd5iwq50wj07w17v2bnz4ynddgrvs3k719fdqi9i2"; depends=[zoo timeDate tseries fracdiff Rcpp nnet colorspace]; }; + foreign = derive { name="foreign"; version="0.8-61"; sha256="0r994z3ihvrbfhzpvp2dkxbfgkbmccgrryfaxmy1vi56v59n73w8"; depends=[]; }; + forensic = derive { name="forensic"; version="0.2"; sha256="0kn8wn6p3fm67w88fbarg467vfnb42pc2cdgibs0vlgzw8l2dmig"; depends=[genetics combinat]; }; + forensim = derive { name="forensim"; version="4.3"; sha256="1j92imykw48cciay0r6n1aq1jrdb2b1grrz6lpc4kgbnbd7mk0qm"; depends=[tcltk2 tkrplot]; }; + ForImp = derive { name="ForImp"; version="1.0.2"; sha256="1qplsg3cxs95b3ax71a3wyjfk4q207k72ggba2sl0zc7mjqhv1f4"; depends=[homals sampling mvtnorm]; }; + fork = derive { name="fork"; version="1.2.4"; sha256="1sb4xypirmrknhrc872ky845kym58dmakn6c2crsbp67wpg63m4l"; depends=[]; }; + FormalSeries = derive { name="FormalSeries"; version="1.0"; sha256="09m4ifinasww0xfprs29xsrqhxxkw9zffb3919xnkkjkwp0nax4v"; depends=[]; }; + formatR = derive { name="formatR"; version="0.10"; sha256="0rxm4c896rcmalmq1hsjg053dqb3m2vf9jqap5w5bsllaiakwh4a"; depends=[]; }; + Formula = derive { name="Formula"; version="1.1-1"; sha256="06lrl2yv58qhgnyc44cbzf8av4pr8gfizn00mmbb54wl685cr9g1"; depends=[]; }; + formula_tools = derive { name="formula.tools"; version="1.3.4"; sha256="1xxl45x88fpskwvfj6sbcbfng84plpf8sjrkwawzki9a41ydhwaq"; depends=[operator_tools]; }; + fortunes = derive { name="fortunes"; version="1.5-2"; sha256="1wv1x055v388ay4gnd1l8y6dgvamyfvmsd0ik9fziygwsaljb049"; depends=[]; }; + forward = derive { name="forward"; version="1.0.3"; sha256="0swn5ysp3f660kl9jpmkck9324j1g3yhj2hl238rfrcr5wihxifc"; depends=[MASS]; }; + fossil = derive { name="fossil"; version="0.3.7"; sha256="188hyb3r1dnxkmqf2czh1kdzmk4mjc0v1kn1zml2yvxaxk7adsrz"; depends=[sp maps shapefiles]; }; + FourScores = derive { name="FourScores"; version="1.0"; sha256="0d21mrl9bzsvhljv7ymiyck508smp66w9qivrb2rp0p803h9yibm"; depends=[]; }; + fpc = derive { name="fpc"; version="2.1-7"; sha256="1zymk2v7s8jyn4jm3qaxzd5rlx748ap4ad2dd56w195q5j1xn4bh"; depends=[MASS cluster mclust flexmix]; }; + fpca = derive { name="fpca"; version="0.2-1"; sha256="13b102026xlfb7c2rb3xsqsymm7xpmaxppaafjkb5dx0b1lz0jrc"; depends=[sm]; }; + FPDC = derive { name="FPDC"; version="1.0"; sha256="0f6f5bjh1dqv9n6hpbgj922ymbd1zdb0b4ad5h9nk1c6c9ysai7y"; depends=[ThreeWay]; }; + fPortfolio = derive { name="fPortfolio"; version="2130.80"; sha256="0i1f60nc6xn9a3cvq2m8hzvvcbqgyjj08f71410kd5vqyk58gahw"; depends=[MASS robustbase timeDate timeSeries fBasics fAssets quadprog Rglpk]; }; + fpow = derive { name="fpow"; version="0.0-2"; sha256="0am3nczimcfrm9hi02vl2xxsh703qjmr2j11y014mll3f2v1l8cy"; depends=[]; }; + fpp = derive { name="fpp"; version="0.5"; sha256="1jqnx6bgpvnbbj2fa2b6m6aj8jd5cb9kz877r8kp7a5qj62xv1ww"; depends=[forecast fma expsmooth lmtest tseries]; }; + fptdApprox = derive { name="fptdApprox"; version="2.0"; sha256="152bajs76wrapp0zdbkckff6kdkkm6sqqlqd2w220hsi96l2p9dh"; depends=[]; }; + fracdiff = derive { name="fracdiff"; version="1.4-2"; sha256="03l5dqpqwwi5c8fwc2vissfawcsignai60h2zalknkibvk782dwq"; depends=[]; }; + fracprolif = derive { name="fracprolif"; version="1.0.5"; sha256="0d028dkiwv8jlsnvdv3wqgx6vsl2ai0icpdadl66sjj45yxv1z7g"; depends=[emg numDeriv]; }; + fractal = derive { name="fractal"; version="2.0-0"; sha256="17wz3c9f1l1rphzdn7j27j5nb1ll6j84f9ihk0z6fni41050szv7"; depends=[splus2R ifultools sapa wmtsa scatterplot3d]; }; + fractaldim = derive { name="fractaldim"; version="0.8-4"; sha256="0fln4qn0d79agnnlzi8b9g9qn90zynq1cg9v5isiyi71345v45nr"; depends=[abind]; }; + fractalrock = derive { name="fractalrock"; version="1.1.0"; sha256="15f4w8hq3d8khgq269669ri16qxhar9646w40cw7wzh79r9gpf00"; depends=[futile_any futile_logger timeDate quantmod]; }; + FRACTION = derive { name="FRACTION"; version="1.0"; sha256="0g25dzsbharsq8bzfka96zccaqppdclax24mz5m080ddg4y8zj49"; depends=[]; }; + frailtyHL = derive { name="frailtyHL"; version="1.1"; sha256="1xjdph0ixanf9w4b6hx6igfhkcp8h93sclrg0pgqgmbvm41lhb1x"; depends=[Matrix numDeriv survival]; }; + frailtypack = derive { name="frailtypack"; version="2.6"; sha256="1mwglniv7v2ivx5hkg12l61w95bzc7nh9q89fvn3hrdy9s4zpg3h"; depends=[survival boot MASS survC1]; }; + frair = derive { name="frair"; version="0.4"; sha256="1g52ykj1m9znpp0pvry7dnmhg4m73nbkw0bp31zl6pcsdgmxxqjr"; depends=[bbmle emdbook boot]; }; + FRAPO = derive { name="FRAPO"; version="0.3-8"; sha256="1wqayyai8pdm1vq6qvpd10qpd882cyjb0y0jl582fxd3a2ic7n14"; depends=[quadprog Rglpk timeSeries]; }; + FRB = derive { name="FRB"; version="1.8"; sha256="13rp4gqldx84mngrdv5fa9xamkng7b3kgy30ywykcx46gmrym6ps"; depends=[corpcor rrcov]; }; + FRBData = derive { name="FRBData"; version="0.3"; sha256="1m109kmk7pimin6wspck0yc1am4d7w75f1b8lr5kb9xzl9gw4i7c"; depends=[xts]; }; + frbs = derive { name="frbs"; version="2.2-0"; sha256="13m8hm2925h1mz2wgbsxiqls5gy7sgvp0rsdcsy2sm7czjnl2z7n"; depends=[]; }; + FRCC = derive { name="FRCC"; version="1.0"; sha256="1g1rsdqsvwf7wc16dj16y6r0347j8jsv5l1pxvj1h0579zinaf2b"; depends=[CCP MASS calibrate corpcor]; }; + freeknotsplines = derive { name="freeknotsplines"; version="1.0"; sha256="19zs42q9njknirdbrbnp8bv4vr32kd8wxmkqj0a0nh06i5fcx67r"; depends=[]; }; + freestats = derive { name="freestats"; version="0.0.2"; sha256="167z75scm5jasm7zz38n6sq6ryi10xaj694riyqlczw55ac3csn7"; depends=[MASS mvtnorm]; }; + fRegression = derive { name="fRegression"; version="3010.80"; sha256="07ncfp103a4g98xhfh89r0ixgwgd1l7d7fkr2xwi39lrjdfxk97h"; depends=[fBasics fTrading fMultivar mgcv nnet polspline lmtest MASS]; }; + FREQ = derive { name="FREQ"; version="1.0"; sha256="01nra30pbnqdd63pa87lcws3hnhhzybcjvx2jqyxjghn6khz47j0"; depends=[]; }; + freqMAP = derive { name="freqMAP"; version="0.2"; sha256="02hpkqqrxifrr1cxn5brp166jwa8lgl1mcgmq7s8csrbbd900ziv"; depends=[]; }; + freqparcoord = derive { name="freqparcoord"; version="1.0.0"; sha256="0hn5y10yp3j76lqrmj6dsaafamgy4pfxx1p4y92z17s79x29j59q"; depends=[ggplot2 GGally FNN mvtnorm]; }; + freqweights = derive { name="freqweights"; version="0.0.1"; sha256="062av7fv17xzkpymlmaajby4jp39d26qdr08mrbys6hdgcdrk5zd"; depends=[plyr data_table dplyr biglm fastcluster]; }; + FrF2 = derive { name="FrF2"; version="1.7"; sha256="1z6ld8m0xmqb1dpvmaq36n2yz6b5j6jxll8pj2qav8x1055n3wfm"; depends=[DoE_base sfsmisc BsMD scatterplot3d igraph]; }; + FrF2_catlg128 = derive { name="FrF2.catlg128"; version="1.2-1"; sha256="0i4m5zb9dazpvmnp8wh3k51bm0vykh4gncnhdg71mfk4hzrfpdac"; depends=[FrF2]; }; + frm = derive { name="frm"; version="1.0"; sha256="1pxzywyvh95i57g2ppj4qhl4j47s46kmhc6xlvmghw44c3pynfyz"; depends=[]; }; + frmqa = derive { name="frmqa"; version="0.1-5"; sha256="0vd5jnjzhkc0vd4cqn4cs6a3limd4fxwyb5i7845rwmkzk1944aj"; depends=[partitions Rmpfr]; }; + frontier = derive { name="frontier"; version="1.1-0"; sha256="0k2ap22qddzki63biikr1jzi5vmqz4j06d7qrf1y8axdq1q1cr44"; depends=[micEcon lmtest moments Formula miscTools]; }; + frontiles = derive { name="frontiles"; version="1.2"; sha256="08qq25wbylvhvmq34wggyj0hwdlxfs9rfs8gjqsrg50xccchniqi"; depends=[classInt colorspace rgl sp]; }; + frt = derive { name="frt"; version="0.1"; sha256="1qy76a1wkznaqzlyj1nq74mf1pnyly1s8gnff8q30zfccqk68cxv"; depends=[]; }; + fscaret = derive { name="fscaret"; version="0.8.5.6"; sha256="060i64q65ra2npxvrd6ihzqqqv3s4xyisvgrskkyybswhqzvhxvr"; depends=[caret gsubfn]; }; + FSelector = derive { name="FSelector"; version="0.19"; sha256="1b9jj8lqly31v393mx9dmr437sw0pk7m693ah4xnr2c9vjry6fav"; depends=[randomForest RWeka digest]; }; + fso = derive { name="fso"; version="2.0-1"; sha256="02dr12bssiwn8s1aa1941hfpa4007gd65f3l4s74gs2vgjzdxf8s"; depends=[labdsv rgl]; }; + fSRM = derive { name="fSRM"; version="0.3.4"; sha256="013nlz28nyyx59w8rbyqh074kzabkkb0zfm9vpk5ay4nd2i9a28r"; depends=[lavaan plyr reshape2]; }; + FTICRMS = derive { name="FTICRMS"; version="0.8"; sha256="0kv02mdmwflhqdrkhzb55si5qnqqgdadgyabqc2hwr6iccn7aq8c"; depends=[Matrix lattice]; }; + ftnonpar = derive { name="ftnonpar"; version="0.1-88"; sha256="0df9zxwjpfc939ccnm1iipwhpf76b34v0x74nsi1mm1g927dfl0i"; depends=[]; }; + fTrading = derive { name="fTrading"; version="3010.78"; sha256="0qakjxnr5nslw06ywlj65m3w7pjgn5hixxc2rnqhvvvmjpdxybz7"; depends=[timeDate timeSeries fBasics]; }; + fts = derive { name="fts"; version="0.9.9"; sha256="1qgp8xdwr5pp2b7nd8r717a6p8b6izwqrindx2d1d0lhhnqlcwhv"; depends=[zoo]; }; + ftsa = derive { name="ftsa"; version="3.9"; sha256="1fbaclaj7a74gvy7kax45vg0805jp7myr5929mj90lymazm7r76j"; depends=[forecast rainbow colorspace]; }; + fugeR = derive { name="fugeR"; version="0.1.2"; sha256="0kd90s91vzv0g3v9ii733h10d8y6i05lk21p5npb3csizqbdx94l"; depends=[snowfall Rcpp]; }; + fume = derive { name="fume"; version="1.0"; sha256="0g9ygyjxsk0m3ad25h3bcgxs9g29blqn8p27s9g47kxvh4v1nq4y"; depends=[chron]; }; + fun = derive { name="fun"; version="0.1-0"; sha256="0z4nq2w1wz1clc7cf87pf870hayxq5mpzhllfgwj4mmh2xpphnrf"; depends=[]; }; + FunChisq = derive { name="FunChisq"; version="1.0"; sha256="1wrj483w6fjwwqjbymdj229nismmwaxw6v6fpba9mylqbyhs69gc"; depends=[]; }; + FunCluster = derive { name="FunCluster"; version="1.09"; sha256="0i73asn1w4s6ydf2ddn5wpr0mwbbxzgmaly1pslarzkx71wk03fz"; depends=[Hmisc cluster]; }; + Funclustering = derive { name="Funclustering"; version="1.0.1"; sha256="0i6g98mfgdyc9hdzvviynrgqhkzicp8y6s0scqy3ifgk9h1k79dw"; depends=[fda Rcpp]; }; + FuncMap = derive { name="FuncMap"; version="1.0-2"; sha256="0psz2bsmq22ghgr3dijsw094b9ams15dvknigcgi5sq1invafx4a"; depends=[mvbutils]; }; + functional = derive { name="functional"; version="0.4"; sha256="1a3hka0ba9bbpk5bnb4vhygxyw88hif636hw8wwdjx55wq6sbl85"; depends=[]; }; + fUnitRoots = derive { name="fUnitRoots"; version="3010.78"; sha256="04nwwazd8jvzds6p4njzq4wpcsrvvvs0y9z8v8r402myd4856ssm"; depends=[urca timeDate timeSeries fBasics]; }; + FusedPCA = derive { name="FusedPCA"; version="0.2"; sha256="0z4kvm6mn11fmc8w62aky2binjdcgrw4ij5vg65sb55da9s8d2kd"; depends=[genlasso]; }; + futile_any = derive { name="futile.any"; version="1.3.0"; sha256="1c7pj64kz09qzwrxvkp1w1w8mvxwq36zkj6w4b7yyi8v7x3daq2a"; depends=[lambda_r]; }; + futile_logger = derive { name="futile.logger"; version="1.3.7"; sha256="0mcca1d70a173f2c54g05fp6174z3265bc4z73k8hs16sfb3s7zf"; depends=[lambda_r futile_options]; }; + futile_matrix = derive { name="futile.matrix"; version="1.2.0"; sha256="0nas464z70318d8mh81k7w28889jqva5ghisnknzin1rsrpws0zg"; depends=[futile_logger futile_any RMTstat]; }; + futile_options = derive { name="futile.options"; version="1.0.0"; sha256="1hp82h6xqq5cck67h7lpf22n3j7mg3v1mla5y5ivnzrrb7iyr17f"; depends=[]; }; + futile_paradigm = derive { name="futile.paradigm"; version="2.0.4"; sha256="14xsp1mgwhsawwmswqq81bv6jfz2z6ilr6pmnkx8cblyrl2nwh0v"; depends=[futile_options RUnit]; }; + fuzzyFDR = derive { name="fuzzyFDR"; version="1.0"; sha256="0zd8i9did0d9gp42xjmwrccm32glabvvy08kl8phhwb1yaq53h7w"; depends=[]; }; + FuzzyNumbers = derive { name="FuzzyNumbers"; version="0.3-3"; sha256="1vbfkr8r1n8d564ws8dqfbd49f33vd7drg3chg2vr9bxh292wsl3"; depends=[]; }; + fuzzyRankTests = derive { name="fuzzyRankTests"; version="0.3-5"; sha256="1g09506bbpk05a2r2wxjynjs8dmjd2q7x74d83vjscg1kdk4kazq"; depends=[]; }; + FuzzyStatProb = derive { name="FuzzyStatProb"; version="1.0"; sha256="0dkxix2blb403a72a9n13hyx31rknfxfq0cbkvvk7dvgis2w6k14"; depends=[MultinomialCI FuzzyNumbers DEoptim]; }; + FuzzyToolkitUoN = derive { name="FuzzyToolkitUoN"; version="1.0"; sha256="104s45mmlam67vwpshhpns2mgwvmhnbj8w1918jyk2r5mqibwz06"; depends=[]; }; + fwdmsa = derive { name="fwdmsa"; version="0.2"; sha256="0p0kh8am6gajfaixkvq61f12hfbm6chl9372yzn1yilhiyvqdxgp"; depends=[]; }; + FWDselect = derive { name="FWDselect"; version="1.1"; sha256="1snamrzf0cqcm6sc5vr1b0scgy83jgr5hgsf2cjb3vi3j01hz9wd"; depends=[mgcv]; }; + fwi_fbp = derive { name="fwi.fbp"; version="1.3"; sha256="0fsrqvf4w8izbbkx99syy842bkgm932g5q81k9qsrb0a61l94nsr"; depends=[]; }; + fwsim = derive { name="fwsim"; version="0.3.1"; sha256="0l9qsysi0v8q58ik0pk7jxs2m57q2n82apc0rb0d0czm7dmib6b6"; depends=[Rcpp]; }; + fxregime = derive { name="fxregime"; version="1.0-3"; sha256="15fh8yhcba2gw2xfd0yiw5ssvbgb62l6vb28bxz71ckdyv9nsahk"; depends=[zoo strucchange car sandwich]; }; + G1DBN = derive { name="G1DBN"; version="3.1.1"; sha256="015rw3bpz32a8254janddgg1ip947qgcvmiwx5r3v7g8n854bwxn"; depends=[MASS igraph]; }; + G2Sd = derive { name="G2Sd"; version="2.1-1"; sha256="01b7bpvnl51dms7bp076v0mbz8bk2vrlkqji9fk6nyqfpxg5zn6a"; depends=[shiny xlsx rJava xlsxjars]; }; + GA = derive { name="GA"; version="2.0"; sha256="0bcxxjbsbv4m8dn02dw74gidcjn1jilmp88ckz6w5dnhdm74d42z"; depends=[]; }; + GA4Stratification = derive { name="GA4Stratification"; version="1.0"; sha256="0li23mrxjx72fir16j3q06fa32cicck4pfc30n0dy2lysf81m9gs"; depends=[]; }; + GABi = derive { name="GABi"; version="0.1"; sha256="1zmiaqbd1jrpiz9hk16s8rggcpl3xyyhjkkdliymx2p42vy5b5mf"; depends=[hash]; }; + GAD = derive { name="GAD"; version="1.1.1"; sha256="0lyrw0d7i7yn1wkqlbf3rg3dnijfwsjn3kdbsg19hmvwq6qpsak2"; depends=[matrixStats R_methodsS3]; }; + gains = derive { name="gains"; version="1.1"; sha256="1mn8db8yxgkf8z6nm6k76g5l3i3vnw750ksg3w9ysd2pcabb65g1"; depends=[]; }; + GAIPE = derive { name="GAIPE"; version="1.0"; sha256="04iarbwxrhn48bk329wxis7ifzndi67kpjx6dcakawkh3g2mzsfz"; depends=[]; }; + galts = derive { name="galts"; version="1.3"; sha256="0b18hsdcsx43rn8l4x9nhy9hgggjr5b8kvjnbxrf6r23qsdk43mn"; depends=[genalg DEoptim]; }; + gam = derive { name="gam"; version="1.09.1"; sha256="09p83ki821x57kc74klh6i1h8bz3acsrvibz3mzzcgq6sa8gzr5i"; depends=[]; }; + gamair = derive { name="gamair"; version="0.0-8"; sha256="11qwmhrzks8gi9is2n9xcy6cviy7a8mwh2v78fw78x7g7ccd8i9x"; depends=[]; }; + gambin = derive { name="gambin"; version="1.0"; sha256="01jsh9h83s0lh887s6gfhb074k8cv96jhj8x6bkql5g948p2b0p0"; depends=[]; }; + GAMBoost = derive { name="GAMBoost"; version="1.2-3"; sha256="0450h9zf12r524lxk1lrv9imvvkk6fmyd3chnxp18nnvys7215pv"; depends=[Matrix]; }; + gamboostLSS = derive { name="gamboostLSS"; version="1.0-3"; sha256="04p3f2vq2h2abqjm0hf0g29anw18b338d6apyfm438glji60fm5y"; depends=[survival mboost]; }; + gamboostMSM = derive { name="gamboostMSM"; version="1.1.5"; sha256="1n6ngbxx9f3p98jfiq4x21y0rqmhy18zyv13y8mkrz7hrchh835f"; depends=[mboost]; }; + gamclass = derive { name="gamclass"; version="0.52"; sha256="0ypdsjmzj5vj6z5iimx1xva6pqh75s1dlaar2hkyn8zx08d0q2kh"; depends=[car mgcv DAAG MASS rpart randomForest lattice latticeExtra ape KernSmooth]; }; + games = derive { name="games"; version="1.1-1"; sha256="0qw2pfigkqfwldam45q786fksz7ssldh62cw6rxclb4j14c8ibig"; depends=[maxLik Formula MASS stringr]; }; + gamlr = derive { name="gamlr"; version="1.11-3"; sha256="01mwgmmyp132d792darjrfbcihw04sy3fyw2xchshjqry616j82i"; depends=[Matrix]; }; + gamlss = derive { name="gamlss"; version="4.2-8"; sha256="13562jiilcci20v0j5p04jvh2bs4r31svv54d9gar3hn8syhn3wp"; depends=[gamlss_data gamlss_dist nlme MASS survival]; }; + gamlss_add = derive { name="gamlss.add"; version="4.2-8"; sha256="1spa5ds68a5r7ihiimybm1rm6n21r1csxn9asjxrb6v2vi3kiy34"; depends=[gamlss mgcv nnet rpart]; }; + gamlss_cens = derive { name="gamlss.cens"; version="4.2.7"; sha256="1dy8myravipsa3cmkdwy3m46s419fhck0f0yz1kf6qlvxxr7a4m4"; depends=[gamlss gamlss_dist survival]; }; + gamlss_data = derive { name="gamlss.data"; version="4.2-7"; sha256="0g3fmqrwxmj14r0p0ai1adq6cs3bd3ys47gjcja035xjiajg6cs2"; depends=[]; }; + gamlss_demo = derive { name="gamlss.demo"; version="4.2-7"; sha256="1mlfkm290dk8fvfahmrr7adhw0bj4923zjs2xn0fvbj739rgv6b7"; depends=[rpanel gamlss gamlss_tr gamlss_util]; }; + gamlss_dist = derive { name="gamlss.dist"; version="4.2-7"; sha256="0fbr2zcc4vf6hyi1b09n6j0jr578m9xjpiw4bv5gzk5xkx9w3sbr"; depends=[MASS]; }; + gamlss_mx = derive { name="gamlss.mx"; version="4.2-7"; sha256="0k1isn2mavmwm15jk4gp9r3ks6z9pwd7k3xdsc29b9p8v8iapj4q"; depends=[gamlss nnet MASS]; }; + gamlss_nl = derive { name="gamlss.nl"; version="4.1-0"; sha256="083l5lsb0csxcp4vffvdv2nr7jk3s2gkcavx66m8inzw16j7xilz"; depends=[gamlss survival]; }; + gamlss_spatial = derive { name="gamlss.spatial"; version="0.1"; sha256="0lsq3lfv9gxjvnbnib551sfvcn6g9amwg51q5ipwwzh12hdl0m98"; depends=[gamlss spam mgcv]; }; + gamlss_tr = derive { name="gamlss.tr"; version="4.2-7"; sha256="0f0vmspknkg8039dnrxkjqwjqbl34vjb5sgkcdvy5g8x8dlb5h3w"; depends=[gamlss]; }; + gamlss_util = derive { name="gamlss.util"; version="4.2-7"; sha256="1c8xc0qf387cd9d6k9fzlwvj9735y7v6njsb5fls2fimpnd5vsik"; depends=[gamlss colorspace Matrix MASS rgenoud zoo gamlss_add spam]; }; + gamm4 = derive { name="gamm4"; version="0.2-2"; sha256="0jx17gh0rk3a56dx7yhh9hlzj9pi04r9z28vcwqip43x5pxq8y86"; depends=[Matrix lme4 mgcv]; }; + Gammareg = derive { name="Gammareg"; version="1.0"; sha256="1a5wibnbd8jg0v8577n1x9kc358qpd4jz7l8h7r541sdpprm6wb0"; depends=[]; }; + gammSlice = derive { name="gammSlice"; version="1.2-6"; sha256="19443rfpk9ivv42zy5vdfhs4pcrbcn4d984xnchfbznmddilavg8"; depends=[KernSmooth lattice mgcv]; }; + GANPA = derive { name="GANPA"; version="1.0"; sha256="0ia8djv46jm397nxjrm9yc5gacf1r4z0ckiliz57cbrqwh7z2wpa"; depends=[GANPAdata]; }; + GANPAdata = derive { name="GANPAdata"; version="1.0"; sha256="0mhdadl7zgsacn59ym42magg3214k1xhabwn78fv7kgccszcgc86"; depends=[]; }; + gaoptim = derive { name="gaoptim"; version="1.1"; sha256="04igpn73k6f6652y496igwypfxmz4igg4jgxx6swqyi37182rqhm"; depends=[]; }; + gap = derive { name="gap"; version="1.1-10"; sha256="02as90x8r93mynwpa1dirp0lplc7i27ya3q7fq6zbq2xn16j4vj5"; depends=[]; }; + gaussDiff = derive { name="gaussDiff"; version="1.1"; sha256="0fqjdxp2ibbami75ba16d02dz4rz5sk8mni45di9anydx44g9d45"; depends=[]; }; + gaussquad = derive { name="gaussquad"; version="1.0-2"; sha256="0bcvkssmwwngcd4cnv924n9h3c8z1w3x9c9bkwn5jbz9zyv1lfms"; depends=[polynom orthopolynom]; }; + gb = derive { name="gb"; version="1.1.8-8"; sha256="18n9wqz82mjxjgzk8vc68kyz3b6lk21d2f16551d6fikjla03adf"; depends=[boot]; }; + gbm = derive { name="gbm"; version="2.1"; sha256="1a150ksvdbdv8b5f4j62q7v68sbgjvvq0izm4d877izp6d8qd99g"; depends=[survival lattice]; }; + gbRd = derive { name="gbRd"; version="0.4-11"; sha256="06x97rw5i6v6cgjxkfhxnw4dn7lghn5q6ra7ri5ag1x9dkfzcl82"; depends=[]; }; + gbs = derive { name="gbs"; version="1.0"; sha256="19zcsvd258ibrj356zlwgryjqylcs56agg3z6d44xbnf8prg05ig"; depends=[nlme]; }; + gcbd = derive { name="gcbd"; version="0.2.5"; sha256="0fkg6vk0jkl6680n1hljyv783j4hd84mql0k4pfblvqafwv4nhm3"; depends=[RSQLite plyr reshape lattice]; }; + GCD = derive { name="GCD"; version="3.0.3"; sha256="19y6xk6qzc8vc7q6svjqinlr97yb9mir0cd4ji9fgplrmgs7qdf7"; depends=[sp raster ggplot2]; }; + gcdnet = derive { name="gcdnet"; version="1.0.4"; sha256="0fmy0li06rahch4ir0xa81yilvrd0zqyhmpl4hfxjahhl3npw370"; depends=[Matrix]; }; + gcExplorer = derive { name="gcExplorer"; version="0.9-4"; sha256="1ig5m278n8mp93z1c8z39mf1zwwlkl38csn6d6ykpnrfpa3kk65a"; depends=[flexclust flexclust modeltools]; }; + gclus = derive { name="gclus"; version="1.3.1"; sha256="02ba6zj9bjwrzykamjp40ajynx9xjx9h2i85n0ym0r5lcki4x6fn"; depends=[cluster]; }; + gcmr = derive { name="gcmr"; version="0.6.1"; sha256="0a47xpgi6bfsc0nn7vkid1q9r29h01q0vjkysaxh1i4zbmxnx5dl"; depends=[nlme sandwich geoR betareg Formula]; }; + gconcord = derive { name="gconcord"; version="0.41"; sha256="1n3pfwk6vip19q1zhbz1n164f9vi7mig8pcd07c4wxnm5ir9dagy"; depends=[]; }; + gcookbook = derive { name="gcookbook"; version="1.0"; sha256="0hb52zfi5bl2j0h8lazz4gzhhcvpicb4ld6xm2vkvi4cj47piyy8"; depends=[]; }; + gdalUtils = derive { name="gdalUtils"; version="0.3.1"; sha256="1a6sg3x5yfffa9xrkvc98i2hm3lvna4jw7p89gn2bf74kzphqpmy"; depends=[sp foreach R_utils]; }; + gdata = derive { name="gdata"; version="2.13.3"; sha256="05k5l4gz0381z89sp64xhngcsykazzznwmankwsnimx5alwrfk2m"; depends=[gtools]; }; + g_data = derive { name="g.data"; version="2.4"; sha256="14a4m0v38p3j1k1kymkxwydlgm8b73hlx9m80sg1l4aj38fvflzl"; depends=[]; }; + GDAtools = derive { name="GDAtools"; version="1.1"; sha256="0r1d98wavzwg3icr3czfzmcf1d86nwzq2s6avqkh4h0sank220wn"; depends=[FactoMineR]; }; + GDELTtools = derive { name="GDELTtools"; version="1.2"; sha256="1rx6kjh7kmyycqapvbizcxkcfp09qvqv7k8f25v333sxkacpz6p5"; depends=[plyr TimeWarp]; }; + gdimap = derive { name="gdimap"; version="0.1-3"; sha256="14cij862r2i1056hd67dy6yhx3xwhbypi8hy8fjpj8hnrv27ylmx"; depends=[rgl oro_nifti movMF gridExtra colorspace geometry gsl abind]; }; + gdistance = derive { name="gdistance"; version="1.1-5"; sha256="12877mg0ih346h62xa087xwbrqrjvdh0fs8avrvyy4qpqls2s7qn"; depends=[raster igraph Matrix sp]; }; + gdsfmt = derive { name="gdsfmt"; version="1.0.4"; sha256="13iynlcvbgwlh34gn8h5x39lvm6hsf4314620079bzwdmrribqhy"; depends=[]; }; + gee = derive { name="gee"; version="4.13-18"; sha256="0zfxmjajbgr7999gbnqppq43zzk901kqra7b1d5fa2qn8js6h1ng"; depends=[]; }; + geeM = derive { name="geeM"; version="0.7.1"; sha256="0pzvy0ga17g5v5dd2q4q7fmcwj3nws0p1cg5s0dz3azmrj7n4s31"; depends=[Matrix]; }; + geepack = derive { name="geepack"; version="1.1-6"; sha256="0ixwrr2jjrqzh23zg9cibayinjxzgdpia9znsv7qwhc7hx23a2zm"; depends=[]; }; + geigen = derive { name="geigen"; version="1.3"; sha256="16zz3k4j75hn1dkzydsxnk0jblka22fbww7ak9lgg1znkfws6dhk"; depends=[]; }; + geiger = derive { name="geiger"; version="2.0.1"; sha256="11rrdymwj9wl11sqi3rxfl7vr86w86m5460k04v35kn8sf0g3gw2"; depends=[ape MASS mvtnorm subplex deSolve digest Rcpp coda]; }; + gems = derive { name="gems"; version="0.9.4"; sha256="1i0dygrdvqjmham5ay64if7lg9fji53p94acnayhn4893wmy98ma"; depends=[MASS msm mstate plyr data_table]; }; + gemtc = derive { name="gemtc"; version="0.6"; sha256="03aw5r62577fizvbl7wpl7k3m8bxji21h8a41gl8yr4fpj0353yj"; depends=[coda igraph meta XML]; }; + gemtc_jar = derive { name="gemtc.jar"; version="0.14.3"; sha256="18hbiygpsv67flc4v6z6mir0rfq41v1vsh11dg9phmdr8bx4kcl1"; depends=[rJava]; }; + GenABEL = derive { name="GenABEL"; version="1.8-0"; sha256="0sd497qvik70iwv7wc8r50rhc5wx153pm8vif738wwqqp43chks3"; depends=[MASS GenABEL_data]; }; + GenABEL_data = derive { name="GenABEL.data"; version="1.0.0"; sha256="0p66fb0gynjx3mnfvnlz45cbn6xf49gwx9mfyxf584xfcggxaa1c"; depends=[]; }; + genalg = derive { name="genalg"; version="0.1.1.1"; sha256="0f6j3zj9frnjhs4rrcn05z2bmp6c7d1blpwjqg7ckfwk46x61app"; depends=[]; }; + GenBinomApps = derive { name="GenBinomApps"; version="1.0-1"; sha256="1iz66j8jv5rym5zzn200ybdcyxzb9nr8yj6qwsgy1syljw95adx2"; depends=[]; }; + GENEAread = derive { name="GENEAread"; version="1.1.1"; sha256="0c3d76yl8dqclk8zhhgrd6bv6b599vkpbyg3hjspb6npdw6zs6k8"; depends=[bitops]; }; + GeneCycle = derive { name="GeneCycle"; version="1.1.2"; sha256="1ghdzdddbv6cnxqd08amy4c4s5jsxa637r828ygffk6z76xjr6b6"; depends=[MASS longitudinal fdrtool]; }; + GeneF = derive { name="GeneF"; version="1.0"; sha256="0bizf47944b2zv9ayxb9rhrqx0ilz2xlvkw7x5vbg7l67y2g2l4d"; depends=[]; }; + GeneFeST = derive { name="GeneFeST"; version="1.0.1"; sha256="0qgzjzhwf3nigfi09maywg9zkjxiicwiwiyqfcdk9gsvmp6mr4qn"; depends=[BASIX]; }; + Geneland = derive { name="Geneland"; version="4.0.4"; sha256="14crcj71i4vc48a132k024jrkwlwbrqi6jd9w3d1qsy6dn7inc0k"; depends=[RandomFields fields]; }; + geneListPie = derive { name="geneListPie"; version="1.0"; sha256="0z2gawfzhm05dafj4zlj6ifmf0dy7p1hrpa59lzxrnrc0wr6laji"; depends=[]; }; + GeneNet = derive { name="GeneNet"; version="1.2.9"; sha256="1hlifd4a3v4whb6cxdmf7vawbsjyrg2skz9hp6bb26cn2y0q45gr"; depends=[corpcor longitudinal fdrtool igraph]; }; + genepi = derive { name="genepi"; version="1.0.1"; sha256="1whhdlq9p8gmygv7464hvfz6dhm65gqq1dqls6hgpmw822zxgbd5"; depends=[]; }; + GeneralizedHyperbolic = derive { name="GeneralizedHyperbolic"; version="0.8-1"; sha256="1q7bagq6c4an5jprypab5121ymich55xgyxfxnj5izihssmcwssp"; depends=[DistributionUtils RUnit]; }; + GeneReg = derive { name="GeneReg"; version="1.1.2"; sha256="081qc66mb17dwk886x9l2z4imklxnfs02yqql0ri9c47bpsga7wp"; depends=[igraph]; }; + geneSignatureFinder = derive { name="geneSignatureFinder"; version="2014.02.17"; sha256="1s9jj87wnzzgm9hnws09yhrxdlb6jw56i3ddwznvmh8vpzrspv4h"; depends=[survival cluster class]; }; + genetics = derive { name="genetics"; version="1.3.8.1"; sha256="0gfbrpz0zp5bgw3s21wrhjfy70laif47wcrjrm6mjgs6xapiw790"; depends=[combinat gdata gtools MASS mvtnorm]; }; + GeneticTools = derive { name="GeneticTools"; version="0.2.1"; sha256="0iz4afkm9gp6sdriyv0b0dhwwjmjpw92i2x7dihra12bb3z1mqvp"; depends=[gMWT Rcpp RcppArmadillo plotrix]; }; + GenKern = derive { name="GenKern"; version="1.2-60"; sha256="12qmd9ydizl7h178ndn25i4xscjnrssl5k7bifwv94m0wrgj4x6c"; depends=[KernSmooth]; }; + genlasso = derive { name="genlasso"; version="1.2"; sha256="0ahkml10nvx1sfikl0ai3yfs5gzps7ss9aymsg1wy494p95riwz5"; depends=[MASS Matrix igraph]; }; + genMOSS = derive { name="genMOSS"; version="1.1"; sha256="08d6j0iwfah1ianqdr884hh6bg04vfk4kml3clmf7vzx8wfmliy5"; depends=[]; }; + genMOSSplus = derive { name="genMOSSplus"; version="1.0"; sha256="1n3ngx1piy3l14k5k95wrgvrjw9238jkygfqanl3xg2na2mmkr26"; depends=[]; }; + genomicper = derive { name="genomicper"; version="1.3"; sha256="0fpvf286x0rf2mg9x82668kg5fx90arz5vf3731qinmdnnvrpziv"; depends=[]; }; + genoPlotR = derive { name="genoPlotR"; version="0.8.2"; sha256="0q12sg13yn5f3j5gk0qzszp81x52lpwpk3z4cg0bgxi9zbwmw467"; depends=[ade4]; }; + GenOrd = derive { name="GenOrd"; version="1.2.0"; sha256="1aypz879r2fc8zd7lnd1d2ic3zgx9gpz4gxmfqyhb5gfkg50xhlg"; depends=[mvtnorm Matrix MASS]; }; + genridge = derive { name="genridge"; version="0.6-3"; sha256="01rjvfjmdn0hxgydvrinl4md74n0ndvqcib4m59q6f67m3qnylfr"; depends=[car]; }; + GenSA = derive { name="GenSA"; version="1.1.4"; sha256="0ph3n0hv7p8i03by42hl0f2b1kmhpvyvd7rfgay2wl9lknfsq0vv"; depends=[]; }; + gensemble = derive { name="gensemble"; version="1.0"; sha256="0yyi7djzqx4yhxp6yy1rjgvzidjlna79ds89bgj6m6zj3aav6yw2"; depends=[]; }; + genSurv = derive { name="genSurv"; version="1.0.1"; sha256="17f9ccg9r0lpakhmk4wxqycb2qi13ql4l7bmf2sw27icv2zh9lhm"; depends=[]; }; + geoChina = derive { name="geoChina"; version="1.0"; sha256="06sqzg4jn8nv2mg5qm3kps482jb5av9ag4b71lc2y66w4qsr2k5r"; depends=[RCurl RJSONIO plyr]; }; + geoCount = derive { name="geoCount"; version="1.131209"; sha256="0v9nsqhwf58czq4vh9f2yim2r7w9sfx9g9hp4jdbfy4q7jc5m02a"; depends=[Rcpp RcppArmadillo]; }; + GeoLight = derive { name="GeoLight"; version="1.03"; sha256="0l2p4rcmk33dj31xy06652mn05d2dhnny3xpzcf12kxyflpipdgr"; depends=[maps changepoint]; }; + GEOmap = derive { name="GEOmap"; version="2.2-2"; sha256="1kp9sdp51zcz98bk03pknya9g5fhz2i677wgacabq402yjhfgn80"; depends=[RPMG splancs MBA]; }; + geomapdata = derive { name="geomapdata"; version="1.0-4"; sha256="1g89msnav87kim32xxbayqcx1v4439x4fsmc8xhlvq4jwlhd5xxw"; depends=[]; }; + geometry = derive { name="geometry"; version="0.3-4"; sha256="1rplvy7528v270c4pdxxb34h7mfdd6141dnb9aw59xc0sd9cx0lv"; depends=[magic]; }; + geomorph = derive { name="geomorph"; version="2.0.1"; sha256="12alj8lkajqxjlkp9apay6lvvh526qr5jxqn70ld6ppxmsl120zy"; depends=[rgl jpeg calibrate vegan ape geiger]; }; + geonames = derive { name="geonames"; version="0.8"; sha256="0k8jx3jf0aa51vp3mm21skr4cf9hhpyjx3nprbaclpylvwlzjbhf"; depends=[rjson]; }; + geophys = derive { name="geophys"; version="1.3-6"; sha256="1yfhilgc2nv5jfp0n7iah0wl041an2850c2qnzrvx0vv9fywgw9g"; depends=[RPMG RSEIS RFOC GEOmap cluster]; }; + geoR = derive { name="geoR"; version="1.7-4"; sha256="00868h4rvw923n2b7v191rcr10vyyljxzg3dl7hgc7al1c98gjwq"; depends=[sp MASS splancs RandomFields]; }; + geoRglm = derive { name="geoRglm"; version="0.9-4"; sha256="1wzq8p4xi40j4cagg7ji8qz9kynrwlyrlcvv0358pbl19nvg7hxb"; depends=[geoR]; }; + georob = derive { name="georob"; version="0.1-2"; sha256="1j4l3hri7k1fy8q5g48xc5fnvcw7y1wvhzxvizjqrf06rrh00hn6"; depends=[sp constrainedKriging lmtest nlme nleqslv quantreg RandomFields robustbase]; }; + geoscale = derive { name="geoscale"; version="1.1"; sha256="1xmn8y33jz1f16sjbzrld20gy7w54awrr79lhs9s4r8k1gmn0zqg"; depends=[]; }; + geospacom = derive { name="geospacom"; version="0.5-7"; sha256="00yi2wwnjh2z8xhzfbp1jhh5fhq2z885s0gv937xsin4a63m76fd"; depends=[rgeos classInt sp maptools geosphere]; }; + geosphere = derive { name="geosphere"; version="1.3-8"; sha256="1ldg3lrz9plhr5b1dgnc2nj5srpv23xxma83kcd7aicll4x1jmbw"; depends=[sp]; }; + geospt = derive { name="geospt"; version="0.5-0"; sha256="0bpflmj1kx2fph5b9dfy57bxdqjhpwnn8050k8afky5fmiwzm708"; depends=[geoR gstat genalg limSolve MASS plyr TeachingDemos gsl]; }; + geostatsp = derive { name="geostatsp"; version="0.9.7"; sha256="1i8ri78zq0w4n0aw9z4ws15nrv488421p1937cvbmxfzvf3gr4gr"; depends=[Matrix raster sp]; }; + geotools = derive { name="geotools"; version="0.1"; sha256="0d0vf9dvrrv68ivssp58qzaj8vra26ms33my097jmzmgagwy1spd"; depends=[]; }; + geotopbricks = derive { name="geotopbricks"; version="1.3.5"; sha256="0036lb60wfwy602c85ngmgnnjk4cw8wqscqq2l64gbzxh6ax6qcd"; depends=[raster stringr zoo]; }; + GeoXp = derive { name="GeoXp"; version="1.6.2"; sha256="18wdmdwb79ipdjdii068dz9f55b5ldxn95g5q6jcxsqwp0wldvw8"; depends=[quantreg rgl spdep KernSmooth rgeos robustbase splancs]; }; + geozoo = derive { name="geozoo"; version="0.4.3"; sha256="0nmmmyk0ih5aqpsn7ip4dhgfm7jhcnca8pigyr9794b110icq1rv"; depends=[bitops]; }; + GESTr = derive { name="GESTr"; version="0.1"; sha256="1q12l2vcq6bcyybnknrmfbm6rpzcmxgq2vyj33xwhkmm9g2ii9k6"; depends=[mclust gtools]; }; + GetNenshuJP = derive { name="GetNenshuJP"; version="0.1"; sha256="0s1j58i688zj64xmjyswk03vxz2ndvj204rncy3wc3fjfrpr2asv"; depends=[XML]; }; + getopt = derive { name="getopt"; version="1.20.0"; sha256="00f57vgnzmg7cz80rjmjz1556xqcmx8nhrlbbhaq4w7gl2ibl87r"; depends=[]; }; + GetoptLong = derive { name="GetoptLong"; version="0.0.3"; sha256="132zhvd4qng5q1bwfn2nbvm3628nkbw7c6mdc0wk41a73c2wj37l"; depends=[rjson]; }; + GetR = derive { name="GetR"; version="0.1"; sha256="1b2wirhz4nhvmf863czwb8z8b42ilsyjjrg9rc4nd9b7nz50bmjg"; depends=[party]; }; + gettingtothebottom = derive { name="gettingtothebottom"; version="2.0"; sha256="1icl2s0qbczvdrn39j5bmaf55ckc9y8qfn6rah8lpy47zkcc6rfs"; depends=[ggplot2 Matrix]; }; + GEVcdn = derive { name="GEVcdn"; version="1.1.3"; sha256="13p6hkdybs8s2i363z2a65yijqarwj9swvy22ljk61shf2nzbk80"; depends=[VGAM]; }; + GEVStableGarch = derive { name="GEVStableGarch"; version="1.0"; sha256="007s7lbfpp1bqnyg08rwarsmkxlx16p4is1k3736fmnri9sfp7z6"; depends=[fGarch fExtremes stabledist skewt Rsolnp]; }; + GExMap = derive { name="GExMap"; version="1.1.3"; sha256="1a6i2z9ndgia4v96nkr77cjqnbgxigqbqlibg82gwa0a6pl7r7nz"; depends=[]; }; + gfcanalysis = derive { name="gfcanalysis"; version="1.1"; sha256="1z29y6gx0b9b9h6939vb9pqplcjhi0xb5l3bgjybjad01p2dnqas"; depends=[raster rgdal geosphere RCurl rgeos plyr ggplot2 sp stringr animation rasterVis]; }; + GGally = derive { name="GGally"; version="0.4.5"; sha256="0mfk3g469xk2hdlrhcmgid2qyqwywiihbhgycbaix8z15vc7qrra"; depends=[ggplot2 reshape gtable plyr stringr]; }; + ggdendro = derive { name="ggdendro"; version="0.1-14"; sha256="0x6bl0v2lkiybc5pdrcak5cslhaw7cxhh6imsrvdhcrzdr4cc45s"; depends=[MASS ggplot2]; }; + GGEBiplotGUI = derive { name="GGEBiplotGUI"; version="1.0-8"; sha256="0bkagsm9mkcghc2q46cc86kjajzgjbq9588v0v2bp71qw8m97mbh"; depends=[rgl tkrplot]; }; + ggHorizon = derive { name="ggHorizon"; version="0.1"; sha256="0k617qnfqdl9w2hdwppkrgl51krnwpdf0gahzvivcwzynbmywc37"; depends=[ggplot2 plyr RColorBrewer proto]; }; + GGIR = derive { name="GGIR"; version="1.0-4"; sha256="09fqw4al4bn87h9543ais634crk9mzvfzdgp25gwy7lhpwzdl2y0"; depends=[GENEAread matlab]; }; + gglasso = derive { name="gglasso"; version="1.1"; sha256="1zq1xckb4nlc2acg8p16lx610c87j8ac6v34b8m49d6gjl7r39wp"; depends=[]; }; + ggm = derive { name="ggm"; version="2.0"; sha256="05980y142qzihawj9s20swqa10lslarrdxn496gacc18dvbnv2cg"; depends=[igraph]; }; + ggmap = derive { name="ggmap"; version="2.3"; sha256="0sl3jkifba3q0khl5sg2nf08kgn1pirw5a1xag07za51sqda5b5q"; depends=[ggplot2 proto scales RgoogleMaps png plyr reshape2 rjson mapproj]; }; + ggmcmc = derive { name="ggmcmc"; version="0.5.1"; sha256="17pmb2kfrjc2s538my8finr029vy1npzk44626xvznf6bf6bv895"; depends=[plyr reshape2 ggplot2]; }; + GGMselect = derive { name="GGMselect"; version="0.1-8"; sha256="1chmyzbn85c5z5b8lvgqpr7knwg25dm7qbb4nhivcdr6ipd1dqr0"; depends=[mvtnorm lars gtools]; }; + ggparallel = derive { name="ggparallel"; version="0.1.1"; sha256="1z8w4bm4ahmmwbr87qlqhm8jlrqf7dhdvm1cf0xrwjlkmy6dqjvg"; depends=[ggplot2 reshape2 plyr]; }; + ggplot2 = derive { name="ggplot2"; version="0.9.3.1"; sha256="00b67911g6msz5yxjfg6sjsh9llyjiizjakih2ciyms4zl279jdl"; depends=[plyr digest gtable reshape2 scales proto MASS]; }; + ggROC = derive { name="ggROC"; version="1.0"; sha256="0p9gdy7ia59d5m84z9flz5b03ri7nbigb3fav2v2wrml300d24vn"; depends=[ggplot2]; }; + ggsubplot = derive { name="ggsubplot"; version="0.3.2"; sha256="1rrq47rf95hnwz8c33sbnpvc37sb6v2w37863hyjl6gc0bhyrvzb"; depends=[ggplot2 plyr proto scales stringr]; }; + ggtern = derive { name="ggtern"; version="1.0.3.1"; sha256="0w42w0rr0s48s9ax5ccih0l6cp0s097x32zm7mc8yf0zw0gbxcar"; depends=[ggplot2 plyr gtable scales reshape2 proto MASS sp]; }; + ggthemes = derive { name="ggthemes"; version="1.7.0"; sha256="1wfqh3mq4hyyfgvw99bq1s8qxvl3qasa8qcikfhbp2ky898w5npb"; depends=[ggplot2 colorspace proto scales]; }; + GhcnDaily = derive { name="GhcnDaily"; version="1.5"; sha256="1gln1giid5n5b9mxidh90l8ahvcgx968zak2lxr2f9c32pnrpmnp"; depends=[R_utils R_oo R_methodsS3 abind ncdf]; }; + GHQp = derive { name="GHQp"; version="1.0"; sha256="0qpcpwv7rz67qhz1p5k2im02jvs7l8z9sa6ypz13hig5fzm8j9bp"; depends=[statmod]; }; + ghyp = derive { name="ghyp"; version="1.5.6"; sha256="0y3915jxb2rf01f7r6111p88ijhmzyz4qsmy7vfijlilkz0ynn20"; depends=[numDeriv gplots]; }; + GibbsACOV = derive { name="GibbsACOV"; version="1.1"; sha256="1ikcdsf72sn1zgk527zmxw3zjhx0yvkal6dv001cgkv202842kll"; depends=[MASS]; }; + gibbs_met = derive { name="gibbs.met"; version="1.1-3"; sha256="1yb5n8rkphsnxqn8rv8i54pgycv9p7x1xhinx4l5wzrds3xhf2dc"; depends=[]; }; + GIGrvg = derive { name="GIGrvg"; version="0.2"; sha256="15m540xsnw0n7fl03yh2yxj3yfyw76mpra70pr5088258rg7dxkn"; depends=[]; }; + GillespieSSA = derive { name="GillespieSSA"; version="0.5-4"; sha256="0bs16g8vm9yrv74g94lj8fdfmf1rjj0f04lcnaya7gyak3jhk36q"; depends=[]; }; + gIPFrm = derive { name="gIPFrm"; version="2.0"; sha256="1syjsnna7b7y27yf7zsxjwq8z5f4wxf2hfadhgjaw898gvfcnrbc"; depends=[]; }; + giRaph = derive { name="giRaph"; version="0.1.2"; sha256="137c39fz4vz37lpws3nqhrsf4qsyf2l0mr1ml3rq49zz4146i0rz"; depends=[]; }; + GISTools = derive { name="GISTools"; version="0.7-2"; sha256="1n1zzi25xx320gwmsn5rj8c3m1wqwmjbzf32krdzmaqiwvhf7c1b"; depends=[maptools RColorBrewer MASS rgeos]; }; + gitter = derive { name="gitter"; version="1.0.4"; sha256="1pvl8k8mb15mcfz1074y246s9basmi5vbpw2n1ca0d8wm5wdidap"; depends=[jpeg tiff logging PET ggplot2]; }; + Giza = derive { name="Giza"; version="1.0"; sha256="13nkm8mk1v7s85kmp6psvnr1v97vi0gid8rsqyq3x6046pyl5z6v"; depends=[reshape lattice lattice]; }; + glarma = derive { name="glarma"; version="1.1-0"; sha256="06sm8kv43ngy495mv020wh350nfmk4djiwh1267xvp97f5sbgmxr"; depends=[MASS]; }; + glasso = derive { name="glasso"; version="1.7"; sha256="1rl3rnc7c5gd99ffryyi30xgy9zdbwvvnl6bkwgfkfcz6bm0cwlk"; depends=[]; }; + glassomix = derive { name="glassomix"; version="1.2"; sha256="13a2ly0by58z8djq8nbakpyacgb6nkdsqxjq44yw4v2fy3s22z3n"; depends=[mvtnorm glasso huge]; }; + glcm = derive { name="glcm"; version="0.3.1"; sha256="0bsvih2fk5liqrhnhs3hlb7p3kcgmyymwhpq0gial0g1dh324p2w"; depends=[Rcpp]; }; + gld = derive { name="gld"; version="2.2.1"; sha256="1x9xlqj87xmk90hn20k1yvnvyndxdbi67yrxrfdhr3lhxabq5msw"; depends=[]; }; + GLDEX = derive { name="GLDEX"; version="2.0.0.0"; sha256="0pskh9wa32im6wrjkqkxczfsds71mx2435yhn7vrna4vzyc2xdvb"; depends=[cluster]; }; + gldist = derive { name="gldist"; version="2160.2"; sha256="1dcf3pb4xqvhqj4m3xc3ihzjbzxjspjrnc8819hmlnmdd0csghmx"; depends=[]; }; + glinternet = derive { name="glinternet"; version="0.9.0"; sha256="0qihlzdb9ifqlyx5l34vkwi6z59xd7wbl72a3pj725n9kkk7bmig"; depends=[]; }; + gllm = derive { name="gllm"; version="0.35"; sha256="1m9asamh2yha9q8mrllvvc9qj2im6cspvfpafzc8krmh17zq4ins"; depends=[]; }; + glm2 = derive { name="glm2"; version="1.1.1"; sha256="181s0h4npd759b7m58gnab50hk0xmw884iwmn7xxjvnyi16ll179"; depends=[]; }; + glmc = derive { name="glmc"; version="0.2-4"; sha256="03m1ym9w0b0gqib13pnh1yrjijlcwsn5lijg0nsr4hd6gxw29cla"; depends=[emplik]; }; + glmdm = derive { name="glmdm"; version="2.60"; sha256="09vljki24fccqkvxkmg2i6a8pxqhfwm155b41m2q51lqaq29bfw7"; depends=[]; }; + glmlep = derive { name="glmlep"; version="0.1"; sha256="0jnm3cf2r9fyncxzpk87g4pnxbryqcxxrc5y2a80pv48al3sxlzk"; depends=[]; }; + glmmBUGS = derive { name="glmmBUGS"; version="2.3"; sha256="1j96c1c2lqplhjvyigpj494yxj85bpmc7cnd1hl1rc8b552jr192"; depends=[MASS abind]; }; + glmmGS = derive { name="glmmGS"; version="0.5-1"; sha256="1aqyxw3nrjri8k8wlwvddy25dj7mjqndssd5p5arax8vaqgrdnjz"; depends=[]; }; + glmmLasso = derive { name="glmmLasso"; version="1.2.2"; sha256="1av14z8anhnq265kqhqyi1js0p5a38h2l0kn88b08m8rxxzpwx55"; depends=[minqa]; }; + glmmML = derive { name="glmmML"; version="1.0"; sha256="0b1q5mj325xga3lfks28r03363bjfa31rlgjzwk4s0a6g21bdl4a"; depends=[]; }; + glmnet = derive { name="glmnet"; version="1.9-5"; sha256="1pilqd4cqdhydxzbwqkw2y5zw4g92ihm4zgplpxiig94jwlr7gfp"; depends=[Matrix]; }; + glmnetcr = derive { name="glmnetcr"; version="1.0.2"; sha256="1pyg23hdqksiaqdcrsaqz9vb7mgclm41hh0vb7ndkdv284bzzlbz"; depends=[glmnet]; }; + glmpath = derive { name="glmpath"; version="0.97"; sha256="054v188ffjl6x11cld5s9py22kxcs0iq58x4yhxb0ny7mbma5hkn"; depends=[survival]; }; + glmpathcr = derive { name="glmpathcr"; version="1.0.3"; sha256="0qa63c7kwpxf6smczgzf4fmvczw1ynqq5vgcw3bxdbs37q4ypj8n"; depends=[glmpath mvtnorm]; }; + glmperm = derive { name="glmperm"; version="1.0-5"; sha256="1m6nxk9k5qjmq4kvv1nv7n51hagwxi97pd5a3wgiky3wml4aa2nw"; depends=[survival]; }; + glmulti = derive { name="glmulti"; version="1.0.7"; sha256="154s72sjp6pz7ki7s4mgn5v62j7h0lfz9mngf40wvmy31da2s8ix"; depends=[rJava]; }; + glmx = derive { name="glmx"; version="0.1-0"; sha256="0i0p1xk5yk1l274gfr4ijmqnnbq7yyzmi577pb7igwvi3hjn7g7k"; depends=[MASS Formula lmtest sandwich]; }; + globalboosttest = derive { name="globalboosttest"; version="1.1-0"; sha256="1k7kgnday27sn6s1agzlj94asww81655d2zprx6qg7liv677bxvf"; depends=[mboost survival]; }; + GlobalDeviance = derive { name="GlobalDeviance"; version="0.4"; sha256="0s318arq2kmn8fh0rd5hd1h9wmadr9q8yw8ramsjzvdc41bxqq1a"; depends=[snowfall]; }; + globalGSA = derive { name="globalGSA"; version="1.0"; sha256="1f3xv03m6g2p725ff0xjhvn2xcfm7r7flyrba080i4ldy6fd8jg8"; depends=[]; }; + globalOptTests = derive { name="globalOptTests"; version="1.0"; sha256="0vmly1mh8k5aihlwxfp30gj0qdrwfx2b9bcbs8ccrpfhgcvacnr9"; depends=[]; }; + glogis = derive { name="glogis"; version="0.1-1"; sha256="02wdncycmnsvj09d1032cns3xbrh92ki5zn9sa3gscw1xzz0yzh6"; depends=[zoo sandwich]; }; + glpkAPI = derive { name="glpkAPI"; version="1.2.10"; sha256="0xlgccb77xgscfg46pxxcz5k9gm8a913xgp48dfmxw31n7ynckml"; depends=[]; }; + gmatrix = derive { name="gmatrix"; version="0.1"; sha256="06fbqixjbpxm4k6l132krbmk2jvh4r2s64nlbi9gb3whq55pf4ih"; depends=[]; }; + GMCM = derive { name="GMCM"; version="1.0"; sha256="1nj16kz7382aif7vgmwwnl998v7c4l63da3cwy3a3vsaxv45v8r9"; depends=[Rcpp RcppArmadillo mvtnorm]; }; + gMCP = derive { name="gMCP"; version="0.8-6"; sha256="1pr40k4qj4yy9hcp2zx8x4dys9vav7gk4164999wg4psp7f06va0"; depends=[rJava JavaGD MASS PolynomF multcomp mvtnorm Matrix CommonJavaJars]; }; + GMD = derive { name="GMD"; version="0.3.1.1"; sha256="1vpapfnkn5gfqy033qirblx7xkbh52nw95sxw10v4aajddy0dyx9"; depends=[gplots]; }; + Gmisc = derive { name="Gmisc"; version="0.6.2.0"; sha256="1q9pswywil1hbvm1g23p4vh29l32rba1lzd6f233hk64plnizl6d"; depends=[Hmisc stringr lattice sp]; }; + gmm = derive { name="gmm"; version="1.5-0"; sha256="071i2bk73z606yb6a3vrv4cfyvgfwkrirm09i7bg2l3y2is1dfgj"; depends=[sandwich]; }; + GMMBoost = derive { name="GMMBoost"; version="1.1.2"; sha256="01q165vkdiv4qh96lha0g2g94jpnzdclbby6q43ghh9j1yrd4qzj"; depends=[minqa magic]; }; + gmodels = derive { name="gmodels"; version="2.15.4.1"; sha256="1yizjw181bg0ml6j96calflz3k3wpvpxh61hfd3pdba013ixjib5"; depends=[MASS gdata]; }; + gmp = derive { name="gmp"; version="0.5-11"; sha256="1zlsgmfdnc8p1k6y07bzhgjpxpaj8hicx49xia09acs0n0hpxmdh"; depends=[]; }; + gmt = derive { name="gmt"; version="1.2-0"; sha256="09az2iwwhyrls4mr619vwzhzmaks6klm67lnir48bh40hynsvibp"; depends=[]; }; + gMWT = derive { name="gMWT"; version="0.3"; sha256="15d681j913zmw6yknj7n6bmij127vcx0i41ag3rgr7mq2pn4nv24"; depends=[clinfun Rcpp RcppArmadillo]; }; + gnm = derive { name="gnm"; version="1.0-7"; sha256="1jnh39i4462ky9vwnrlwq30d8qbp0jg73p8mwm6hnl8sdh53nkr1"; depends=[MASS Matrix nnet qvcalc relimp]; }; + gnmf = derive { name="gnmf"; version="0.7"; sha256="00y1dx1c66gv769yiwnb91xbr77wpidf36x0n0dzaqfn7s9yh6xq"; depends=[]; }; + gnumeric = derive { name="gnumeric"; version="0.7-2"; sha256="14c7a8aiqvqfbrjb1akpfjwidrzdhrw8a07ask083krki6vbi7hh"; depends=[XML]; }; + goalprog = derive { name="goalprog"; version="1.0-2"; sha256="1h3nd3d53hbz5hl3494lpfjnp1ddklc17nhgw18362jd1nk14awy"; depends=[lpSolve]; }; + gof = derive { name="gof"; version="0.9.1"; sha256="1s12gga9d6yizn2y7lzql4jd80lp5jpyml8ybn7xqswp8am82vpg"; depends=[]; }; + GoFKernel = derive { name="GoFKernel"; version="1.0"; sha256="0x3g7m1vi5xrsda4lvmzr4ggicyiiwc00w3rg4v036hdbp8yjv6h"; depends=[KernSmooth]; }; + goft = derive { name="goft"; version="1.0"; sha256="061x6mnzidmnza9q7z2ikik9zrn434yjx1690bxbh41ckvb92hnx"; depends=[gPdtest mvShapiroTest]; }; + GOGANPA = derive { name="GOGANPA"; version="1.0"; sha256="1xbir21zvr5hv2y6nndzpsrpmnr7glrc7y6xgcyb856wx46ajan9"; depends=[GANPA WGCNA]; }; + gogarch = derive { name="gogarch"; version="0.7-2"; sha256="03gpl73zc6kx4gni59xbg7b38dkpd7p4c7kvlqm46f58j257viik"; depends=[fGarch fastICA]; }; + googlePublicData = derive { name="googlePublicData"; version="0.12.05"; sha256="01wilag2h55zdxxim2h06k0l93csi2nl7iqjnmk4yf9ayz226bc8"; depends=[XML XLConnect]; }; + googleVis = derive { name="googleVis"; version="0.5.1"; sha256="0sf2yhxj65gg4c3rrhndq6jmvz34h6dw4zipcw7vd7dyyp1fi3wb"; depends=[RJSONIO]; }; + gooJSON = derive { name="gooJSON"; version="1.0.01"; sha256="02sldh5lsrjprc9mbf99jyid7ij62db5f1h60z719gxl4pk6fjms"; depends=[rjson]; }; + goric = derive { name="goric"; version="0.0-7"; sha256="199scq0ii2l2jgxm634n9vs4w4zxq5scyc4ssab8m6yg4z8v45xp"; depends=[mvtnorm quadprog Matrix nlme MASS]; }; + GOsummaries = derive { name="GOsummaries"; version="1.1"; sha256="1lkaid88lrm2xyz62xx32xnpch9qlhb3lif9jmk2zaym1d53558a"; depends=[ggplot2 Rcpp plyr gProfileR reshape2 gtable]; }; + govStatJPN = derive { name="govStatJPN"; version="0.1"; sha256="03sywa7rl5rblvv370mfszz5ngp850qf32yydy1fdx10lv5amrfl"; depends=[]; }; + gpairs = derive { name="gpairs"; version="1.2"; sha256="09mkdbs9hklxnmqcsnf65s3dfsfcr7kppp6zxj08v5hxym1gpz3l"; depends=[barcode lattice vcd MASS colorspace]; }; + GPArotation = derive { name="GPArotation"; version="2012.3-1"; sha256="1kvd6djsr6vdjd228i03d914n77sd5sym7dl5lbaq76bgmqfhr77"; depends=[]; }; + gPCA = derive { name="gPCA"; version="1.0"; sha256="1ylb1d24dxnzpws9bbanwhyizjr3ljky2bhrph4c5yaq0zwwbrkw"; depends=[]; }; + gpclib = derive { name="gpclib"; version="1.5-5"; sha256="08j81b8wymsgin20n54gvm6m54rmdic51p6qzs9cz4pmgl7dkkjv"; depends=[]; }; + GPCSIV = derive { name="GPCSIV"; version="0.1.0"; sha256="118l792mwd54xsi3g8afg3vc6wds8j6fyaz3mwmq04mlcyblym4l"; depends=[scatterplot3d sqldf]; }; + gPdtest = derive { name="gPdtest"; version="0.4"; sha256="00dlhnklfg2yp4hp7yjgr2nfswv22c007xq1mxdbkll62zgd94mq"; depends=[]; }; + GPFDA = derive { name="GPFDA"; version="2.0"; sha256="0acwp9jxbp2bdkvbb1q0azds5sqrkada8j45r83l1dhxad8f0l1d"; depends=[fda_usc spam MASS]; }; + GPfit = derive { name="GPfit"; version="0.1-0"; sha256="1gk14qm94088prwaiilklqb2xrb81qr25psmg31585dv93yawgqr"; depends=[lhs lattice]; }; + gpk = derive { name="gpk"; version="1.0"; sha256="1zfhkqyypb24mhbj2zi9qy3gw0kqxvlp8j5ni3zm7k5rz1bnrygg"; depends=[]; }; + gplm = derive { name="gplm"; version="0.7-1"; sha256="0pyl4hjvbhxvnssxsr8mdgs8phvkwimfcgfp34vr2mbyiycy2dl1"; depends=[]; }; + gplots = derive { name="gplots"; version="2.13.0"; sha256="1qxm6878lzcca9q0sbc4p3g3xh32169hkaidbk3m14ph0vwl45b2"; depends=[gtools gdata caTools KernSmooth]; }; + GPLTR = derive { name="GPLTR"; version="0.85"; sha256="1njlq8s56m42n8yg93xgjk91dcaprf3n05rkqfiq8sbpfvva8v3j"; depends=[rpart]; }; + gpmap = derive { name="gpmap"; version="0.1.1"; sha256="00jhslbxbp6dgq7bw346hfpw0gans048vsn7chyzjhyr7ah5xrfg"; depends=[isotone plyr ggplot2 foreach]; }; + gpr = derive { name="gpr"; version="1.1"; sha256="03ywik11kc6cnaqrzzzi94jkrdbd378m3sf26f2vpb7d834nl728"; depends=[]; }; + gProfileR = derive { name="gProfileR"; version="0.5"; sha256="0jadfj2hcn3zx4ph61685p5iz16330jccp5ipi8183dkcybvimw4"; depends=[RCurl plyr]; }; + GPseq = derive { name="GPseq"; version="0.5"; sha256="0k5xif44qk2ppvcyja16xshmfciq1h84l1w6d8dfkyryfajbc8ai"; depends=[]; }; + gptk = derive { name="gptk"; version="1.08"; sha256="0fk6c8f8fni4y2n2cbfwywlfyz74xlb8lx25wajsxr2v4x74pa7l"; depends=[Matrix fields]; }; + gputools = derive { name="gputools"; version="0.28"; sha256="0ria03ggcfqgn93gjv2anhvkd3k73c6vfwgka16kf66g1nfzxs4l"; depends=[]; }; + GPvam = derive { name="GPvam"; version="3.0-1"; sha256="1ig079m9rwhsbv0pwxp2swvrxajaxsfq3hic4cq56sxpq1wr9vja"; depends=[Rcpp RcppArmadillo Matrix numDeriv]; }; + grade = derive { name="grade"; version="0.2-1"; sha256="085hfvqn880yk19axdjv3z9jr33kls212vs172a8mzhnkallph1r"; depends=[]; }; + GRaF = derive { name="GRaF"; version="0.1-12"; sha256="1d7mr2z49v6ch4jbzh0dj2yjy2c5p51ws38xfz233sjz475snajr"; depends=[dismo]; }; + gRain = derive { name="gRain"; version="1.2-3"; sha256="0cxlni9b4p4g02zhhsbbpkwhx9y3x83vm7qd6lsca02yi96palsi"; depends=[gRbase igraph]; }; + granova = derive { name="granova"; version="2.0"; sha256="02jk6p0y29z09l2d35flyrx1g0b4vjpwv99v46pi4kdkiv50508x"; depends=[car]; }; + granovaGG = derive { name="granovaGG"; version="1.2"; sha256="0gy8ba1zlm62f458sxrph3cyz4c6nqkaddm6nwj54nyicxqah32h"; depends=[ggplot2 RColorBrewer plyr gridExtra reshape2]; }; + gRapfa = derive { name="gRapfa"; version="1.0"; sha256="07yzwzna9pdyzndxk6wwyl6v3gkfc7dvy1ixmdl3d38mcl1ahwyq"; depends=[igraph]; }; + gRapHD = derive { name="gRapHD"; version="0.2.4"; sha256="0fxd04s6zh23chks4k6nwb5w408xjy89b44pa42kv6qnqj86ylvm"; depends=[]; }; + GrapheR = derive { name="GrapheR"; version="1.9-82"; sha256="0rqc12mcs5q5ybdj19as6q4sn8a39yqbv8n235v9hf8dh2c9ph71"; depends=[]; }; + graphicsQC = derive { name="graphicsQC"; version="1.0-5"; sha256="1h0qrf47r16np1ysymvlvvb95a8w86brh440kk20ajhbr5njp6kz"; depends=[XML]; }; + GraphPCA = derive { name="GraphPCA"; version="1.0"; sha256="17ipcp7nh47lfs9jy1aybpz4r172zj5yyrdrgmd6wa7hax8yv8gg"; depends=[ggplot2 FactoMineR scatterplot3d scales]; }; + GrassmannOptim = derive { name="GrassmannOptim"; version="2.0"; sha256="05r5zg4kf3xd6pp56bl8ldchdxvspxkdfd33b623hndjhn4lj2lq"; depends=[Matrix]; }; + gRbase = derive { name="gRbase"; version="1.7-0.1"; sha256="1x52i4c5jbry17y1pfnjq03kz4xxnk3anidva41z5alp7c73zlqv"; depends=[Matrix igraph Rcpp]; }; + gRc = derive { name="gRc"; version="0.4-1"; sha256="1a6q24yj7js1sk0lfqbm7kdv605cby6i711w4dlygsxdvwxbrsdr"; depends=[gRbase]; }; + gregmisc = derive { name="gregmisc"; version="2.1.5"; sha256="06mwyxf1s3alwsmlwm39q5x7jq9k5rlgrkjn7ysxd72h5g1hh54i"; depends=[gdata gmodels gplots gtools]; }; + greport = derive { name="greport"; version="0.5-1"; sha256="0l88w78djgyzd8ma3b61xkjsr76xlxzc3ibhzh6xz389knn3vfl5"; depends=[Hmisc data_table rms lattice latticeExtra Formula survival]; }; + Grid2Polygons = derive { name="Grid2Polygons"; version="0.1-4"; sha256="00qnvi5f5mywknir67rbn36hz8s1x71y1jkkj4nrp60d15vh6hk7"; depends=[sp rgeos]; }; + gridBase = derive { name="gridBase"; version="0.4-7"; sha256="09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy"; depends=[]; }; + gridDebug = derive { name="gridDebug"; version="0.4-0"; sha256="1nbcdjip6ghnlv0j7cf45bpqdpirwn636pg324f0hgiqj4rifn09"; depends=[gridGraphviz gridSVG]; }; + gridExtra = derive { name="gridExtra"; version="0.9.1"; sha256="15pj5w5wlrf8gw4z01i9j88gk6bm4kni64fpip9icmxkn887y3hx"; depends=[]; }; + gridGraphviz = derive { name="gridGraphviz"; version="0.1"; sha256="14zcr0w2c9cgdw6ij93w52k3bkmgdmx809snh9jjf2amy08p2gbg"; depends=[]; }; + gridSVG = derive { name="gridSVG"; version="1.4-0"; sha256="0ch1waz2z60a7ivn63nf1418kgypr0nv8vr3ak3my0i7gdgny2pc"; depends=[RJSONIO XML]; }; + GriegSmith = derive { name="GriegSmith"; version="1.0"; sha256="1a7gnaig1wvxpph7d8c37kx51dznzk0457fzf7alw95iwpyb4z7j"; depends=[spatstat]; }; + gRim = derive { name="gRim"; version="0.1-17"; sha256="0vn031r318kp78cx00n43fc42bv6sjyb8dm6q0l08s0g9n2w17dp"; depends=[gRbase gRain igraph]; }; + grImport = derive { name="grImport"; version="0.9-0"; sha256="1d8fd7502qj7cirjqdkr1qj51rylw2fz5hs06avfvc2dxs2xwfw1"; depends=[XML]; }; + grnn = derive { name="grnn"; version="0.1.0"; sha256="1dxcmar42g9hz4zlyszlmmnnsnja0gxfggav5jxv0gkp32rkd0wh"; depends=[]; }; + groc = derive { name="groc"; version="1.0.1"; sha256="147vwvr5n0z6197j6lwm7hvpxbdc2cmykxqgx9mk2v3ssvpjwg86"; depends=[pls mgcv robust robustbase]; }; + grofit = derive { name="grofit"; version="1.1.1"; sha256="0m0phd5irk007k2kpxlsg03g7939nndf363fmkcxffykvp0023hz"; depends=[]; }; + grouped = derive { name="grouped"; version="0.6-0"; sha256="1glxgacpwk7yjbkwg5ci6bmb2il6hf5zhydwi5bbq6hc032m9976"; depends=[MASS]; }; + GroupSeq = derive { name="GroupSeq"; version="1.3.2"; sha256="16n06jw7f97jhafgl9sfvd163v1walhlpmai1hmhiwjvv341sp13"; depends=[]; }; + growcurves = derive { name="growcurves"; version="0.2.3.9"; sha256="1f8hh8ppp6bgrb8crm46xrria3vdnz62aya9lhwcdaggfmy7j25l"; depends=[Rcpp RcppArmadillo reshape2 scales ggplot2 Formula testthat]; }; + growthmodels = derive { name="growthmodels"; version="1.2.0"; sha256="1wy5z77819s3daa0mifafcjfkggsq0ac522yagj86ml3vf7yqppj"; depends=[]; }; + growthrate = derive { name="growthrate"; version="1.2"; sha256="05a2g3lcw4c0r3hykk5lsxmx2s1lp1fsjjxmip75dhid969sagcs"; depends=[Matrix clime mvtnorm]; }; + grplasso = derive { name="grplasso"; version="0.4-3"; sha256="1v15x0kbzfvl3ygbrsxqgj3mz6a107bfvanbymh0hs7668b1zkab"; depends=[]; }; + grppenalty = derive { name="grppenalty"; version="2.1-0"; sha256="12hbghmg96dwlscjy6nspgkmqqj4vwq2qcwcz1gp50a08qbmdcrk"; depends=[]; }; + grpreg = derive { name="grpreg"; version="2.6-0"; sha256="1j112c96milqnd34dmznm1x7i02ydh484msd6vm98daghb42dzsg"; depends=[Matrix]; }; + grt = derive { name="grt"; version="0.2"; sha256="0cqjk7yqk2ryx1pgvjd3x8l25hqv92p8rvdr7xw4jkzillllwmhz"; depends=[MASS rgl misc3d]; }; + GRTo = derive { name="GRTo"; version="1.1"; sha256="0fzl3f3x9g9rv1lcsp72sq2cj13d93pdcmjzm4p1p1bb9ainggif"; depends=[bootstrap]; }; + GSA = derive { name="GSA"; version="1.03"; sha256="1h1sbpn1rrdh44w4fx2avc7x24ba40mvpd8b2x5wfrc7a294zf6z"; depends=[]; }; + GSAgm = derive { name="GSAgm"; version="1.0"; sha256="18bhk67rpss6gg1ncaj0nrz0wbfxv7kvy1cxria083vi60z0vwbb"; depends=[survival]; }; + gsalib = derive { name="gsalib"; version="2.0"; sha256="0yk39ca7yrsksga73ma2pdqfy3s1xpp07y8622x44b9cazv6rdy4"; depends=[]; }; + gsarima = derive { name="gsarima"; version="0.1-4"; sha256="0q5i5szyqvj1sgyg17khqx5rgdpn3wxp22ddr9m9rb653y03xzz0"; depends=[MASS]; }; + gsbDesign = derive { name="gsbDesign"; version="0.96-2"; sha256="0sk4a66z9bqi3aa2ky9472p9znfm93kc9p5igdmvii4dr0syyfxd"; depends=[gsDesign lattice]; }; + gsDesign = derive { name="gsDesign"; version="2.8-8"; sha256="0czr2xyh3nd8kgvw71wvqakvmfbdbysiyyfnh2az7l4j33xyhfc9"; depends=[ggplot2 xtable stringr RUnit plyr]; }; + GSE = derive { name="GSE"; version="3.0"; sha256="1b1nrnvgly7zpyw9z9ddgmx7qfz0mllwm8k7czs17x3l5gkmw8ir"; depends=[Rcpp RcppArmadillo MASS ggplot2]; }; + gSeg = derive { name="gSeg"; version="0.1"; sha256="0qnv3c0rla0g2fb4s4x1i0zdp3dlvi98qf80wlr54gnn7s9vpjf1"; depends=[]; }; + gsg = derive { name="gsg"; version="1.0"; sha256="0j2h1i94vr0mvj4rl328n666b9nn2xnakid8k1r2lh88vk3dv9ma"; depends=[mgcv mvtnorm boot numDeriv]; }; + GSIF = derive { name="GSIF"; version="0.3-6"; sha256="00z0fbfr5xird1nnjrkmddqc8zbzcqfgmp65wfc5dhsjip7jzcy2"; depends=[sp RSAGA dismo rgdal raster aqp plotKML gstat boot rpart quantregForest randomForest nlme]; }; + gskat = derive { name="gskat"; version="1.0"; sha256="19mbif7wr88vk5wlc7m2l4xghjmfj2qd3s8yvjlkawbnjk8x6ib0"; depends=[CompQuadForm e1071 gee geepack Matrix]; }; + gsl = derive { name="gsl"; version="1.9-10"; sha256="06n21p0k2ki6nb725a6sxwlb4p7xc5jhg11nq9c3z3dj39r0qgbd"; depends=[]; }; + GSM = derive { name="GSM"; version="1.3.1"; sha256="1ay6znw31qnhz5k6fa0aiccr2xxmnj7v3vzrvlk6y5v5smlvybd0"; depends=[gtools]; }; + gsmaRt = derive { name="gsmaRt"; version="1.0"; sha256="0hpf0vgmhill3w8cqpsgvxjgwk2ka154vm9klidckm05qcqlwdn6"; depends=[R2HTML rgl scatterplot3d xtable]; }; + gsmoothr = derive { name="gsmoothr"; version="0.1.5"; sha256="13z1klyrkbiv069q9cmvdrwr627x5z68y414wxxhsr2099wrj4bd"; depends=[]; }; + gss = derive { name="gss"; version="2.1-0"; sha256="1ncnim4m63wlmh1mvd5l6clgnqmy4g5vv3d2a7bb28n4274zvwy9"; depends=[]; }; + gsscopu = derive { name="gsscopu"; version="0.9-1"; sha256="0qg4ra7zvp0j6wjbb14sqajfq745bza3v50s0c5xxnddblqi4hcc"; depends=[gss]; }; + gstat = derive { name="gstat"; version="1.0-19"; sha256="1yhrp1dgkl11hr8jy1kmsiaf8avf02m85wcnvf34vlbil24hy7py"; depends=[lattice sp zoo spacetime FNN]; }; + gstudio = derive { name="gstudio"; version="1.2"; sha256="01rmyvsmf21992wvr18qz81f01wkch0dq260y9pxiz9mhw0cdsd2"; depends=[ggplot2 raster sp reshape2 ggmap popgraph]; }; + gsubfn = derive { name="gsubfn"; version="0.6-5"; sha256="1glpq5ghzgarqg8wfl7pblblm31d4dsxrlrkhsgckldbdap52yws"; depends=[proto]; }; + gtable = derive { name="gtable"; version="0.1.2"; sha256="0k9hfj6r5y238gqh92s3cbdn34biczx3zfh79ix5xq0c5vkai2xh"; depends=[]; }; + gtcorr = derive { name="gtcorr"; version="0.2-1"; sha256="1n56zmyv58jwr95p453jb86j82pdnq57gfc8m15jndjc9p31zl0m"; depends=[]; }; + gte = derive { name="gte"; version="1.2-1"; sha256="0h6c5n9wz8b4b5pmqfbc8ivqpg2jh4k6x94wns1l33kiah70pmjd"; depends=[survival]; }; + gtools = derive { name="gtools"; version="3.4.0"; sha256="1q0az6sqjnrl76i2lsn7zjl4zcwfbh29ia1vmw0dwm4s1afrhvqj"; depends=[]; }; + gtx = derive { name="gtx"; version="0.0.8"; sha256="0x71jji2yldi9wpx8d3nldbjfj4930j7zcasayzbylf9094gmg26"; depends=[survival]; }; + GuardianR = derive { name="GuardianR"; version="0.3"; sha256="11dhzhrv6ykb2glymaxq33m0r8fr3v4481g4cwhlbzkmbncvwl6d"; depends=[RCurl RJSONIO]; }; + Guerry = derive { name="Guerry"; version="1.5-0"; sha256="18pgmsqd6ign5g4lwpd35gxaypm3zjf1i82w63ss11dsqddnfyvh"; depends=[sp shapefiles]; }; + GUIDE = derive { name="GUIDE"; version="1.0.9"; sha256="1y0y6rwv1khd9bdaz5rl9nmxiangx0jckgihg16wb6hx6kf8kzc1"; depends=[rpanel tkrplot]; }; + gumbel = derive { name="gumbel"; version="1.04"; sha256="0fl44i4kz9wbba1iv4fy1b74nf25axdkifhczgrgpy5d81ky43v6"; depends=[]; }; + GUniFrac = derive { name="GUniFrac"; version="1.0"; sha256="0w08b22xkx0llmwk1kj4ibapvg3fxkgkmjz6z6acr4nwqfwmjzzx"; depends=[vegan ape]; }; + gvcm_cat = derive { name="gvcm.cat"; version="1.6"; sha256="0v5q97gjninxrjdclxj1bn362h0j93pm71k9gp79aa3sdy4ay6s4"; depends=[Matrix MASS]; }; + gvlma = derive { name="gvlma"; version="1.0.0.2"; sha256="0gj52hg665nmlwgbjh9yvz7a3sbzlbj41ksxchnnlxaxipdf6sl8"; depends=[]; }; + GWAF = derive { name="GWAF"; version="2.1"; sha256="1s56d3b6p5fpaxi32ks2mmhsa5sgi746hf159wk0z99099gli8g3"; depends=[geepack coxme lme4]; }; + GWASExactHW = derive { name="GWASExactHW"; version="1.01"; sha256="19qmk8h7kxmn9kzw0x4xns5p3qqz27xkqq4q6zmh4jzizd0fsl78"; depends=[]; }; + GWAtoolbox = derive { name="GWAtoolbox"; version="2.2.4"; sha256="0adpixlfh0j1py79b0636921kmz2zvhv8p07m6ism6h3xva0i4ck"; depends=[]; }; + gwerAM = derive { name="gwerAM"; version="1.0"; sha256="1c3rzd1jf52a4dn63hh43m9s9xnjvqn67amlm9z1ndrnn6fwfg1b"; depends=[MASS Matrix]; }; + GWG = derive { name="GWG"; version="1.0"; sha256="1va0cd229dhhi1lmrkpwapcm96hrdmxilrmba02xnl7ikhisw0my"; depends=[]; }; + gWidgets = derive { name="gWidgets"; version="0.0-52"; sha256="0nldrgc3kbqf8x09n0h8kcf86zc3f94s1fmb3jdcxjzw4p5f0dna"; depends=[]; }; + gWidgets2 = derive { name="gWidgets2"; version="1.0-5"; sha256="1y6vm6ds77yr1qiqlcaixbsarbwx5w53ba343svla7wva80ajbpl"; depends=[digest]; }; + gWidgets2RGtk2 = derive { name="gWidgets2RGtk2"; version="1.0-2"; sha256="1pzcpjz5cdizvj0ih2r4i3ll6flm45q8ym6sz0wqbg4j3ir0l5kh"; depends=[memoise RGtk2 gWidgets2]; }; + gWidgets2tcltk = derive { name="gWidgets2tcltk"; version="1.0-2"; sha256="1dzrc8yry4l2afpijr35irnqmvfpd22vlb3lih4pk14n52690y0h"; depends=[digest memoise gWidgets2]; }; + gWidgetsRGtk2 = derive { name="gWidgetsRGtk2"; version="0.0-82"; sha256="0b1imvy2094s2ixar7z4kxs047855ssijx8l22a1hlwdg7zp7sng"; depends=[RGtk2 gWidgets]; }; + gWidgetstcltk = derive { name="gWidgetstcltk"; version="0.0-54"; sha256="04mc0vc0iz18v86fmz4yb46m4flcljzx9njm9jnfq3lh2gj3bf9d"; depends=[gWidgets digest]; }; + gWidgetsWWW = derive { name="gWidgetsWWW"; version="0.0-23"; sha256="14yw04kgfqfwl44zkyqy075rjd5vafbzig6x5py25ypbdk3hwn7a"; depends=[proto filehash digest rjson]; }; + GWmodel = derive { name="GWmodel"; version="1.2-2"; sha256="0ixy0005lgi3h9mfbbmd6l6k3zg2w3j0caarx4yp7457mjla2471"; depends=[maptools robustbase]; }; + GWRM = derive { name="GWRM"; version="1.1"; sha256="1l8rw2nksd1vskjb7kjn93vgrs39bcrr8zz1j66rmkcc399pf6nf"; depends=[]; }; + gwrr = derive { name="gwrr"; version="0.2-1"; sha256="1fjk217pimnmxsimqp9sn02nr1mwy3hw3vsr95skbfsd6vdda14d"; depends=[fields lars]; }; + GWsignif = derive { name="GWsignif"; version="1.0"; sha256="04663qgy3xmijrx8m1s5ql7zj70mgsd58dl08ci742l1fzmfya5f"; depends=[]; }; + GxM = derive { name="GxM"; version="1.0"; sha256="1vaq0fkx3bf2kdmn2iqgad8haprg9i3a9101nrvyh2pv2g894761"; depends=[Rcpp minqa nlme]; }; + h5r = derive { name="h5r"; version="1.4.7"; sha256="1q2l6hq30x5cnxrhk6fz8ymb836sc2z48h37yw4v13xqmb8q74wp"; depends=[]; }; + haarfisz = derive { name="haarfisz"; version="4.5"; sha256="1qmh4glwzqwqx3pvxc71rlcimp1l0plgdf380v9hk0b4gj7g3pkf"; depends=[wavethresh]; }; + HAC = derive { name="HAC"; version="0.3-1"; sha256="1rzfc8h5w2rxjlppi3pa7n3gavxclkwm7bw081k8jlmrifx87sp3"; depends=[copula]; }; + HadoopStreaming = derive { name="HadoopStreaming"; version="0.2"; sha256="1l9msaizjvnsj1jrpghj4g057qifdgg6vbqhfxhn1fiqdqi2056q"; depends=[getopt]; }; + HandTill2001 = derive { name="HandTill2001"; version="0.2-9"; sha256="1j4ivxarm3k9sj05824lv6b03apyabpciv4mp253vv0yzjcp2bzf"; depends=[]; }; + hapassoc = derive { name="hapassoc"; version="1.2-6"; sha256="14ddh7wiyks0wcw0iy1af9njg4wsn5flv59r463z2b3pbj5zp1qc"; depends=[]; }; + HapEstXXR = derive { name="HapEstXXR"; version="0.1-6"; sha256="0ldmfa9729sf9r1kaldsskq8w6kvjac778bzjyi0a1pfz2walzjb"; depends=[survival]; }; + HAPim = derive { name="HAPim"; version="1.3"; sha256="03qy0pxazv3gdq3fck7171ixilb9zi1dwnvc4v7d726g0lvn80pg"; depends=[]; }; + Haplin = derive { name="Haplin"; version="5.3"; sha256="1gfg9dhgw42yjd1i8knnjvc2y2fbdc2ypa396g48hmsnislqffsd"; depends=[MASS mgcv GenABEL DatABEL filehash]; }; + haplo_ccs = derive { name="haplo.ccs"; version="1.3.1"; sha256="0cs90zxxbvglz1af0lh37dw1gxa04k0kawzxamz2was3dbh19lbz"; depends=[haplo_stats survival]; }; + HaploSim = derive { name="HaploSim"; version="1.8.4"; sha256="0794f76hc9qvjmay7c61cmzycqafljs0g0hliq9xfrw4f23gq3sa"; depends=[]; }; + haplo_stats = derive { name="haplo.stats"; version="1.6.8"; sha256="1zz8hi37zwc6wkn5q7zhz1l29vlklhnj8gzp1pmz4ys496c2lwxh"; depends=[]; }; + HAP_ROR = derive { name="HAP.ROR"; version="1.0"; sha256="1id9amz1cc2l2vnpp0ikbhf8ghbgzqd1b9dfivnyglg7996c3gbg"; depends=[hash ape]; }; + hapsim = derive { name="hapsim"; version="0.3"; sha256="18r0cq15psjwxprml84ihj5gw4pk6agd7x0qicj899awa21f2qb3"; depends=[MASS]; }; + HardyWeinberg = derive { name="HardyWeinberg"; version="1.5.2"; sha256="10djqp3qd2a7wr2l9nn13wwvhwrlj9wdr5sij8ac8l2xibrxdghv"; depends=[mice]; }; + harvestr = derive { name="harvestr"; version="0.5.2"; sha256="1559pzfsp3fnz7ichi5ayqb3vk48xgw5x5i48s45lm9vkqyha303"; depends=[plyr digest]; }; + hash = derive { name="hash"; version="2.2.6"; sha256="0mkx59bmni3b283znvbndnkbar85fzavzdfgmwrhskidsqcz34yz"; depends=[]; }; + hashFunction = derive { name="hashFunction"; version="1.0"; sha256="1v57xj8xwv6xhxvgp0zxgvs5vcjw8z5k2ciwbn0jxf4ilyd66cgj"; depends=[]; }; + hasseDiagram = derive { name="hasseDiagram"; version="0.1"; sha256="1j48h6im66vc60fkrlkdgcqmz8ilvwa56qn97ybmy50gl0ispd2c"; depends=[]; }; + hawkes = derive { name="hawkes"; version="0.0-3"; sha256="03gw5wnyqw4yn313d8jgdrl87dwmwji4ljvjllc5yv8z8mnmhv6j"; depends=[Rcpp RcppArmadillo]; }; + hbim = derive { name="hbim"; version="1.0.3"; sha256="1480nydsi2xj7zbfk4zw24mhsjadf83d827kpqzbmn0yh6srp3ps"; depends=[mvtnorm]; }; + hbmem = derive { name="hbmem"; version="0.3"; sha256="0ylxp77ack874sadwfnry84a6bg8gdl9xbw821lp5q05nnyg0dcj"; depends=[]; }; + hbsae = derive { name="hbsae"; version="1.0"; sha256="1iwmpi0pn5fxyxkwqkbmy6w1f1wcx0p809jnviim0ypwib32mhh7"; depends=[Matrix arm]; }; + HBSTM = derive { name="HBSTM"; version="1.0.1"; sha256="0bx7dxcfj46k4kqpqb39w4qkm4hvr1ka8d8rws445vkyl31kr0q6"; depends=[MASS fBasics maps]; }; + hcc = derive { name="hcc"; version="0.54"; sha256="14b3pamkywb0wsjpbm0wpflcds0b5mfymvgk92rmf6ngz1bkpdbq"; depends=[]; }; + hcci = derive { name="hcci"; version="1.0.0"; sha256="11piy1ajg3j3dbh66szzf7lhc3x28fz75ai39vlx0gl5nc2v5zs5"; depends=[]; }; + hda = derive { name="hda"; version="0.2-12"; sha256="11z9p35dvhi7bdw09d2yawh46nxk8axw76b51vk089g12nr2b9x7"; depends=[e1071]; }; + HDclassif = derive { name="HDclassif"; version="1.2.2"; sha256="0j32nhl2v0bipflidwfk6q8a0pvn7qjs7ks1al2izsr772dwfcvq"; depends=[MASS]; }; + hddplot = derive { name="hddplot"; version="0.56"; sha256="0s9iijwq8zfvavqq2bkqm2884sg0957ppkggsv6mmm3cbdi2xrlc"; depends=[MASS]; }; + hdeco = derive { name="hdeco"; version="0.4.1"; sha256="04nggwckvn1kwi238qd33l4pryzn4aq5bmi30bvfi99gwnrlgfgq"; depends=[]; }; + hdi = derive { name="hdi"; version="0.0-6"; sha256="1w4ijr385zvnc1r6agzy2gg3knyf58zbm46yyp0yscgrxp85v1bb"; depends=[glmnet linprog plus]; }; + hdlm = derive { name="hdlm"; version="1.2"; sha256="0s4lzg3s2k7f7byygb11s7f78l3rkkb0zn03kh3d7h8250wg9fax"; depends=[glmnet foreach MASS iterators]; }; + HDMD = derive { name="HDMD"; version="1.2"; sha256="0na0z08fdf47ghfl2r3fp9qg5pi99kvp7liymwxym2wglkwl4chq"; depends=[psych MASS]; }; + hdrcde = derive { name="hdrcde"; version="3.1"; sha256="027nxpzk1g0yx8rns7npdz30afs5hwpdqjiamc7yjrsi0rzm71lw"; depends=[mvtnorm locfit ash ks KernSmooth]; }; + HDtweedie = derive { name="HDtweedie"; version="1.1"; sha256="14awd7sws0464f68f5xwnv1xvr0xflvx2z2zzcfj1csvk3af0zzj"; depends=[]; }; + HEAT = derive { name="HEAT"; version="1.2"; sha256="1qifqd06ifl0f5l44mkxapnkwhpm0b82yq6dhfw4f8yhb27wd0z2"; depends=[]; }; + heatex = derive { name="heatex"; version="1.0"; sha256="0c7bxblq24m80yi24gmrqqlcw8jh0lb749adsh51yr6nzpap6i9n"; depends=[]; }; + heatmapFit = derive { name="heatmapFit"; version="1.0"; sha256="0fj75f4hs2pxwq8vwk2mjy0kigkf2fpamcy8zzwa1n7x6q109c02"; depends=[]; }; + heatmap_plus = derive { name="heatmap.plus"; version="1.3"; sha256="0rzffm15a51b7l55k0krk6w7v8czy3vpwz1qmbybr7av0pln7wn3"; depends=[]; }; + heavy = derive { name="heavy"; version="0.2-3"; sha256="17mr2i629hw38dadbl75rmkz9y3brc2yz3hap1vp607ya420cmv8"; depends=[]; }; + helloJavaWorld = derive { name="helloJavaWorld"; version="0.0-7"; sha256="0x0f64w5783mh0ryv0krpdzhicbv912y36h74h1qapcy5225fxh5"; depends=[rJava]; }; + helsinki = derive { name="helsinki"; version="0.9.12"; sha256="1bajxhzsg555xlkmp38b1mg69kaai814m3rl863v3xg988ing2yr"; depends=[rjson RCurl maptools]; }; + heplots = derive { name="heplots"; version="1.0-11"; sha256="0zbrkq62gcig9bils51dc4x7bgjskh1lp38diajifvypqmfhciph"; depends=[car MASS]; }; + hergm = derive { name="hergm"; version="1.3-11"; sha256="1kfh7ry84smxf3d0ykjr7d0ckh2dk9y63761f4pmskfxqx12w98a"; depends=[ergm]; }; + hett = derive { name="hett"; version="0.3-1"; sha256="1y0hr9g2pjwzc5azh095h33qidxhhmlvd1csamjnhwdphj5drzz0"; depends=[MASS lattice]; }; + het_test = derive { name="het.test"; version="0.1"; sha256="08kxp81dx32anh0k5b65x7w7madwnn9hiabdrk6ck6b6mx37x26v"; depends=[vars]; }; + hexbin = derive { name="hexbin"; version="1.26.3"; sha256="1srvpj5nzmrnk5l0j9rdr246j8fd07r44shc9mayv58qk8ivbhqy"; depends=[lattice]; }; + hexView = derive { name="hexView"; version="0.3-2"; sha256="19s87qxz9rjvzr64pv51wfd26jy5f00i8lwv39hhr6rh0jwngdly"; depends=[]; }; + hflights = derive { name="hflights"; version="0.1"; sha256="1rb6finck13i6949i6hsgfk90q4ybxh1m3is2mlw2m6087bpzfbd"; depends=[]; }; + hgam = derive { name="hgam"; version="0.1-2"; sha256="1flcc67n8kbh9m5phdfl587xg1x935zbp305y0gdmkc8vpkiwpcf"; depends=[grplasso lattice rgl]; }; + hglasso = derive { name="hglasso"; version="1.0"; sha256="1nfnyb9ns5jgqqdg6dmvdc7708j4d7picy8135pa3g7pnrfxs9mm"; depends=[glasso mvtnorm igraph fields]; }; + hglm = derive { name="hglm"; version="2.0-4"; sha256="0jdihcank1dx2k56mhwxlh2bbbpwrdblf9jgy6x68mly4b863239"; depends=[Matrix MASS]; }; + HGNChelper = derive { name="HGNChelper"; version="0.3.0"; sha256="1w1x8fkvwlm4xqfx3afg42hhsa459sxqacsiph088sr77lhd3acz"; depends=[]; }; + HH = derive { name="HH"; version="3.0-4"; sha256="11b1qvhdl1waskvvcdkdkljh5d3ql6ajsq0vg4fapprfkq4jamv1"; depends=[lattice latticeExtra multcomp reshape2 leaps vcd colorspace RColorBrewer]; }; + HHG = derive { name="HHG"; version="1.3"; sha256="0m8h460m5qv5zcs648kaw8w3p7nlgb88zybs7r9j0kya1xlqjwkm"; depends=[]; }; + hht = derive { name="hht"; version="2.0.1"; sha256="1xs6p2xqcnh3xixhv7wblbyv02rwd1pd8xj14n2jyrq1icl9idri"; depends=[EMD fields]; }; + HI = derive { name="HI"; version="0.4"; sha256="0i7y4zcdr6wcjy43lz9h8glzpdv0pz7livr95xb1j4p8zafykday"; depends=[]; }; + HIBAG = derive { name="HIBAG"; version="1.2.3"; sha256="08hg9l5il2zicbpg04biiqm99lj51ny6ias8hwxj2s4gyr1qd5ny"; depends=[]; }; + HiCseg = derive { name="HiCseg"; version="1.0"; sha256="1g7sw2nsq71la42nz4mfgi6y6kzwz4lcsqhrlinahw2sq1kxfp9b"; depends=[]; }; + HiddenMarkov = derive { name="HiddenMarkov"; version="1.7-0"; sha256="0223yw1ga2c2y1fqjgr3m4yw7w8cp5r0z5cz766qvbc5wv65bh59"; depends=[]; }; + HiDimDA = derive { name="HiDimDA"; version="0.2-1"; sha256="0i898f5ij0imw6iq6h1r5f84qb7g86c1r3ljnb23fkq2ki4z4igk"; depends=[locfdr]; }; + hierarchicalDS = derive { name="hierarchicalDS"; version="2.01"; sha256="0qdpdr8wk27zm1gf50awnmy8sghqq7mcdq30ahcyphmxmkm5cn1l"; depends=[truncnorm MASS mvtnorm Matrix coda spsurvey MCMCpack xtable mc2d]; }; + hierfstat = derive { name="hierfstat"; version="0.04-10"; sha256="1n0nn5liwvf3xc743vdxpfqsbr40n599f981gk49d9nq8qk0kggl"; depends=[gtools ade4]; }; + hierNet = derive { name="hierNet"; version="1.6"; sha256="08lifk92caa4l9nfb89rl6vby8sd1ba3ay7z29ffirsg7cx07qiw"; depends=[]; }; + hier_part = derive { name="hier.part"; version="1.0-4"; sha256="03acdgzkhbk4p0wxw2g1hzklmq9hzmdkkvfj742vzfswdd803yg9"; depends=[gtools]; }; + HIest = derive { name="HIest"; version="2.0"; sha256="0ik55kxhzjyg6z6072iz9nfaj7x1nvf91l1kysgvkjccr6jf3y86"; depends=[nnet]; }; + highfrequency = derive { name="highfrequency"; version="0.2"; sha256="0gq1szwqal792n1k14m51flbjz72vfym14wkxl3q48mwv2i4s772"; depends=[xts zoo]; }; + highlight = derive { name="highlight"; version="0.4.4"; sha256="03mch5waqkzb9pb4llgalbxdfn3h6adh05f3i43kscssc67bs30l"; depends=[]; }; + highr = derive { name="highr"; version="0.3"; sha256="1y0amfvdpqwq0n60fykbsir4jd1ynkwfcgadjnn1997amk9qja5x"; depends=[]; }; + highriskzone = derive { name="highriskzone"; version="1.1"; sha256="1qpk63jh44075b6fnhqx1iqjywzzwhvr6lry3vjlx0sfv1nqad6k"; depends=[spatstat ks]; }; + HiLMM = derive { name="HiLMM"; version="1.0"; sha256="1x3my51vzxlk9q7vj2ljpqinxw777953mhgzvbqildph4szh4xh4"; depends=[]; }; + hint = derive { name="hint"; version="0.1-1"; sha256="1n18j2hcb1qynhsln10nzryi20l5aqhr7i1aanww10y5dz573zi3"; depends=[]; }; + HiPLARM = derive { name="HiPLARM"; version="0.1"; sha256="0af68gfmc89nn1chmqay6ix0zygcp1hmylj02i7l6rx6vb06qw6w"; depends=[Matrix]; }; + hiPOD = derive { name="hiPOD"; version="1.0"; sha256="1i15ickz2s0kffh99qq30pl5hsl0lbj0kp55jnbv4x72hndzhmla"; depends=[rgl]; }; + hisemi = derive { name="hisemi"; version="1.0-319"; sha256="0pm7dsaaqrdhkvxsk2cjvk6qd2rqqmddmv012smnrivi7mpnvd4w"; depends=[Matrix Iso fda]; }; + HistData = derive { name="HistData"; version="0.7-5"; sha256="17s64hfs7r77p0wjzpbgz9wp3gjzbly2d0v784f9m2bka8gj6xhr"; depends=[]; }; + histogram = derive { name="histogram"; version="0.0-23"; sha256="0hrhk423wdybqbvgsjn7dxgb95bkvmbh573q1696634hvzfdm68c"; depends=[]; }; + HistogramTools = derive { name="HistogramTools"; version="0.3"; sha256="1wfvrznr578s2hc8ccs849pz4kjlyi4brdxhw919cvk758ahy9rv"; depends=[Hmisc ash stringr]; }; + hitandrun = derive { name="hitandrun"; version="0.4-1"; sha256="1p2wnib0ngdcz01ml3izl4k4a6ww5ygkk5050q4nzabl1gby9xg6"; depends=[rcdd]; }; + hive = derive { name="hive"; version="0.1-16"; sha256="1xaxnr8nfkji2b5f5dq2h01pkl20rm24wxnf1y1xv695v3j58ibd"; depends=[rJava XML]; }; + HiveR = derive { name="HiveR"; version="0.2-17"; sha256="1nbs79ikhp60nmhjd30vapn7aggpdw2f6dp5gz4g3fp82gld9llb"; depends=[RColorBrewer plyr tkrgl]; }; + HIV_LifeTables = derive { name="HIV.LifeTables"; version="0.1"; sha256="0qa5n9w5d5l1kr4827a34581q380xmpyzmmhhl300z1jwr0j94df"; depends=[]; }; + HK80 = derive { name="HK80"; version="0.0.1"; sha256="1qhknrqpspxrdxzf5kakans94db58bbhgpblvpwcyw4jrjmm0ng7"; depends=[]; }; + HLMdiag = derive { name="HLMdiag"; version="0.2.5"; sha256="1yim9m5q1m112aj7zhsw345l32bdj7lbw2mqpcxhjzv1lcknm5lq"; depends=[lme4 ggplot2 plyr reshape2 MASS Matrix Rcpp]; }; + hlr = derive { name="hlr"; version="0.0-4"; sha256="04w1hzjfg2ly9vm9ynh676fy74d9ncy3a1mak209z2ddgr3m7r2y"; depends=[MASS]; }; + hmeasure = derive { name="hmeasure"; version="1.0"; sha256="0wr0xq956glmhvy4yis3qq7cfqv9x82ci9fzx3wjvaykd16h0sx9"; depends=[]; }; + Hmisc = derive { name="Hmisc"; version="3.14-4"; sha256="1jpz1sxvcip1k7yc8wkxf68fplr6dv24pavblxmi823xq1pjq21y"; depends=[lattice survival Formula latticeExtra cluster]; }; + HMM = derive { name="HMM"; version="1.0"; sha256="0z0hcqfixx1l2a6d3lpy5hmh0n4gjgs0jnck441akpp3vh37glzw"; depends=[]; }; + HMMCont = derive { name="HMMCont"; version="1.0"; sha256="1drni4f72x83sprn65wnhw0pv1q8lfkgmxdr9h4rwv1accril85x"; depends=[]; }; + hmm_discnp = derive { name="hmm.discnp"; version="0.2-1"; sha256="0xqvg2hfcp4m8k2pkcvrbrlyv66m1hr0flwb0k5haj0y2h73g373"; depends=[]; }; + hmmm = derive { name="hmmm"; version="1.0-2"; sha256="057yfp1sgp1wvhdq0sfvs598zcq8dhrbqfc02lih5pnwacf96vpc"; depends=[quadprog MASS mvtnorm]; }; + HMMmix = derive { name="HMMmix"; version="1.0"; sha256="1wipyc80ywf8ahlc4hny8pawcx2js6zgwv981s4sydx56c4fy8f2"; depends=[mnormt]; }; + HMMpa = derive { name="HMMpa"; version="1.0"; sha256="14r2axg42by49qm6avgv7g3xnc29bxlrni5fhc5vdz0wygkcrqhn"; depends=[]; }; + HMP = derive { name="HMP"; version="1.3.1"; sha256="1r39mq8j071khza37ck7w4kvk1di71hhn5m4wnx9dak7nlcq2nwx"; depends=[MCMCpack dirmult]; }; + HMPTrees = derive { name="HMPTrees"; version="1.2"; sha256="0agp8w7rzr1byj01di89r3qy1vb9inb2zgys78mg8jnk7axi925l"; depends=[ape]; }; + HMR = derive { name="HMR"; version="0.3.1"; sha256="1lmxp46r5jr0r37sk9y080irbrf89rkzhv0943xv0f0l2dyyk415"; depends=[]; }; + hoardeR = derive { name="hoardeR"; version="0.0-1"; sha256="17720hg1zksgaiandbsq9ab9l0vkm3crg5275n5jyz37yrz9mka6"; depends=[httr XML]; }; + holdem = derive { name="holdem"; version="1.1"; sha256="07h4cbg7hx91hc6ypi6hbalzdd9qz9rfhjgk5sq1srnangwwnxlw"; depends=[]; }; + Holidays = derive { name="Holidays"; version="1.0-0"; sha256="1p7rwph50i0dwl7a6n394dq7sl9nb2y8p5ip5y6ql48ixjh4d078"; depends=[TimeWarp]; }; + homals = derive { name="homals"; version="1.0-5"; sha256="1azrwvdzn379in2sz9d94w2f2xp0d6iiayrv0bws44kvdzr95aqm"; depends=[rgl ape scatterplot3d]; }; + homeR = derive { name="homeR"; version="0.1"; sha256="0yq93b3wkgbnwzpyhx9c73sb9xgz7m3z4p5rflk3lmc0p53h81g5"; depends=[]; }; + homtest = derive { name="homtest"; version="1.0-5"; sha256="1lnqlg3dwq174ic6dbjllysw5fjy5kvvgbl6gvabjmcs66z27fp0"; depends=[]; }; + HotDeckImputation = derive { name="HotDeckImputation"; version="0.1.0"; sha256="1zj09fa5bqfw27zzard9a9a2aglg7ff8z2zzfyjcdz187l6g9gql"; depends=[]; }; + Hotelling = derive { name="Hotelling"; version="1.0-2"; sha256="0dzsqnn4c4av23qjnmacwc78i0xg355p1xwfmgipr04ivym0mqn0"; depends=[corpcor]; }; + hotspots = derive { name="hotspots"; version="1.0.2"; sha256="1cwcwin86y7afjhs8jwlz1m63hh70dcjag0msds4ngksvjh9gj2q"; depends=[lattice ineq]; }; + howmany = derive { name="howmany"; version="0.3-1"; sha256="045ck8qahfg2swbgyf7dpl32ryq1m4sbalhr7m5qdgpm62vz8h7f"; depends=[]; }; + HPbayes = derive { name="HPbayes"; version="0.1"; sha256="1kpqnv7ymf95sgb0ik7npc4qfkzc1zb483vwnjpba4f42jhf508y"; depends=[MASS mvtnorm corpcor numDeriv boot]; }; + HPO_db = derive { name="HPO.db"; version="1.2"; sha256="04mys72qajp7cn0vhzr9mv388d5a69kjvkwxjjskz24k91xwn4vz"; depends=[]; }; + HPOSim = derive { name="HPOSim"; version="1.2"; sha256="1bgakx9y1cqc54adm6d4zlqvd2smxq895bf68njsgj3ygrlglc2v"; depends=[HPO_db igraph]; }; + hqmisc = derive { name="hqmisc"; version="0.1-1"; sha256="0jcy2hb3dmzf9j4n92aq7247mx9w7n30wpsx0dkchqnjwlqwwncw"; depends=[]; }; + hrr = derive { name="hrr"; version="1.1.1"; sha256="17jzsgh2784y7jdwpa50v7qz99dw6k2n25sisnam6h1a39b96byn"; depends=[]; }; + HSAUR = derive { name="HSAUR"; version="1.3-3"; sha256="0lf6z9fgmbdhpvz2dyni5wi1ri6y6fikkf1px03pirlswm1mbchj"; depends=[]; }; + HSAUR2 = derive { name="HSAUR2"; version="1.1-9"; sha256="0sp51fr86lcx02kz4sqcppip8hbd4vdbh5n3jiq1197fcvamvb1y"; depends=[]; }; + HSAUR3 = derive { name="HSAUR3"; version="1.0-0"; sha256="1lzcpmmdczf2wq0s9kpriwn4q9grvhqhrzf3prpdq8lq280x9zx7"; depends=[]; }; + hSDM = derive { name="hSDM"; version="1.0"; sha256="0j1pl6vg9yypaikh89pwwbbpvkhxabgrbvza14bvqbp6v52c651l"; depends=[coda]; }; + hsicCCA = derive { name="hsicCCA"; version="1.0"; sha256="1d4lkjrihwhl3jrsj7250ccd90nfwpllyavc3mp15fhcy2jnjci8"; depends=[]; }; + hsmm = derive { name="hsmm"; version="0.4"; sha256="1fh8c5kfv4brygdq6bfkrhrhkm99mxl4ljb1mhp9nf2bjlla11mc"; depends=[mvtnorm]; }; + hsphase = derive { name="hsphase"; version="1.2.6"; sha256="1xwgxhlr54kmqpwlp9aphii95829hjpgz1xi3z9m9hd7hsd1fcp8"; depends=[snowfall Rcpp]; }; + HSROC = derive { name="HSROC"; version="2.1.7"; sha256="05gixmzmgdply9zhjpss54b50ch4b8586cik6c49naxcqxr0y5vd"; depends=[lattice coda MASS MCMCpack]; }; + HTMLUtils = derive { name="HTMLUtils"; version="0.1.5"; sha256="12r8x7b944lbzz3f4j6w88szq6j9gscbss3f5bzpisw33sr4wgx3"; depends=[R2HTML]; }; + hts = derive { name="hts"; version="4.2"; sha256="12ayz90c2ajasm54j7gvmzypifgdy24d2g9b1igyhikfnvn44yk1"; depends=[forecast SparseM]; }; + HTSCluster = derive { name="HTSCluster"; version="2.0.1"; sha256="093g7rs8kbmh7fn7kppb7a7h4zrngxajzc32dmk80dbbm7694271"; depends=[plotrix ggplot2 RColorBrewer]; }; + HTSDiff = derive { name="HTSDiff"; version="1.0.1"; sha256="0qpnvfgd3vhmcjim0dr78lz4xxpfvx1zz4giw501n0lhghg9cqgm"; depends=[plotrix HTSCluster]; }; + httpRequest = derive { name="httpRequest"; version="0.0.9"; sha256="1s71lpxv5n1syffckxnnxm5470b2lb2l7pikcm1r2j21j08g807f"; depends=[]; }; + httpuv = derive { name="httpuv"; version="1.3.0"; sha256="0fs2saz9g17069hkrh6r3wlzsbljv2dvq6sdlwh54dlm6skp7jm6"; depends=[Rcpp]; }; + httr = derive { name="httr"; version="0.3"; sha256="179cw0by3szzpy9w38v03m5k7fpa3dmkmfqi3y4as4sbv3ii4g9s"; depends=[RCurl stringr digest]; }; + huge = derive { name="huge"; version="1.2.6"; sha256="11njfd4i8q950apga6sdk84p4wk4qvp8bpg6yz9lgjrgj2hn14n2"; depends=[Matrix lattice igraph MASS]; }; + HUM = derive { name="HUM"; version="1.0"; sha256="1bq74l88jvscmq9ihv5wn06w2wng073ybvqb2bdx2dmiqlpv6jw2"; depends=[gtools Rcpp rgl]; }; + humanFormat = derive { name="humanFormat"; version="1.0"; sha256="0zwjbl8s5dx5d57sfmq6myc6snximc56zl88h8y1s1jqphyn9sir"; depends=[testthat]; }; + hwde = derive { name="hwde"; version="0.64"; sha256="1is39zknssqm98577sdjg8gn3h9wsraih19a9nd6n8mxdcsqivh4"; depends=[]; }; + HWEBayes = derive { name="HWEBayes"; version="1.4"; sha256="1rbffx6pn031a278ps9aqxcaq8yi73s5kf60za143ysbfxv9dphw"; depends=[MCMCpack mvtnorm]; }; + HWEintrinsic = derive { name="HWEintrinsic"; version="1.2.1"; sha256="1sg5lrc6kl5rr6f5awp100qpd1679745kixasiddiggzd8fhgb7q"; depends=[]; }; + HW_pval = derive { name="HW.pval"; version="1.0"; sha256="14nmyqw2d9cmn64789yc54fmiqanh6n1dizp7vj94h7b0jwq63yy"; depends=[]; }; + hwriter = derive { name="hwriter"; version="1.3"; sha256="12hs78m2pzjhjpv43qdc3lazf5qi5w1vpzqign6qpdrhm85xgvhi"; depends=[]; }; + hwriterPlus = derive { name="hwriterPlus"; version="1.0-3"; sha256="06hq493v702hy2mv73glav4az2wphzy3lqqkxjkpjpab00xc42d5"; depends=[hwriter TeachingDemos]; }; + hybridEnsemble = derive { name="hybridEnsemble"; version="0.1.1"; sha256="1hn6zfz22mgxv5qpwdgmn7a9snha7hdkbbqq3xicy37j8xypsab5"; depends=[kernelFactory ada rpart ROCR nnet e1071 NMOF GenSA Rmalschains pso AUC soma genalg reportr nnls quadprog tabuSearch glmnet]; }; + hybridHclust = derive { name="hybridHclust"; version="1.0-4"; sha256="1967p6crkrbnlfghd9x1alr2x57nqjl1zh58hhyshgla3xmdmhx5"; depends=[cluster]; }; + HybridMC = derive { name="HybridMC"; version="0.2"; sha256="1wgzfyk0scwq9s2sdmc91fj7r4d7zlgwgnj6mdiia8w88ja8kzqy"; depends=[coda]; }; + hydroApps = derive { name="hydroApps"; version="0.0-1"; sha256="1mf9kchrsnqsam2a8s0hksa4dfdrxcjijlafd0m2bca76bfdqky8"; depends=[nsRFA]; }; + hydrogeo = derive { name="hydrogeo"; version="0.2-2"; sha256="18ybphkvrghmv1i3mkmiibz75khnc1v6cawkyn71ar557q8w4613"; depends=[]; }; + hydroGOF = derive { name="hydroGOF"; version="0.3-8"; sha256="1ljk2dk5ydsg7qdizyzkbw0b2zdhnb3x9h965d94ygzg8nw5kbak"; depends=[zoo hydroTSM xts]; }; + HydroMe = derive { name="HydroMe"; version="2.0"; sha256="1a1d3lay94mzwk8n22l650h3p133npdf4aj63zgrdw4760p54rqf"; depends=[nlme minpack_lm]; }; + hydroPSO = derive { name="hydroPSO"; version="0.3-4"; sha256="12md94g78m7m1np36sadx0wxpb149pn5gd8yj2kw7fphb8g6a218"; depends=[Hmisc sp lattice zoo lhs]; }; + hydroTSM = derive { name="hydroTSM"; version="0.4-2-1"; sha256="0z5xw25w2fn67x2dw61msfdnp2dr2s2yi525fcjxn77339x9ksfr"; depends=[zoo xts e1071 gstat automap sp]; }; + HyperbolicDist = derive { name="HyperbolicDist"; version="0.6-2"; sha256="1wgqbx9ascyk6gw1dmvfz6hljvbh49gb9shr9qgf22qbq83waiva"; depends=[]; }; + hyperdirichlet = derive { name="hyperdirichlet"; version="1.4-9"; sha256="03c2xgfhfbpn1za84ajhvm0i5cpmfnz1makidrr2222addgyp9zx"; depends=[aylmer abind mvtnorm cubature]; }; + hypergeo = derive { name="hypergeo"; version="1.2-5"; sha256="00rqyw7xc4q6lqg0vy1jkb4rc1xbdgvqsmx58n6w2006zni54ss1"; depends=[elliptic contfrac]; }; + hyperSpec = derive { name="hyperSpec"; version="0.98-20140220"; sha256="1hyzmpbzzj09759lbfy1y0xlnsqadnpgyrpvjdbarsh4h9jqng1g"; depends=[lattice mvtnorm]; }; + hypervolume = derive { name="hypervolume"; version="0.9.9.7"; sha256="039blwjhx77qgl0mfnz78nmidr50hxcvcwfw26n5m3jy63pi8z08"; depends=[Rcpp rgl]; }; + HyPhy = derive { name="HyPhy"; version="1.0"; sha256="0994ymv7sswbp8qw3pay34s926cflw2hq2gnchw7rknybvlsrinq"; depends=[ape R_utils]; }; + hypothesestest = derive { name="hypothesestest"; version="1.0"; sha256="0g8sm386m1zm9i3900r62x83wb600cy8hqk7dlvbx6wcgrxg82sm"; depends=[]; }; + hypred = derive { name="hypred"; version="0.4"; sha256="08nqgw0h3zh4vyhfd1cngr6snz5n7skj3d9rg2qccz9pnjp7j1ab"; depends=[]; }; + hysteresis = derive { name="hysteresis"; version="2.0"; sha256="1g9d91djwi9k2q10zqak8fpmywnwmha1pm18g2hmwzrqrwnr6dh9"; depends=[car msm nlrwr]; }; + hzar = derive { name="hzar"; version="0.2-5"; sha256="000l4ki3hvznnhkxc5j422h5ifnsfqalv666j48yby1hsf1lc3kg"; depends=[MCMCpack foreach coda]; }; + IASD = derive { name="IASD"; version="1.0.7"; sha256="0a25sd82fxnmz3f4iaxhc69cdfb7xmh7wi79wv11sbw9cv2pl7kr"; depends=[]; }; + IAT = derive { name="IAT"; version="0.1"; sha256="1fjx053352qrxwhcbkqslwcnrkafray8hqm9ziqyhpphbl98kwjx"; depends=[data_table ggplot2]; }; + ibd = derive { name="ibd"; version="1.1"; sha256="1p7dw74qpbdalb8vq8jixjhizjl2zc8wrl28mzavw89lbragvi6k"; depends=[lpSolve MASS]; }; + IBDhaploRtools = derive { name="IBDhaploRtools"; version="1.5"; sha256="14mp81xsjmha2zkyy57fzn41ph7m8h7z82sz1pizvgdmahmzkg87"; depends=[]; }; + ibdreg = derive { name="ibdreg"; version="0.2.5"; sha256="1kaa5q1byi30wzr0mw4w2cv1ssxprzcwf91wrpqwkgcsdy7dkh2g"; depends=[]; }; + IBDsim = derive { name="IBDsim"; version="0.9-2"; sha256="01ky69mpi404a3j8gv32ha1fbzr1f9c15a5b3lz6bg172qcxb6zs"; depends=[paramlink]; }; + IBHM = derive { name="IBHM"; version="1.1-11"; sha256="1m0zxlybcak2v5c4spgaa39ngb2hryak4xd875jryk1dcnk9c702"; depends=[DEoptim cmaes Rcpp]; }; + Iboot = derive { name="Iboot"; version="0.1-1"; sha256="1fahh86kgv2axj2qg14n87v888sc0kb567s6zr3fh5zv361phwkq"; depends=[]; }; + ibr = derive { name="ibr"; version="1.4.5"; sha256="0nw2j232br06l30v3cn4qcr25vbh911v2mz7nfail40sqxc6wwc4"; depends=[]; }; + IBrokers = derive { name="IBrokers"; version="0.9-10"; sha256="1kpmmiar5762byy6pl8x8drpsw8as9ilbqzgqhfrvj5rd31mylz6"; depends=[xts]; }; + iBUGS = derive { name="iBUGS"; version="0.1.4"; sha256="0vsxy8pnbix0rg7ksgywx7kypqb5ngkxhldh3cisjkvdv638ybps"; depends=[R2WinBUGS gWidgetsRGtk2]; }; + IC2 = derive { name="IC2"; version="1.0-1"; sha256="03jjb62msxjxdg9l3zd1ns0d2w37hkxy5pnjgaywxw3vfk4zwfj9"; depends=[]; }; + ic50 = derive { name="ic50"; version="1.4.2"; sha256="1a5ddmbdfr3ls132fvalbkh4yaawv9k58rgpy54s5qddrm6aas2s"; depends=[]; }; + icaOcularCorrection = derive { name="icaOcularCorrection"; version="3.0.0"; sha256="1vmvarc2apipd0vlhprc5wpgh8i38m5myj1gqdymjrnky0azq17f"; depends=[fastICA mgcv]; }; + icapca = derive { name="icapca"; version="1.0"; sha256="1m8z5444y06wadc63zlb1x3qfgam81j78nvzzxlpxijydzh8xla8"; depends=[]; }; + ICC = derive { name="ICC"; version="2.2.1"; sha256="1xl8x8ddbrk8ma57mybmmv9m096wlpbas7hsmd2c6qzcrlz6i7wa"; depends=[]; }; + ICE = derive { name="ICE"; version="0.69"; sha256="04p8lakaha28mdh965w0ppyxfrz5ssi1n9xifvsbn3ihdra67rip"; depends=[KernSmooth]; }; + ICEbox = derive { name="ICEbox"; version="1.0"; sha256="1m3p0b93ksrcsp45m4gszcz01cwbfpj4ldar6l0q3c9lmyqsznx8"; depends=[sfsmisc]; }; + ICEinfer = derive { name="ICEinfer"; version="1.0-1"; sha256="0gjgr1r33w6d5ra0njh15lj46lw6v751yl8iqrdf4a5pazs7w3lm"; depends=[lattice]; }; + icensmis = derive { name="icensmis"; version="1.1"; sha256="18raaylj1y753xw9x1ghsgvli4rp5npl7ca6xcicwklg2jmjwfws"; depends=[]; }; + ICGE = derive { name="ICGE"; version="0.3"; sha256="0xin7zml1nbygyi08hhg3wwr2jr1zcsvrlgia89zp4xanxlzgaqa"; depends=[MASS cluster]; }; + ic_infer = derive { name="ic.infer"; version="1.1-4"; sha256="02dsp1vmh8226mf9mx571b72nvcg0bxkll9yybynj9mbxm5db95w"; depends=[quadprog mvtnorm boot kappalab]; }; + iCluster = derive { name="iCluster"; version="2.1.0"; sha256="09j36xv87d382m5ijkhmp2mxaajc4k97cf9k1hb11ksk7fxdqz6r"; depends=[lattice caTools gdata gtools gplots]; }; + icomp = derive { name="icomp"; version="0.1"; sha256="0xpjbfb9lxgsby9fj5lbb4nkl6zy8k4whqpgdqq5ndzy7zgq1lvm"; depends=[]; }; + ICS = derive { name="ICS"; version="1.2-4"; sha256="1sfm9ymrrl72jzg8gsdw6v4q20i4s2w4syyr7brlvan136khpqyn"; depends=[mvtnorm survey]; }; + ICSNP = derive { name="ICSNP"; version="1.0-9"; sha256="0kisk7wk0zjsr47hgrmz5c8f2ljsl7x4549a1rwzsfkjz8901qka"; depends=[mvtnorm ICS]; }; + idbg = derive { name="idbg"; version="1.0"; sha256="1rxmj04hswxybrg7dfib3mjy8v8mdiv13zwbscp2q55z55hhf1m5"; depends=[]; }; + identity = derive { name="identity"; version="0.2-1"; sha256="1j5wb5cj5j49in2g6r1shdm4ri4cfzj22hpqazvcmq4dm291sdi9"; depends=[]; }; + IDPmisc = derive { name="IDPmisc"; version="1.1.17"; sha256="0nbwdyg9javjjfvljwbp2jl0c6414c11zb2pirmm5pmimaq9vv0q"; depends=[lattice]; }; + idr = derive { name="idr"; version="1.1.1"; sha256="0shwwyvc4j32grxanhyqk66aykzy5bzic2004krvzbmcb5cr1sgb"; depends=[]; }; + iDynoR = derive { name="iDynoR"; version="1.0"; sha256="01702vl10191mbq2wby1m0y6h8i6y6ic4pa83d27cg3yccsrhziz"; depends=[XML vegan]; }; + ieeeround = derive { name="ieeeround"; version="0.2-0"; sha256="0xaxrlalyn8w0w4fva8fd86306nvw3iyz44r0hvay3gsrmgn3fjh"; depends=[]; }; + ifa = derive { name="ifa"; version="7.0"; sha256="1cxafd7iwvyidzy27lyk1b9m27vk785ipj9ydkyx9z1v0zna2wnl"; depends=[mvtnorm]; }; + iFad = derive { name="iFad"; version="3.0"; sha256="0jrl9bayihp3wb4k5w9kc71qlsdxk7vl83ydfibx2bg79c4hf3cs"; depends=[Rlab MASS coda ROCR]; }; + ifs = derive { name="ifs"; version="0.1.4"; sha256="0fzani8rnn4rdwlghq967hhi4zfjnk3gwpk3v6wys738xj7yfwp1"; depends=[]; }; + ifultools = derive { name="ifultools"; version="2.0-0"; sha256="0xgd4j09kixsv653cj5h1kyf9jfzz8nhc85xixbcpz3yn0fqbn00"; depends=[splus2R MASS]; }; + iGasso = derive { name="iGasso"; version="1.1-1"; sha256="1j12ynh4fmhql0adk12fm5dn3f1b88ccprc7vpwj65f7jv4cx0lg"; depends=[lattice]; }; + IgorR = derive { name="IgorR"; version="0.7.1"; sha256="1ahj1ckzjffsskicdy2b70pzx5cn2r0s22yg1ajwiyy4ykwcg4pk"; depends=[bitops]; }; + igraph = derive { name="igraph"; version="0.7.1"; sha256="1nvb30zjjw861idbd8zap9qqg22k87zdi6qqvjf1s29v7hkx7kq7"; depends=[Matrix]; }; + igraphdata = derive { name="igraphdata"; version="0.2"; sha256="0hm757fc2snqlav3wx1vdmwy2gr5cskig97c2zlvk88sfwgx4i2m"; depends=[]; }; + igraphtosonia = derive { name="igraphtosonia"; version="1.0"; sha256="0vy9jnpjp68l8s0hi1l57j9p41c543h3iqv16pwl550f38zqp8j6"; depends=[igraph]; }; + IM = derive { name="IM"; version="1.0"; sha256="1f1vr5zfqnanc5xmmlfkjkvxwbyyysi3mcvkg95p8r687a7zl0cx"; depends=[png jpeg bmp]; }; + Imap = derive { name="Imap"; version="1.32"; sha256="0b4w0mw9ljw6zxwvi0qzb08yq9n169lzgkdcwizrd07x9k9xjxs7"; depends=[]; }; + imguR = derive { name="imguR"; version="0.1.5"; sha256="052381fppz81bdc0sxnqpl9s9hzsgv675mnpgyw673chp05hi5ix"; depends=[XML RCurl httr]; }; + IMIS = derive { name="IMIS"; version="0.1"; sha256="09zb48vdj0i3vf8vxrs07xwb9ji27vp2fyvmg6jfq631licsryc2"; depends=[mvtnorm]; }; + ImpactIV = derive { name="ImpactIV"; version="1.0"; sha256="1bb6gw1h15hscr71hy779k2x5ywzx63ylim3hby02d7fnnj46p58"; depends=[nnet]; }; + imprProbEst = derive { name="imprProbEst"; version="1.0.1"; sha256="09y8yd9sw0b79ca45ryi7p82vy5s8cx0gg603rlc39lgwcdv45i3"; depends=[inline lpSolve]; }; + imputeMDR = derive { name="imputeMDR"; version="1.1.2"; sha256="0ds5a4wav9vb9z5nji8hv5l76310rd970xf702fd0ckx1sh6rgd7"; depends=[]; }; + imputeYn = derive { name="imputeYn"; version="1.1"; sha256="12hdx7bwpm4jickpbj7cswjsl6f772ibzaf3d79q24n24ymw576h"; depends=[quadprog emplik mvtnorm]; }; + in2extRemes = derive { name="in2extRemes"; version="1.0-1"; sha256="0k5qczs54b7bl71my8xmnqly91g7c5skj0lm2g8dk4hgrx6wwsrf"; depends=[extRemes]; }; + inarmix = derive { name="inarmix"; version="0.4"; sha256="11a1vaxq22d5lab07jp5pw0znkaqj6bmkn6vsx62y6m4mmqk04yr"; depends=[Matrix Rcpp]; }; + incReg = derive { name="incReg"; version="1.0"; sha256="1kckx64hn8g9wvjg7g9xild5hclim1rs7z2m7rgmbdwlbayxpwgv"; depends=[car]; }; + IndependenceTests = derive { name="IndependenceTests"; version="0.2"; sha256="04qfh2mg9xkfnvp6k7w1ip4rb663p3pzww9lyprcjvr3hcac7gqa"; depends=[xtable]; }; + indicspecies = derive { name="indicspecies"; version="1.7.1"; sha256="11z166qaywpdplx4b73wsziygi41dbmk05gjnl4wdim7iv6im9ps"; depends=[permute]; }; + ineq = derive { name="ineq"; version="0.2-11"; sha256="1vadgqcl8wqhryfwdn5ih7bxc6c1xqpkfyxv72xzfzs10wws9v3l"; depends=[]; }; + InfDim = derive { name="InfDim"; version="1.0"; sha256="0rh3ch0m015xjkxy08vf9pc6q7azjc6sgicd2j6cwh611pqq39wq"; depends=[]; }; + inference = derive { name="inference"; version="0.1.0"; sha256="0j92isfkbhk13yx2hd3a5dd7ikcbgjc04zisd1n5kmg6ajw2aj6r"; depends=[sandwich]; }; + InferenceSMR = derive { name="InferenceSMR"; version="1.0"; sha256="13d3v8kyk6br33659jgql6j1nqmnd8zszqrwfw2x3khkiqzgdmhk"; depends=[survival]; }; + inflection = derive { name="inflection"; version="1.1"; sha256="1nb1pf07c371vwgplfyjs3q1iqgb5hyk9czxqrjiy18g8p7zdln2"; depends=[]; }; + influence_ME = derive { name="influence.ME"; version="0.9-4"; sha256="1smvhr72vnds20x71986idk6rak69g28dddlf9g2ivg0ajkji5q9"; depends=[lme4 Matrix lattice]; }; + influence_SEM = derive { name="influence.SEM"; version="1.2"; sha256="066h8zhqbai07yg9p3js9m2a1ya050kp4inbfhwc3b8gwpajg9h1"; depends=[lavaan]; }; + infoDecompuTE = derive { name="infoDecompuTE"; version="0.5.1"; sha256="1aigd1fvpdqjplq1s1js0sy8px68q73lbp5q591rn52c77smdhaj"; depends=[MASS]; }; + informR = derive { name="informR"; version="1.0.04"; sha256="0s40hlilk8fjld2m43f2m50a3764qgnv07y5jwv60a8d0nf4gpa2"; depends=[abind relevent]; }; + infotheo = derive { name="infotheo"; version="1.1.1"; sha256="12c16r2v5bn4dxwcihqiicw2j13ar971478qc3n109f5mxxmxywq"; depends=[]; }; + infutil = derive { name="infutil"; version="1.0"; sha256="02d0hfbkdqjj0lm1fzwwxy60831kbcjn2m4rfblpib0krkbpz72n"; depends=[ltm]; }; + INLABMA = derive { name="INLABMA"; version="0.1-4"; sha256="18a5hz7yvw6xikv7qn6r8whmxsr7q10fywj65rnz2rw1f2rdhq5q"; depends=[Matrix spdep]; }; + inline = derive { name="inline"; version="0.3.13"; sha256="1dijlcnm7wfd6jgy6wsj6imwg43f91cl7iiz5j2jhhavw2pczr62"; depends=[]; }; + inlinedocs = derive { name="inlinedocs"; version="2013.9.3"; sha256="13vk6v9723wlfv1z5fxmvxfqhaj68h0x3s2qq9j6ickr4wakb4ar"; depends=[]; }; + InPosition = derive { name="InPosition"; version="0.12.7"; sha256="1f7xb2kxikmja4cq7s1aiwhdq27zc6hghjbliqqpm8ci8860lb8p"; depends=[prettyGraphs ExPosition]; }; + insideRODE = derive { name="insideRODE"; version="2.0"; sha256="1ffndk8761cpkririb3g1qsq9nwmh82lcrpql9i5fksdprvdjzcw"; depends=[deSolve nlme lattice]; }; + insol = derive { name="insol"; version="1.1.1"; sha256="0zbawkp4qb0kqb7y9ibiyy8sa9rfgbzwmcdswx6s87p0h7brrqn6"; depends=[]; }; + intamap = derive { name="intamap"; version="1.3-37"; sha256="17l1bifks0vsk0a3bj2g4w8qrvhmdh0p145kmd09223x9yc4mc9v"; depends=[sp gstat automap mvtnorm MASS evd]; }; + intamapInteractive = derive { name="intamapInteractive"; version="1.1-10"; sha256="073k6sdds40fmlbw1xnp3x5sc9qdyq2s1bhp7av4jjm930hsvsrn"; depends=[intamap spcosa spatstat automap gstat]; }; + intcox = derive { name="intcox"; version="0.9.3"; sha256="1m1lzmymh2pk570k6nxq3nj7wxkvs1s3nvz8cb456fnv72ng8fap"; depends=[survival]; }; + integrOmics = derive { name="integrOmics"; version="2.55"; sha256="1c9vkhvnndhs3h9qzcg3pvizjk9rhgk8gccaxh33spgr4rql8vcw"; depends=[]; }; + Interact = derive { name="Interact"; version="1.0"; sha256="14mxqbr2ivwihnpbwmb9xf70p0svp4bi7l9v1c45vr1x9lyqkxgd"; depends=[]; }; + InteractiveIGraph = derive { name="InteractiveIGraph"; version="1.0.6.1"; sha256="0srxlp77xqq0vw2phfv7zcnqswi2i5nzkpqbpa5limqx00jd12zy"; depends=[igraph]; }; + intergraph = derive { name="intergraph"; version="2.0-0"; sha256="0y5cd7y08p86fxm4zqraj81sj5a5h7725wvzcyxd8p1q3ky2sj9f"; depends=[network igraph]; }; + Interpol = derive { name="Interpol"; version="1.3.1"; sha256="1598lnnrcxihxysdljphqxig15fd8z7linw9byjmqypwcpk6r5jn"; depends=[]; }; + Interpol_T = derive { name="Interpol.T"; version="2.1.1"; sha256="1fbsl1ypkc65y6c0p32gpi2a2aal8jg02mclz7ri57hf4c1k09gz"; depends=[date chron]; }; + InterVA4 = derive { name="InterVA4"; version="1.2"; sha256="0ic78i7vnvb6c3iz1gv6k69q9n0894rzy26df0zd0gd55hral1fx"; depends=[]; }; + interval = derive { name="interval"; version="1.1-0.1"; sha256="1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8"; depends=[survival perm MLEcens]; }; + intervals = derive { name="intervals"; version="0.14.0"; sha256="0hqifkb8pbx0v42z3s78nm38b3ixi0vycq8kba4mv3w8v7zcfbxb"; depends=[]; }; + interventionalDBN = derive { name="interventionalDBN"; version="1.2"; sha256="0byqpfn2dv045f0kd36kci4amg6vivsilapxx8r513yl9diz3vy2"; depends=[]; }; + IntLik = derive { name="IntLik"; version="1.0"; sha256="13ww5bsbf1vnpaip0w53rw99a8hxzziibj7j66cm31jmi8l6fznf"; depends=[maxLik]; }; + intpoint = derive { name="intpoint"; version="1.0"; sha256="0zcv64a0clgf1k3ylh97q1w5ddrv227846gy9a68h6sgwc0ps88b"; depends=[]; }; + intReg = derive { name="intReg"; version="0.1-2"; sha256="1sm7v4fnfsdhyqr3q8dms0ifwb00hzf3x1g0fpm7xldlqc3wf6pr"; depends=[maxLik sets sets]; }; + intRegGOF = derive { name="intRegGOF"; version="0.85-1"; sha256="0fyvhl6jmi6krfbimsq61dhixlz9h9jxk4yjvwbx2vl8d9fnnr54"; depends=[]; }; + introgress = derive { name="introgress"; version="1.2.3"; sha256="1j527gf7pmfy5365p2j2jbxq0fb0xh2992hj4d7dxapn4psgmvsk"; depends=[nnet genetics RColorBrewer]; }; + intsvy = derive { name="intsvy"; version="1.3"; sha256="0743kn95njgv31yhl21h35k9fv78czdw3w669wsvzf35gasxak3y"; depends=[memisc foreign plyr]; }; + investr = derive { name="investr"; version="1.0.1"; sha256="1j598kirf21mcwjy6m48nif8f92aawl9dkpbvp19xbbkxz6jrxfj"; depends=[]; }; + invGauss = derive { name="invGauss"; version="1.1"; sha256="0l93pk2sh74dd6a6f3970nval5p29sz47ynzqnphx0wl3yfmmg9c"; depends=[survival optimx]; }; + ipdmeta = derive { name="ipdmeta"; version="2.4"; sha256="0k9wqpmrvqdh73brmdzv86a2dbyddjyyyqzqgp1vqb3k48k009s2"; depends=[nlme]; }; + ipfp = derive { name="ipfp"; version="1.0"; sha256="1hpfbgygnpnl3fpx7zl728jyw00y3kbbc5f0d407phm56sfqmqwi"; depends=[]; }; + iplots = derive { name="iplots"; version="1.1-7"; sha256="052n8jdhj8gy72xlr23dwd5gqycqnph7s1djg1cdx2f05iy693y6"; depends=[rJava png]; }; + IPMpack = derive { name="IPMpack"; version="2.1"; sha256="08b79g5a9maxnxladvc2x2dgcmm427i8p6hhgda3mw2h5qmch2q3"; depends=[Matrix MASS nlme]; }; + ipred = derive { name="ipred"; version="0.9-3"; sha256="07mw1mdlczlpy232n2sacwncdjcsn6mv7rrzk9xvl2g85pn3bhjl"; depends=[rpart MASS survival nnet class prodlim]; }; + IPSUR = derive { name="IPSUR"; version="1.5"; sha256="0brh3dx7m1rilvr1ig6vbi7p13bfbblgvs8fc114f08d90fczwnq"; depends=[]; }; + ipw = derive { name="ipw"; version="1.0-10"; sha256="15wpjfkvlfhpwsvb5hbp8f5cp0zr20f6c0iym39api71ahn14ma0"; depends=[boot geepack MASS nlme nnet survey survival]; }; + IQCC = derive { name="IQCC"; version="0.6"; sha256="0gsnkdl4cfxzq6pm9g4i1g23mxg108j3is4x69id1xn2plf92m04"; depends=[qcc MASS micEcon miscTools]; }; + iqLearn = derive { name="iqLearn"; version="1.2"; sha256="160nl63bxr9ira7v89ags9fm7zd5v09h1820i8bq5wxxfcyjarja"; depends=[]; }; + irace = derive { name="irace"; version="1.04"; sha256="00ckh02i9hrzccv7pfpkg2cmvk2spcv6xamyilgwi6f9rkx43164"; depends=[]; }; + iRefR = derive { name="iRefR"; version="1.13"; sha256="17kjfga62xc4s1kii5clxszbag2dr1dyxfm7jasr20prx28ya6pp"; depends=[igraph]; }; + iRegression = derive { name="iRegression"; version="1.2"; sha256="1fn25xnrvgx2ayhss136rxn1h3c9pvq2gmb5kbp92vsf07klvh6v"; depends=[mgcv]; }; + irlba = derive { name="irlba"; version="1.0.3"; sha256="1h2ymk9hg9xj2075w715742j23jl7kqa4cgzl1jvr48gcysq5byy"; depends=[Matrix]; }; + irr = derive { name="irr"; version="0.84"; sha256="0njxackqj8hyf9j1yszwxbnaxgp27fc2bwyyf7dip72wc12f81n5"; depends=[lpSolve]; }; + irtoys = derive { name="irtoys"; version="0.1.7"; sha256="11nz675haigs6vg08qjibs8yccy2pbz0b9r8761fs8gw3n7bpfz4"; depends=[sm ltm]; }; + irtProb = derive { name="irtProb"; version="1.2"; sha256="12wnvbzkh0mx9i3iyh1v2n2f2wjsjj7ad3dgv9xj949x4nbz16j0"; depends=[lattice moments]; }; + irtrees = derive { name="irtrees"; version="0.1.0"; sha256="03jmfyx1ia987zhi74fmmcdz70wnm8c7z5z30rwzd1cs11dijjwv"; depends=[]; }; + isa2 = derive { name="isa2"; version="0.3.3"; sha256="0czviglmbb7hmhghrg4hla4xhbjr98a5ivqkbq70rnfmqzffcxcz"; depends=[]; }; + ISBF = derive { name="ISBF"; version="0.2"; sha256="0vhxazbm56pli8m931l1kkica4spf50yclr3yhbwx3539775421a"; depends=[]; }; + iScreen = derive { name="iScreen"; version="1.0"; sha256="09iyimzrx7510xamhl6w1f7p6j096wh5yck9zgwbk87mvabqynmg"; depends=[maptree]; }; + isdals = derive { name="isdals"; version="2.0-1"; sha256="0r4dwfz18aai38wg213pn3gny9sh42nm19p6swxmzrkrigiwy4qa"; depends=[]; }; + ISDA_R = derive { name="ISDA.R"; version="1.0"; sha256="0w6p2iy6s7fy8pw2cf4b5zhqcgjjwd5bkax1aqflaaj4ppmfx64v"; depends=[scatterplot3d]; }; + IsingFit = derive { name="IsingFit"; version="0.2.0"; sha256="03858wnz9si8r9qlwg5hx0xai4kfn6nnh0mfmias6f5wkgjj0niv"; depends=[qgraph Matrix glmnet]; }; + isingLenzMC = derive { name="isingLenzMC"; version="0.1.1"; sha256="1bm2pdq2pi3c2fgyzsp20yv68zn0hyfxhnr2133vnxvrym4is0z3"; depends=[]; }; + IsingSampler = derive { name="IsingSampler"; version="0.1.1"; sha256="068fy16fw2ja25mllyw4z3bn17pxdq17zg75zwlwmljds6psa1gk"; depends=[Rcpp plyr]; }; + ISLR = derive { name="ISLR"; version="1.0"; sha256="0gmhvsivhpq3x8a240lgcbv1qzdgf6wxms4svak1501clc87xc6x"; depends=[]; }; + ismev = derive { name="ismev"; version="1.39"; sha256="0z5pam5lq72jv13gy40l35nvpk5hfcg3sq14mwhjqd129670gjbv"; depends=[mgcv]; }; + Iso = derive { name="Iso"; version="0.0-15"; sha256="18ig772xxsbj1vhrv7b20hrglnnz742s1mjzhwx02bpjhica4a46"; depends=[]; }; + isocir = derive { name="isocir"; version="1.1-3"; sha256="1bx68n9wyfs2dcgph66rsy0jw8hjkl5kw212l0563kz3m1nik9sr"; depends=[circular combinat]; }; + ISOcodes = derive { name="ISOcodes"; version="2014.03.24"; sha256="0a6ap9a5h88c6iqzlqfalcg1fwm9x7rm3c8z9vwxfw6jrjs6v2cp"; depends=[]; }; + IsoGene = derive { name="IsoGene"; version="1.0-22"; sha256="097xxgqdk2j7y22qflrgss9pgbyg01rcw5088b43pbv3sc85fqcs"; depends=[Iso xtable ff]; }; + isopam = derive { name="isopam"; version="0.9-12"; sha256="16zkw6y57i46w6v6z8zh0p2mapqry35ibl54vpb5mwp6six2hklk"; depends=[vegan cluster]; }; + isopat = derive { name="isopat"; version="1.0"; sha256="0fznvgycyd35dh7pbq1xhp667gsficlmycn5pcrqcbs89069xr1s"; depends=[]; }; + isotone = derive { name="isotone"; version="1.0-1"; sha256="1miq1d35kl5br8jl0lv2jjn8nbhjzy92lqd4jzgi374g7cxyclp1"; depends=[]; }; + isotonic_pen = derive { name="isotonic.pen"; version="1.0"; sha256="1lgw15df08f4dhrjjfr0jqkcvxwad92kflj2px526pcxwkj7cj3i"; depends=[coneproj Matrix]; }; + IsotopeR = derive { name="IsotopeR"; version="0.4.7"; sha256="18gwmh4nprj4z0ar1w8npj2ymxihw5ydwa33g25mimjk8y2cs0x5"; depends=[coda fgui runjags]; }; + ISOweek = derive { name="ISOweek"; version="0.6-2"; sha256="1f1h8pgjaa14cvaj8ldl87b4vslxwvyfj46m0hkylwp73sv3g2mm"; depends=[stringr]; }; + isva = derive { name="isva"; version="1.8"; sha256="09mrvvk09j460dzi45z8hwdpmibfshsii5dcp38g13czr40d48na"; depends=[fastICA]; }; + ISwR = derive { name="ISwR"; version="2.0-6"; sha256="1ms4lm1skfqaq4mnm03kvjb7kaxdzv72s6i77zp7z17gzfa40c9h"; depends=[]; }; + iteRates = derive { name="iteRates"; version="3.1"; sha256="1dycmlm3vldc60wz2jjdfbla14383911zfahgal5mx8whxwq95c5"; depends=[partitions VGAM MASS ape apTreeshape geiger gtools]; }; + iterators = derive { name="iterators"; version="1.0.7"; sha256="1zwqawhcpi95fx4qqj4cy31v5qln2z503f7cvv9v5ch3ard4xxqv"; depends=[]; }; + iterLap = derive { name="iterLap"; version="1.1-2"; sha256="0ixh9aw115496ib0iswfsj97rjcd2f02z116dg57vl9hhzh28f13"; depends=[quadprog randtoolbox]; }; + iterpc = derive { name="iterpc"; version="0.2.3"; sha256="1ynablx06hqhryp0ibzl4f7slk1n15krym6mmki0x42scdgr6m4f"; depends=[Rcpp polynom]; }; + itertools = derive { name="itertools"; version="0.1-3"; sha256="1ls5biiva10pb1dj3ph4griykb9vam02hkrdmlr5a5wf660hg6xn"; depends=[iterators]; }; + itree = derive { name="itree"; version="0.1"; sha256="164zgr142hcp9plnbccs6m823p4m0prk73bvp54bc7bqnqmc3d9a"; depends=[]; }; + its = derive { name="its"; version="1.1.8"; sha256="1g9qmdrw7qiw0xiryf7bf5m9prrba7r11jyzprzdglc1akizav8a"; depends=[Hmisc]; }; + itsmr = derive { name="itsmr"; version="1.5"; sha256="0l9m5is6d6pkpfkihx0jir5iv8zmqqav8vh9bkkpqv5iz61p4kxb"; depends=[]; }; + IUPS = derive { name="IUPS"; version="1.0"; sha256="01pv03ink668fi2vxqybli0kgva13gxhqfdxkwz6qk5rnpzwvf5w"; depends=[R2jags Matching boot]; }; + ivbma = derive { name="ivbma"; version="1.02"; sha256="0ay7ghrygllpgh7cagrk1f56hxw1s1wfv4bap78javiyj6jgwfzy"; depends=[]; }; + ivfixed = derive { name="ivfixed"; version="1.0"; sha256="0a26zrkvz0ffq4zxdx5vhr1nvsi9c15s6gvc1zy2pddjz31x2xi5"; depends=[Formula]; }; + ivivc = derive { name="ivivc"; version="0.1.9"; sha256="0m992snhvjbw9crigvksajpdj7rqyxx20nx72z0irc2vvfsynlnb"; depends=[deSolve reshape sciplot png]; }; + ivpack = derive { name="ivpack"; version="1.1"; sha256="058g73n3gbpwdav4n78n1wfskfp518wkk220a55x5h82i77a5n6a"; depends=[AER sandwich lmtest]; }; + iWeigReg = derive { name="iWeigReg"; version="1.0"; sha256="09ajbqllr4ajmpk8qs6qw019fx8a7vsabm37867zycssn77z9nc8"; depends=[MASS trust]; }; + iwtp = derive { name="iwtp"; version="1.0.0"; sha256="1q3nrp526kzkz74vjxvzm6dgdwlsmx7n034a06sqw210z9mqw3dr"; depends=[survival]; }; + jaatha = derive { name="jaatha"; version="2.3"; sha256="0xjcl2man8aal6zlzjga75znbh0y9a7sbgqa0425nsl2h6mzal8v"; depends=[foreach phyclust Rcpp plyr]; }; + jackknifeKME = derive { name="jackknifeKME"; version="1.0"; sha256="1vkxp6z4fb73azndk6iis2ckv3ch5c5lrpf5x4ah56z3wd785v9v"; depends=[imputeYn survival]; }; + jackstraw = derive { name="jackstraw"; version="1.0"; sha256="1irfzivy7c9fb2pr98flx05s5hkk6sid1hkd5b3k9m9mgs6ixbfy"; depends=[corpcor]; }; + JADE = derive { name="JADE"; version="1.9-91"; sha256="142a7cq2rpl746m1lcsr5da50zhc0zddxzc8dxddc87qszf920jw"; depends=[clue]; }; + JASPAR = derive { name="JASPAR"; version="0.0.1"; sha256="0wiyn7cz45hwy9zkvacx28zdrg78q6715cg4r9xgcb39q25s0dcy"; depends=[gtools]; }; + JavaGD = derive { name="JavaGD"; version="0.6-1"; sha256="13n6xzbbjgd0bpwv2xgm3dlscg87wh32q6fcq50kk6byp6yv05sc"; depends=[]; }; + JBTools = derive { name="JBTools"; version="0.7.2.6"; sha256="1wpkv8841kzpw2iqacp6k0y182lsvfl1ri54aq1hg4ypb51b8ibb"; depends=[foreach gplots colorspace plotrix]; }; + JGL = derive { name="JGL"; version="2.3"; sha256="1351iq547ln06nklrgx192dqlfnn03hkwj3hrliqzfbmsls098qc"; depends=[igraph]; }; + JGR = derive { name="JGR"; version="1.7-16"; sha256="0iv659mjsv7apzpzvmq23w514h6yq50hi70ym7jrv948qrzh64pg"; depends=[rJava JavaGD iplots]; }; + JJcorr = derive { name="JJcorr"; version="0.01"; sha256="1mbzmzrja8a086z0hqibk2l9b3sa0481mjjz014hb0bjlavgfkv3"; depends=[fCopulae mvtnorm]; }; + JM = derive { name="JM"; version="1.3-0"; sha256="0yn33dvy9kp7xaxlqk11f86qaichdcxpmq04gpnbcs8w8cdjjz3m"; depends=[MASS nlme survival]; }; + JMbayes = derive { name="JMbayes"; version="0.6-0"; sha256="0p2jsxky7fg1lax5s5555mqybalc6gm7v6rwwfrl2v3j5hm18b0i"; depends=[MASS nlme survival]; }; + jmec = derive { name="jmec"; version="1.0-4"; sha256="125scv3wxkdrnqqhsp4lziiqrkk1pvs4gjl96jh71h1w7sv8mb5f"; depends=[nlme survival]; }; + Jmisc = derive { name="Jmisc"; version="0.3.1"; sha256="1szn29dng54l2xmrm6pg3d5rmwdc1ks23vsnsmplnr5rx7yj002s"; depends=[]; }; + Johnson = derive { name="Johnson"; version="1.4"; sha256="12ajcfz5mwxvimv8nq683a2x3590gz0gnyviviyzf5x066a4q0lj"; depends=[]; }; + JohnsonDistribution = derive { name="JohnsonDistribution"; version="0.24"; sha256="00211pa2wn4bsfj6wfl9q9g123cp8iz3kxc17pw9q65j9an4sr0m"; depends=[]; }; + joineR = derive { name="joineR"; version="1.0-3"; sha256="0q98nswbxk5dz8sazzd66jhlg7hv5x7wyzcvjc6zkr6ffvrl8xj7"; depends=[nlme MASS boot survival lattice statmod gdata]; }; + jointDiag = derive { name="jointDiag"; version="0.2"; sha256="0y1gzrc79vahfhn4jrj5xys8pmkzxj4by7361730gi347f0frs0a"; depends=[]; }; + jointPm = derive { name="jointPm"; version="2.3.1"; sha256="1c2cn9sqwfyv9ksd63w8rrz0kh18jm2wv2sfdkgncjb7vfs4hbv9"; depends=[]; }; + JointRegBC = derive { name="JointRegBC"; version="0.1.1"; sha256="0w7ygs3pvlqkkb2x20kv20kda3gz7cn6zgrkg30nhjxp318d76ab"; depends=[nlme MASS survival]; }; + JOP = derive { name="JOP"; version="3.6"; sha256="1kpb1dy2vm4jgzd3h0qgdw53nfp2qi74hgq5l5inxx4aayncclk7"; depends=[Rsolnp dglm]; }; + JoSAE = derive { name="JoSAE"; version="0.2.2"; sha256="1ag4qg9cfcg8i2xz79bza2qlw3azw33h7k2ip5nlfkfpd33l9w05"; depends=[nlme]; }; + jpeg = derive { name="jpeg"; version="0.1-8"; sha256="05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"; depends=[]; }; + JPSurv = derive { name="JPSurv"; version="1.0.1"; sha256="11hfji0nyfmw1d7y2cijpp7ivlv5s9k8g771kmgwy14wflkyf7g2"; depends=[]; }; + jsonlite = derive { name="jsonlite"; version="0.9.7"; sha256="1c66j35fxxj9llnh16j3s4wa6axhbb4m0v1lhzc2j0pb56qg5020"; depends=[]; }; + jtrans = derive { name="jtrans"; version="0.1"; sha256="1wcrjyifsnpk9jfmwc1cx30qp5vavwl87i0avbbls8cmji7z0nay"; depends=[]; }; + JudgeIt = derive { name="JudgeIt"; version="1.5.1"; sha256="1jssz1x9gw9hjpqlqbvlxa99icl8gffzl6qya0cnaxr50p82hdag"; depends=[]; }; + Julia = derive { name="Julia"; version="1.0"; sha256="0df72mjkfsaz7wbrg3l6fcypwm59hdxxndjv1b833xa4qpq5301g"; depends=[]; }; + jvmr = derive { name="jvmr"; version="1.0.4"; sha256="14sbkj1ssxgf9ka6qnhqkf4ry9n0n5v07a8q112zvq0766rs3rrr"; depends=[rJava]; }; + KANT = derive { name="KANT"; version="1.0"; sha256="0k5i1fwbmc1cg9p2zi94npkdn12lm92d7y8ncqnn64dr8ypxh2h5"; depends=[]; }; + KappaGUI = derive { name="KappaGUI"; version="1.1"; sha256="1fyx23i6j18q6swazwy2l70lg2933akh4d0k6dzvfjxrai7fvi7y"; depends=[irr]; }; + kappalab = derive { name="kappalab"; version="0.4-6"; sha256="0dmzy0d7azzfpnzbf8b7a6zgmmfwzfiybz8610asajyfsj36gszl"; depends=[lpSolve quadprog kernlab]; }; + kappaSize = derive { name="kappaSize"; version="1.1"; sha256="0jrjal8cvy2yg0qiyilmv3jl3ib5k9jg8gp2533kdsx4m0sack04"; depends=[]; }; + KappaV = derive { name="KappaV"; version="0.2"; sha256="05qwf083jn05qpbsmnfbp3kglsrlgl136rj4rb3nprcxzbgb8b0r"; depends=[maptools sp rgeos PresenceAbsence]; }; + kaps = derive { name="kaps"; version="1.0-0"; sha256="19dwvlvpm8naisch2c8265rm178jixc6klqf7ilsrz6wi5r119x5"; depends=[survival Formula coin]; }; + KATforDCEMRI = derive { name="KATforDCEMRI"; version="0.740"; sha256="1k8fihd9m26k14rvc5d5x0d9xc3mh8d49hs64p55np1acqfhg2sy"; depends=[locfit R_matlab matlab]; }; + kcirt = derive { name="kcirt"; version="0.6.0"; sha256="1gm3c89i5dq7lj8khc12v30j1c0l1gwb4kv24cyy1yw6wg40sjig"; depends=[mvtnorm snowfall corpcor]; }; + kdetrees = derive { name="kdetrees"; version="0.1.3"; sha256="1lh6dkayyhwmas8fnfl9qxv5zihyimm02v2hizgcw7mk7lmjqr79"; depends=[ape distory ggplot2]; }; + kedd = derive { name="kedd"; version="1.0.0"; sha256="1llc8hqbrp1r75b28z889nik047y400g2h05a7cjaq0r2qxbcqx1"; depends=[]; }; + kelvin = derive { name="kelvin"; version="1.2-2"; sha256="0fl2yxc0dpmkhq3f7711gd08i7jlzlfncin1d6q251dfnmwd7rzf"; depends=[Bessel]; }; + Kendall = derive { name="Kendall"; version="2.2"; sha256="0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn"; depends=[boot]; }; + kequate = derive { name="kequate"; version="1.3.2"; sha256="1sgdxkkgqpzi61c5y0slflvsvf0hr39plq0g5v7jbdbjrgqdyadv"; depends=[ltm]; }; + kerdiest = derive { name="kerdiest"; version="1.2"; sha256="16xj2br520ls8vw5qksxq9hqlpxlwmxccfk5balwgk5n2yhjs6r3"; depends=[date chron evir]; }; + kernelFactory = derive { name="kernelFactory"; version="0.2.0"; sha256="1ihghqrrndgif6kh6n0f4g3bfy5miskn3mk5ynxfcnnrfvp9h3xj"; depends=[randomForest AUC genalg kernlab]; }; + kernelPop = derive { name="kernelPop"; version="1.0.2"; sha256="04p0q1bnabjswr8xnm91gbglaiqf2jqqyjp8vjak89k92cq3ryfw"; depends=[ape ade4 MASS]; }; + kernlab = derive { name="kernlab"; version="0.9-19"; sha256="0caqp5dp1irhwpq8lyram35r8x16qlfp6f5wzqyi5rzcz27d03sg"; depends=[]; }; + KernSmooth = derive { name="KernSmooth"; version="2.23-12"; sha256="0jlpfaf8wqa9hq7scdmgfhkvr5hi61di54slkzskg0pr7c28rlqh"; depends=[]; }; + KernSmoothIRT = derive { name="KernSmoothIRT"; version="6.0"; sha256="09ypvyb59hz5jhf4n225y2k75xa6vw4k0ra3ql38y78aig55drry"; depends=[Rcpp plotrix rgl]; }; + KFAS = derive { name="KFAS"; version="1.0.3"; sha256="09adqacq4r6s2ba7879s2g09wbxzgcnavxkr9pmmirsl0zvqd8vy"; depends=[]; }; + KFKSDS = derive { name="KFKSDS"; version="1.3"; sha256="19ypaz75cl5il65klwmahkj56qy403lwfisrb6qkmprx2zwz2pil"; depends=[]; }; + kimisc = derive { name="kimisc"; version="0.2-1"; sha256="1nbhw1q0p87w4z326wj5b4k0xdv0ybkgcc59b3cqbqhrdx8zsvql"; depends=[plyr]; }; + kin_cohort = derive { name="kin.cohort"; version="0.6"; sha256="13gnjk58m5kya9wj87klwm6h7cdqi61ba6y0cg9k1hgbc1ajy3s8"; depends=[survival]; }; + kinfit = derive { name="kinfit"; version="1.1.12"; sha256="1vh64k244lk8x7223dr29ds0qnhw7c7xdmrk86vhwshlzb8x712y"; depends=[]; }; + kinship2 = derive { name="kinship2"; version="1.5.7"; sha256="13rmx9bb9lzg56k2vpdx4cc9116n27nahsiisjkj505f8j3j8x7n"; depends=[Matrix quadprog]; }; + kintone = derive { name="kintone"; version="0.1.1"; sha256="13c82vkapks9j2crrb4awnhl60ld8b1r7xmy9yv4zzch868kcl5g"; depends=[RCurl rjson]; }; + kitagawa = derive { name="kitagawa"; version="2.1-0"; sha256="1ddyd0rwwmdpbq823qass5dlp2lvi9d64wpl61ik6fghms2p9ryr"; depends=[kelvin]; }; + kknn = derive { name="kknn"; version="1.2-5"; sha256="0c1qnn1lnypjybk2p0dpfrg6hzxflzbwmjb5biq45r57bzji7im7"; depends=[igraph Matrix]; }; + klaR = derive { name="klaR"; version="0.6-10"; sha256="19w0ahh5b7wriky1d0hq9l1p74fiy2lf8x93yaqbbyn70bf5wka3"; depends=[MASS combinat]; }; + klausuR = derive { name="klausuR"; version="0.12-5"; sha256="1agd432ihljww3bhm73lqdvgkd8w99jqr7fp5xwwav7mawwsirfj"; depends=[xtable psychometric]; }; + klin = derive { name="klin"; version="2007-02-05"; sha256="0j0hr4bppzk754a66q5z42h7jzfavqpxgl7y266804aginfqm1ax"; depends=[Matrix]; }; + kmc = derive { name="kmc"; version="0.1-2"; sha256="16lv8wk24cp91qg5202zhfmdhg83qw8bwiycknaml5ki820ffdlx"; depends=[rootSolve emplik Rcpp]; }; + km_ci = derive { name="km.ci"; version="0.5-2"; sha256="1l6kw8jppaa1802yc5pbfwwgac56nhwc9p076ivylhms4w7cdf8v"; depends=[survival]; }; + kmconfband = derive { name="kmconfband"; version="0.1"; sha256="10n5w8k57faqcclwshs4m66i2i5b70i6f3xq5nqlgsi2ldkysbc9"; depends=[survival]; }; + kmi = derive { name="kmi"; version="0.5"; sha256="13m9kxbyph24njp28r122gry03rpkp26ldilhjc4rnixczvnhzwi"; depends=[survival mitools]; }; + Kmisc = derive { name="Kmisc"; version="0.5.0"; sha256="0pbj3gf0bxkzczl6k4vgnxdss2wmsffqvcf73zjwvzvr8ibi5d95"; depends=[Rcpp data_table lattice knitr markdown]; }; + kml = derive { name="kml"; version="2.2"; sha256="1g8wgmvs31r3hp7y8n9pkxc9qy5fxvb3nicmzgacmghaiwbwc8g3"; depends=[clv longitudinalData]; }; + kml3d = derive { name="kml3d"; version="2.2"; sha256="1n94kfi49rgb9149bgc9043f0y5xpaclmfjr8fkwairqz5nnmgbv"; depends=[clv rgl misc3d longitudinalData kml]; }; + kmlcov = derive { name="kmlcov"; version="1.0.1"; sha256="09s9ganfsnwp22msha78g6pjr45ppyfyqjf6ci64w3w15q5qlcd9"; depends=[]; }; + KMsurv = derive { name="KMsurv"; version="0.1-5"; sha256="0hi5vvk584rl70gbrr75w9hc775xmbxnaig0dd6hlpi4071pnqjm"; depends=[]; }; + knitcitations = derive { name="knitcitations"; version="0.5-0"; sha256="1zp6flkzr3wmhnshv0sr67nwbd7fy9cg2qdvgyfz9fgwq70qbdyc"; depends=[knitr bibtex xtable RCurl XML httr]; }; + knitr = derive { name="knitr"; version="1.5"; sha256="07f0fxgxkm6lq9lajnn590m0lpfdbjj9nwsnf2aifj46kpqkrs4y"; depends=[evaluate digest formatR highr markdown stringr]; }; + knitrBootstrap = derive { name="knitrBootstrap"; version="0.9.0"; sha256="1cw5dvhjiypk6847qypxphfl9an54qjvd6qv029znhwijsg56mmg"; depends=[knitr markdown]; }; + knnGarden = derive { name="knnGarden"; version="1.0.1"; sha256="1gmhgr42l6pvc6pzlq5khrlh080795b0v1l5xf956g2ckgk5r8m1"; depends=[cluster]; }; + knnIndep = derive { name="knnIndep"; version="1.0"; sha256="13iav0db8qmbmnf7hxmbvcyb0d76wyd05ib8mfzmgsdcpdkn4f72"; depends=[]; }; + kobe = derive { name="kobe"; version="1.2.2"; sha256="028i4inzfrm574x0abmhs1mznhv670prhj2vd1vhxlcad6ndgyyi"; depends=[ggplot2 reshape plyr MASS coda emdbook tables RCurl ellipse]; }; + kohonen = derive { name="kohonen"; version="2.0.14"; sha256="0rh5hs00wvkyg7kpra1lfhr93w30jmmdzkg7byypk4smxlxq64am"; depends=[class MASS]; }; + kolmim = derive { name="kolmim"; version="0.2"; sha256="1cq1miny83shxas4zijcbzcnxv29vjyxj3pip8brf52sjvrj4max"; depends=[]; }; + KoNLP = derive { name="KoNLP"; version="0.76.9"; sha256="1q72irl4izb7f5bb99plpqnmpfdq4x4ymp4wm2bsyfjcxm649ya8"; depends=[rJava stringr hash tau Sejong]; }; + koRpus = derive { name="koRpus"; version="0.05-5"; sha256="03rw0yb67y652j8hcr5m4c0py0rr3gp87y0hdxpypd81rkikwhfm"; depends=[]; }; + Kpart = derive { name="Kpart"; version="1.1"; sha256="1cyml48i1jvwy4xzymijwraqpnssnkrd81q3m7nyjd5m2czjvihv"; depends=[leaps]; }; + kriging = derive { name="kriging"; version="1.0.1"; sha256="0ppkhjrz09x4b8syp6j2xjdv5gi4mjkvnqdfxv3pqcm3c7zqfdrs"; depends=[]; }; + KrigInv = derive { name="KrigInv"; version="1.3"; sha256="1zgrx0rmcaf3j3igqhvnbzjwh2dm2x5s5l027c7cbrl1rn20im0r"; depends=[DiceKriging rgenoud MASS lhs pbivnorm randtoolbox DiceView]; }; + KRLS = derive { name="KRLS"; version="0.3-5"; sha256="11r886l7rhbi247m7jnjgr0l574wicl81lxc4v2sb4ap9zzfymld"; depends=[]; }; + krm = derive { name="krm"; version="13.11-03"; sha256="05yy06ib879j1gcgqgljkfw79a3vg2ij71w7zah4ixl7di0301la"; depends=[]; }; + ks = derive { name="ks"; version="1.9.2"; sha256="05h13g4nla3gvawsb9zf7w8cdylpf7rc6ly6lp5dbsgc9qxha5py"; depends=[KernSmooth misc3d mvtnorm rgl multicool]; }; + kSamples = derive { name="kSamples"; version="1.0"; sha256="0a4kl6508isjsbv8g7b8g9c2kmai90lwdjn0576i7l4hnqvi532b"; depends=[SuppDists]; }; + KsPlot = derive { name="KsPlot"; version="1.3"; sha256="1mzpsgzscpv888ipfh9nakhqrgw7rdinb5lwhkjk9yk7ap5lfvs0"; depends=[e1071 caret nnet MASS caTools mda glmnet randomForest mvpart]; }; + kst = derive { name="kst"; version="0.2-1"; sha256="1wy9cvvln994qgr0p7qa9qs1jd7gjv6ch65gg6i42cf9681m9h65"; depends=[proxy relations sets]; }; + ktsolve = derive { name="ktsolve"; version="1.1"; sha256="0b5myr093v3qaj9gzbw1w728i5ij418whxxpicj51w657dcy647k"; depends=[]; }; + ktspair = derive { name="ktspair"; version="1.0"; sha256="1v63982jidxlcf2syahcb29myv34kc790l7lwyfxx9l50ssb812n"; depends=[]; }; + kulife = derive { name="kulife"; version="0.1-14"; sha256="070ayy6fr9nsncjjljikn2i5sp2cx3xjjqyc64y2992yx74jgvvd"; depends=[]; }; + kyotil = derive { name="kyotil"; version="2014.4-1"; sha256="1cqbrn860lfh0bsfglmqa3vqv1jfblicfaz2albk31p9hh14hm20"; depends=[]; }; + kza = derive { name="kza"; version="3.0.0"; sha256="0v811ln9vg7msvks9lpgmdi39p01342yi8fj180aclha3mfk6gfw"; depends=[polynom]; }; + kzft = derive { name="kzft"; version="0.17"; sha256="1y6almhs1x21cr4bbf5fj3mnhp65ivzs869660cyg70sva853sv7"; depends=[polynom]; }; + kzs = derive { name="kzs"; version="1.4"; sha256="1srffwfg0ps8zx0c6hs2rc2y2p01qjl5g1ypqsbhq88vkcppx1w9"; depends=[lattice]; }; + l2boost = derive { name="l2boost"; version="1.0"; sha256="1p0sbvlnax4ba4wjkh3r0bmjs601k590g7bdfk6wxvlj42jxcnkl"; depends=[MASS]; }; + labdsv = derive { name="labdsv"; version="1.6-1"; sha256="0bcsjznq9w1arv503895060hkri0447fnc49nj4ynry7fi35ci22"; depends=[mgcv MASS]; }; + labeledLoop = derive { name="labeledLoop"; version="0.1"; sha256="0gq392h0sab8k7k8bzx6m7z5xpdsflldhwbpdf92zbmkbzxsz00m"; depends=[]; }; + labeling = derive { name="labeling"; version="0.2"; sha256="194awd2j33hk7p368q2npkrggkxd1xi45bj79vd8hc4jj65pzala"; depends=[]; }; + label_switching = derive { name="label.switching"; version="1.2"; sha256="149np2jqr4vffj1mb7wvnlpj4fhb3gijrdn7qx1m946pf3h13wvv"; depends=[lpSolve combinat]; }; + labeltodendro = derive { name="labeltodendro"; version="1.3"; sha256="13kpmv26zzjf5iwpr4vs797irplmaixp1agx5v80wr4lvd2hirvg"; depends=[]; }; + labstatR = derive { name="labstatR"; version="1.0.7"; sha256="1p6xav9cb7yx3n8rkh8xm1jkykf3xw974id49j558hmayq47ad4f"; depends=[]; }; + laeken = derive { name="laeken"; version="0.4.5"; sha256="1wbdj7wnyapj4wbzsclm1vyyaxid4ww72dv5v2nk64q7fbc56py0"; depends=[boot MASS]; }; + laercio = derive { name="laercio"; version="1.0-1"; sha256="0la6fxv5k9zq4pyn8dxjiayx3vs9ksm9c6qg4mnyr9vs12z53imm"; depends=[]; }; + LaF = derive { name="LaF"; version="0.6.1"; sha256="1yg498qzxzx4qpp27rwh854x7vkz8iqmny1pvcy2rvnnb8g0wk24"; depends=[Rcpp]; }; + laGP = derive { name="laGP"; version="1.1"; sha256="03xpgmab61m160vbcach218njwdkpfqvs19fvcvixvgy3hpa0prc"; depends=[]; }; + Lahman = derive { name="Lahman"; version="2.0-3"; sha256="0rsjm81yda7z73dvafhbplkp1ly5diwwmls2fgpz3pvr2hc72v1f"; depends=[]; }; + Lambda4 = derive { name="Lambda4"; version="3.0"; sha256="04ikkflfr0nmy1gr3gfldlh2v8mpl82k1wwnzp57d2kn75m9vbxz"; depends=[]; }; + lambda_r = derive { name="lambda.r"; version="1.1.6"; sha256="03f3945f9kqj7in1mxk23ai56x68rdyd10c3ki4nqqysshyjr4d4"; depends=[]; }; + lambda_tools = derive { name="lambda.tools"; version="1.0.3"; sha256="1vd1ms8yzy01wvg4baj2ypyiyy27ck3na9awlmvhdvxc1s459sr7"; depends=[lambda_r]; }; + LambertW = derive { name="LambertW"; version="0.2.9.9.5"; sha256="06330zdpp2h973j841axd9nqgmy5z8gns1w2anmjw298k164mr6g"; depends=[moments gsl MASS nortest maxLik]; }; + lancet_iraqmortality = derive { name="lancet.iraqmortality"; version="0.2-0"; sha256="00f467j9lw30r6han9d3gdkyqmkqsr3hq4cvp2mc93qhpprf81cq"; depends=[foreign]; }; + landsat = derive { name="landsat"; version="1.0.8"; sha256="07zvj1yyryxk7rwgcrf1kl32p2karkkqz6xrnwy1096dg9iw2js7"; depends=[rgdal sp lmodel2 mgcv]; }; + languageR = derive { name="languageR"; version="1.4.1"; sha256="0grkhdjz9dcrgq6qwv7wpwmckn3mfv022c5wrx29b1dxafd0qzm0"; depends=[]; }; + lar = derive { name="lar"; version="0.1-2"; sha256="0qda0y4ag10kg83wxs3z754kc8c1dg2rwciy64klk7an4ln43i5b"; depends=[data_table treemap xlsx]; }; + LARF = derive { name="LARF"; version="1.1"; sha256="0mlmfd748flxf3cxj3y668azhx9v7wd2cf3c6qj56llmk5fygfbg"; depends=[]; }; + LargeRegression = derive { name="LargeRegression"; version="1.0"; sha256="05vkd6skqg19bs54vsjf3i4rwz1j3g1gmp9jj8fsnmkds46yr91y"; depends=[Matrix]; }; + lars = derive { name="lars"; version="1.2"; sha256="0blj44wqrx6lmym1m9v6wkz8zxzbjax2zl6swgdczci0ixb5nx34"; depends=[]; }; + laser = derive { name="laser"; version="2.4-1"; sha256="1f6j3xdks0w63fqjj9q8ng2m6ss90kcnsrigwal0bqskpvrpiqyz"; depends=[ape geiger]; }; + lasso2 = derive { name="lasso2"; version="1.2-18"; sha256="0pzbp3052ns056ynk2fq8q3k6qz8ygf16zkm2bydj13qfa9k03dd"; depends=[]; }; + lassoscore = derive { name="lassoscore"; version="0.1"; sha256="05jpybp00hl36my5ifqidp5a0n05na8maf5c0amwhmfwhl8i0p7j"; depends=[]; }; + lassoshooting = derive { name="lassoshooting"; version="0.1.5-1"; sha256="0ixjw8akplcfbzwyry9p4bhbcm128yghz2bjf9yr8np6qrn5ym22"; depends=[]; }; + latdiag = derive { name="latdiag"; version="0.2"; sha256="11fahajwky3cfbd8y5xfaiz24qf7bkifbzcnvhv7daan4gsha04z"; depends=[]; }; + latentnet = derive { name="latentnet"; version="2.5.1"; sha256="0jzdgsw3i0s0rn8199m7g4x2gwbbrc5nd7fzimhxmib99pyzvrjf"; depends=[statnet_common network ergm sna mvtnorm abind coda]; }; + Laterality = derive { name="Laterality"; version="0.9.2"; sha256="13b1mpjcq7a14dwscnfs07hahd9is2fbn4wxwh31732vv3hr7kwm"; depends=[ade4]; }; + lattice = derive { name="lattice"; version="0.20-29"; sha256="0ip6qw1kry68dqj97bh8ddpq6gfsxf3n3axc6pn3zv2n1mfv6s9s"; depends=[]; }; + latticeDensity = derive { name="latticeDensity"; version="1.0.7"; sha256="1y33p8hfmpzn8zl4a6zxg1q3zx912nhqlilca6kl5q156zi0sv3d"; depends=[splancs spdep spatstat spam]; }; + latticeExtra = derive { name="latticeExtra"; version="0.6-26"; sha256="16x00sg76mga8p5q5ybaxs34q0ibml8wq91822faj5fmg7r1050d"; depends=[RColorBrewer lattice]; }; + LatticeKrig = derive { name="LatticeKrig"; version="3.1"; sha256="0gvddhji6a7z0g1v5g1zjkv5hmbh6i9gb712k7j11d1gw6pla5cm"; depends=[spam fields]; }; + latticist = derive { name="latticist"; version="0.9-44"; sha256="0kx2dyyr3zn3p63r5ypaw22hdrqyjibkws3hgyc3d560shjyfafv"; depends=[lattice latticeExtra vcd gWidgets]; }; + lava = derive { name="lava"; version="1.2.5"; sha256="1kkp5lcs8rm26p82wc5vjgl53k8cl8l1rv3rl9xpkf4wsrvxy3ng"; depends=[numDeriv]; }; + lavaan = derive { name="lavaan"; version="0.5-16"; sha256="1ifzhbzb57smzj22hc19d0hl1v6qg1jvilgrjy9fp0kixk1qmf80"; depends=[MASS mnormt pbivnorm quadprog]; }; + lavaan_survey = derive { name="lavaan.survey"; version="1.1"; sha256="1vscv165kilkc00pgs2s9qn404l3rv45zc9kzmrghxz42jsy04zc"; depends=[lavaan survey MASS Matrix]; }; + lava_tobit = derive { name="lava.tobit"; version="0.4-7"; sha256="1da98d5pndlbbw37k64fmr2mi1hvkhjxsmm3y9p4b772pz9i1pvj"; depends=[lava mvtnorm survival]; }; + lawstat = derive { name="lawstat"; version="2.4.1"; sha256="142plbzpvi5xy7j5m5wizhz3w1n9im9hs8byhs6kfjpdw710qn7h"; depends=[mvtnorm VGAM]; }; + lazy = derive { name="lazy"; version="1.2-15"; sha256="1pdqgvn0qpfg5hcg5159ccf5qj2nd1ibai9p85rwjpddfynk6jks"; depends=[]; }; + lazyData = derive { name="lazyData"; version="1.0.3"; sha256="1i4jry54id8hhfla77pwk3rj2cci6na36hxj7k35k8lx666fdam2"; depends=[]; }; + lazyWeave = derive { name="lazyWeave"; version="2.2.0"; sha256="1cl6pqn40k4fj3p695xpp3qzy3j1swccjgrajs8z2yb563pnz9zr"; depends=[Hmisc survival]; }; + lbiassurv = derive { name="lbiassurv"; version="1.1"; sha256="1i6l3y4rasqpqka7j39qjx22wjbilgc9pkp05an52aysfvfxy193"; depends=[actuar]; }; + LCA = derive { name="LCA"; version="0.1"; sha256="14nhx2fs18558zljnw56mdz3qx30v394llhzswxhznjfiiqc9z5h"; depends=[]; }; + LCAextend = derive { name="LCAextend"; version="1.2"; sha256="1y9azq9v42a3z5fq6gj8js89qblb2z93k4mg4jmw0wgkyv6mysfc"; depends=[boot mvtnorm rms kinship2]; }; + lcd = derive { name="lcd"; version="0.7-3"; sha256="1jnnw15d4s8yb5z5jnzvmlrxv5x6n3h7wcdiz2nw4vfiqncnpwx4"; depends=[igraph MASS ggm]; }; + lcda = derive { name="lcda"; version="0.3"; sha256="1ximsyn6qw2gfn7b1hdpbjs6h6nk7hrignlii0np1lbf0k8l4xxl"; depends=[poLCA]; }; + LCFdata = derive { name="LCFdata"; version="2.0"; sha256="1x3vbr6hdviqvd6dxn1kb449g0q5zkfmjsmr5nxd2g82p69lv3xm"; depends=[]; }; + lcmm = derive { name="lcmm"; version="1.6.4"; sha256="1qk821q7abq7w2iyyd2yyjj1cr943ycjb4174m3zdxj3qxlq1v0z"; depends=[survival]; }; + lctools = derive { name="lctools"; version="0.1-2"; sha256="1d3vxz198mwngqbhhpdz5w43j3h04dg590bzvzwfdbr1lgw8hw2g"; depends=[reshape weights]; }; + lda = derive { name="lda"; version="1.3.2"; sha256="1iizsksp8wz34ji7p2kc6npxz9rzhs6217793nfri6y6mq23vs8z"; depends=[]; }; + ldbounds = derive { name="ldbounds"; version="1.1-1"; sha256="15ixrq615x64zmi6dryq3ww0dqxd0qf5xx1bs3w934sf99l46bhs"; depends=[lattice]; }; + LDcorSV = derive { name="LDcorSV"; version="1.3.1"; sha256="0i4npl90mkj8vry6ckq8bc4ydbl44vxichgsxyn80r6k9i71yl67"; depends=[MASS]; }; + ldDesign = derive { name="ldDesign"; version="2.0-1"; sha256="1a9j139a6ld3hvxawj0zhdfnhl8dhrcj4nx2qyq5vwgq8195d9y5"; depends=[]; }; + LDExplorer = derive { name="LDExplorer"; version="1.0.3"; sha256="1hkhbhclm1bvxzq7z663i583f94cvkklaq0z5qkswrpi406md7mi"; depends=[]; }; + LDheatmap = derive { name="LDheatmap"; version="0.99-1"; sha256="1bj42chw1xyf8yg6cfv9p4yzsggng7zy6wrw6q22559pwm6c6vr0"; depends=[genetics]; }; + ldlasso = derive { name="ldlasso"; version="3.2"; sha256="0ij68zvgm8dfd2qwx6h6ygndac29qa0ddpf11z959v06n8jsnk11"; depends=[GenABEL quadprog]; }; + LDOD = derive { name="LDOD"; version="1.0"; sha256="0mf2sy01yv57mqicrz08a17m6crigklx6fmw9zpxv7g85qw1iq4v"; depends=[Rsolnp Rmpfr]; }; + ldr = derive { name="ldr"; version="1.3"; sha256="0yjjy577wqi9hajgpl8bk10sgcn04knxyhbmjjr0jh08jmkvcqmx"; depends=[GrassmannOptim Matrix]; }; + LDtests = derive { name="LDtests"; version="1.0"; sha256="1jwqr7zlp9hv7vw8xp80xvrwbdv796wjgr914v393wfa07j5wbd1"; depends=[]; }; + LeafAngle = derive { name="LeafAngle"; version="1.2"; sha256="18b3gncn18jvsjprjmaays67iwjdcpszy5z711rb71h1vyi0fdfs"; depends=[]; }; + leafletR = derive { name="leafletR"; version="0.2-0"; sha256="143khia10hhr3dlj5vgnp3b0wmhls8bpabcxlhxbnk7djgfkgnb9"; depends=[]; }; + LEAPFrOG = derive { name="LEAPFrOG"; version="1.0.6"; sha256="0zsvf22ir8r4ld67ir4m9ziqwrxfnjs44yjayicpm6sg4bdfdfa5"; depends=[alabama MASS]; }; + leapp = derive { name="leapp"; version="1.1"; sha256="19jicg9qqgbrssi8jqqhqwxi17918zx4vp0vm1axgzyasfji36a6"; depends=[MASS]; }; + leaps = derive { name="leaps"; version="2.9"; sha256="1ax9v983401hvb6cdswkc1k7j62j8yk6ds22qdj24vdidhdz5979"; depends=[]; }; + LearnBayes = derive { name="LearnBayes"; version="2.12"; sha256="0ynklfwfkw0iz2l6k1vddcbylrskl64852xqc9d6jyysrvydanam"; depends=[]; }; + LearnEDA = derive { name="LearnEDA"; version="1.2"; sha256="0pvxi5ab2mrh9rwxpl4pvjzy7qr6aqg82jfga0rlcqm95wjh6br2"; depends=[aplpack vcd]; }; + learningr = derive { name="learningr"; version="0.29"; sha256="1nr4ydcq2mskv4c0pmf0kxv5wm8pvjqmv19xz5yaq0j834b0n5q7"; depends=[plyr]; }; + leiv = derive { name="leiv"; version="2.0-6"; sha256="18cf050653qrwyma23r50i66irjpdbp03nc96pirji5sl4dr9q7x"; depends=[]; }; + LeLogicielR = derive { name="LeLogicielR"; version="1.2"; sha256="0h52pzrksi1mn55mnxbfi61hl7x61cnkhp450slfrk68f6kp30x6"; depends=[xtable RColorBrewer gdata IndependenceTests]; }; + lessR = derive { name="lessR"; version="3.1"; sha256="1hnjzh8chh08hgmsfc3gqgzcvs5rqycxdp0kjv660mbmrmi0g270"; depends=[car leaps MBESS foreign gdata triangle]; }; + lestat = derive { name="lestat"; version="1.8"; sha256="12w3s5yr9lsnjkr3nsay5sm4p241y4xz0s3ir56kxjqw23g6m80v"; depends=[MASS]; }; + lfe = derive { name="lfe"; version="1.7-1289"; sha256="1k64llwsjk6lpfyvzwq5plickds15r42p0x5ppr57xzjqfyhyy61"; depends=[Matrix Formula xtable]; }; + lfstat = derive { name="lfstat"; version="0.6"; sha256="0wffcdgs2bqq3dvz15182jjblxgya38cfdk0vi0wxyigrlywb5ib"; depends=[lattice lmom lmomRFA latticeExtra]; }; + lga = derive { name="lga"; version="1.1-1"; sha256="1nkvar9lmdvsc3c21xmrnpn0haqk03jwvc9zfxvk5nwi4m9457lg"; depends=[boot lattice]; }; + lgarch = derive { name="lgarch"; version="0.2"; sha256="1l3n9vvj6d7famff4v1phlyjr57s4hkda857frpc11adx7k7aan7"; depends=[zoo]; }; + lgcp = derive { name="lgcp"; version="1.3-4"; sha256="1wkv4gz0jnjlwqwmg1vpbsf2j40c4260814x1fx1xfhhrii03m0q"; depends=[spatstat sp raster RandomFields iterators ncdf rpanel fields maptools Matrix rgeos]; }; + LGS = derive { name="LGS"; version="0.91"; sha256="0rzj1shapyg7hyzsb9v81dirwihd7bz9s861l75g3yl3p4qm8sg7"; depends=[]; }; + lgtdl = derive { name="lgtdl"; version="1.1.1"; sha256="03gasdlw12lgw40522f6s3vybsv737f0r8w6v4k8ara1gxfy3xc6"; depends=[]; }; + lhs = derive { name="lhs"; version="0.10"; sha256="1hc23g04b6nsg8xffkscwsq2mr725r6s296iqll887b3mnm3xaqz"; depends=[]; }; + libamtrack = derive { name="libamtrack"; version="0.5.4"; sha256="198wjqdhyw4s9qd7pd5qnml9sl6nyhrq75kr02ismbcx20q6ks65"; depends=[]; }; + LiblineaR = derive { name="LiblineaR"; version="1.80-7"; sha256="1gg4x0x94qq7h3nf5z3k7zy3iknydz3cfpnb8syhpgv5a462i84v"; depends=[]; }; + LICORS = derive { name="LICORS"; version="0.2.0"; sha256="0p9y21k1mj1v397jpb5g6jiw7rpzbyfwr4kv2rp3lyxyasy2ykf0"; depends=[RColorBrewer mvtnorm zoo FNN fields locfit Matrix]; }; + LICurvature = derive { name="LICurvature"; version="0.1.1"; sha256="09hqar4kvksd816ya6jg349r0v6z2m2109hq6j4k1d2vchab4lni"; depends=[MASS]; }; + lifecontingencies = derive { name="lifecontingencies"; version="1.1"; sha256="0rjiqmhqiliy8zbprxnr63r0wvwzs825gd6rrz4skwxcwpl4d0sh"; depends=[]; }; + LifeTables = derive { name="LifeTables"; version="0.2"; sha256="1n4mqypxm0rbi77ykpr6bpzxfxvq8mm9bmfvcqz7k3ajb78cdr0d"; depends=[mclust]; }; + LIHNPSD = derive { name="LIHNPSD"; version="0.2.1"; sha256="08ils29vvaq6abkgxbh028vwjw6l6h10cirbnwr65s458zvh4xqv"; depends=[sn moments BB Bolstad2 optimx Rmpfr]; }; + likelihood = derive { name="likelihood"; version="1.5"; sha256="104rvhrsszzp4h9d0qjzqxk2q06xp8p4s64s7zdi4hswqm1cp224"; depends=[nlme]; }; + likeLTD = derive { name="likeLTD"; version="5.3.2"; sha256="1kmch31w098j4qc9gx5wkh96cz6nhaggl3ka3rrb9adlvsrlnknj"; depends=[DEoptim ggplot2 gtools rtf gdata]; }; + likert = derive { name="likert"; version="1.1"; sha256="1jmzxqav5hqvafb53k4mk8a2zfbzvlynqxkphndnbngq7z5915ah"; depends=[ggplot2 gridExtra xtable reshape psych]; }; + LIM = derive { name="LIM"; version="1.4.5"; sha256="1dir9dqrpns77n5ydm3fpj2k0pl7q15z8vqbi5704vsfv94mgmas"; depends=[limSolve diagram]; }; + limitplot = derive { name="limitplot"; version="1.2"; sha256="0wj1xalm80fa5pvjwh2zf5hpvxa3r1hnkh2z9z285wkbrcl0qfl2"; depends=[]; }; + limSolve = derive { name="limSolve"; version="1.5.5"; sha256="1wcw4f95alsn1x1x98hlivc65p28ykq9njgjs561yl2zn4dyfqxf"; depends=[quadprog lpSolve MASS]; }; + LinearizedSVR = derive { name="LinearizedSVR"; version="1.2"; sha256="08kj5mnfda6h100wvggywkcjx7mc6cwjnyqiw1kc8m8ax4birqdp"; depends=[kernlab LiblineaR expectreg]; }; + lineup = derive { name="lineup"; version="0.34-1"; sha256="0p6gxbv8xdrhgk8zdlnqrybald9vqz717czb49b123h84rjr2f19"; depends=[qtl class]; }; + linkcomm = derive { name="linkcomm"; version="1.0-8"; sha256="1j7m8h5pnlrz036ly9br4f9wkgbi4951cpfv5sd1lqh1gy191ldn"; depends=[igraph RColorBrewer dynamicTreeCut]; }; + linkim = derive { name="linkim"; version="0.1"; sha256="0yvyid9x59ias8h436a202hd2kmqvn8k1zcrgja2l4z2pzcvfn91"; depends=[]; }; + linLIR = derive { name="linLIR"; version="1.1"; sha256="1v5bwki5j567x2kndfd5nli5i093a33in31025h9hsvkbal1dxgp"; depends=[]; }; + linprog = derive { name="linprog"; version="0.9-2"; sha256="1ki14an0pmhs2mnmfjjvdzd76pshiyvi659zf7hqvqwj0viv4dw9"; depends=[lpSolve]; }; + LINselect = derive { name="LINselect"; version="0.0-1"; sha256="1n6nsspdp1ig8v9bclyga072hxqj2hb9n1smrqia8jrma07yaydl"; depends=[]; }; + lint = derive { name="lint"; version="0.3"; sha256="0lkrn5nsizyixhdp5njxgrgwmygwr663jxv5k9a22a63x1qbwpiq"; depends=[plyr harvestr stringr dostats foreach]; }; + liso = derive { name="liso"; version="0.2"; sha256="072l7ac1fbkh8baiiwx2psiv1sd7h8ggmgk5xkzml069ihhldj5i"; depends=[MASS Iso]; }; + lisp = derive { name="lisp"; version="0.1"; sha256="025sq46277q9i21189cbmx5dnrh5wfshc5k6la1wjilhr1iqf6nj"; depends=[]; }; + lisrelToR = derive { name="lisrelToR"; version="0.1.4"; sha256="0zicq0z3hhixan1p1apybnf3v5s6v6ysll4pcz8ivygwr2swv3p5"; depends=[]; }; + list = derive { name="list"; version="6.1"; sha256="18yclnj71yknw46wy2f2hjhrg38fyklirgr0x5aibk7yywpry0qq"; depends=[sandwich VGAM magic gamlss_dist MASS quadprog arm corpcor mvtnorm coda]; }; + LIStest = derive { name="LIStest"; version="2.1"; sha256="1gk253v3f1jcr4z5ps8nrqf1n7isjhbynxsi9jq729w7h725806a"; depends=[]; }; + ljr = derive { name="ljr"; version="1.3-0"; sha256="0dfv0nndlbpn3b8g2b1h9qrx2if2s5cpgqkwbivh47pj9gjsir0i"; depends=[]; }; + llama = derive { name="llama"; version="0.6"; sha256="0ga1zxibmqvqa6246y0zlrgibvcwddc8kn1h5l8f8x4jik8iq77r"; depends=[plyr rJava parallelMap]; }; + lle = derive { name="lle"; version="1.1"; sha256="09wq7mzw48czp5k0b4ij399cflc1jz876fqv0mfvlrydc9igmjhk"; depends=[scatterplot3d MASS snowfall]; }; + lllcrc = derive { name="lllcrc"; version="1.1"; sha256="0m4dqg774d0pzpwvr4hj50xdz93y83w0yjcial8b14wy8zcdsmmz"; depends=[data_table combinat VGAM plyr]; }; + lmbc = derive { name="lmbc"; version="0.9.1"; sha256="0pxm29n8rhcy7g8kia0bgz78w5nr851dhhrb7nn13szw6j13ji8x"; depends=[mseq lars]; }; + lm_br = derive { name="lm.br"; version="2.5"; sha256="0v4gam24gny4g5618kakamryw0aq62wb9k7w6n3wq397mysnkd15"; depends=[Rcpp]; }; + lme4 = derive { name="lme4"; version="1.1-6"; sha256="0axlax675sm9jh8h3r6ylqanknr0mi367cq7pl9z2ap0cngnd6ra"; depends=[Matrix Rcpp MASS nlme lattice minqa RcppEigen]; }; + lmec = derive { name="lmec"; version="1.0"; sha256="09shj01h2dl5lh7ch0wayr7qyhlmk0prv3p1vfgy91sn0wpbqlxr"; depends=[mvtnorm]; }; + lmeNB = derive { name="lmeNB"; version="1.2"; sha256="0xgw1kmq3krz8z0ickjg6qkj3bq2bkbwcd79c5fkl6fa3hp035mh"; depends=[numDeriv statmod lmeNBBayes]; }; + lmeNBBayes = derive { name="lmeNBBayes"; version="1.2"; sha256="0zpxdgqv5yhpwl2jfrxx37b126pgrflynmw9i4vmcvzx830d084l"; depends=[]; }; + LMERConvenienceFunctions = derive { name="LMERConvenienceFunctions"; version="2.5"; sha256="1kq0ww8h43rsygjz5pmb3ym027klgi4sw1csdr9apwgd3ydbnr7n"; depends=[Matrix lme4]; }; + lmerTest = derive { name="lmerTest"; version="2.0-6"; sha256="113iv3ib7917mchmns9di84c52m0yp14ikc1sklg4bfvk607cw6l"; depends=[Matrix lme4 numDeriv MASS Hmisc gplots pbkrtest]; }; + lmeSplines = derive { name="lmeSplines"; version="1.1-10"; sha256="0fy6hspk7rqqkzv0czvvs8r4ishvs7zsf4ykvia65nj26w7yhyia"; depends=[nlme]; }; + LMest = derive { name="LMest"; version="1.0"; sha256="0i76wkj8a95pa5spxsaxbkk2nyrjdlnzri9739n3h08sagwc0y67"; depends=[MASS Matrix]; }; + lmf = derive { name="lmf"; version="1.2"; sha256="1xqlqmjl7wf5b2s2a1k1ara21v74b3wvwl4mhbj9dkdb0jcrgfva"; depends=[]; }; + lmm = derive { name="lmm"; version="0.9"; sha256="0gs68iwk9gajb5af5ibgg9k5280ixqki8vxyp3cq5lrk96gcmqpr"; depends=[]; }; + lmmfit = derive { name="lmmfit"; version="1.0"; sha256="06mzmx7md7qw5mfhgdljc7i40sx9yrx7j57xbbp3fhl2zs1dpb4g"; depends=[nlme MASS]; }; + lmmlasso = derive { name="lmmlasso"; version="0.1-2"; sha256="1mvd38k9npyc05a2x7z0908qz9x4srqgzq9yjyyggplqfrl4dgsz"; depends=[emulator miscTools penalized]; }; + lmodel2 = derive { name="lmodel2"; version="1.7-2"; sha256="0dyzxflr82k7ns824zlycj502jx3qmgrck125im2k2da34ir3m3q"; depends=[]; }; + lmom = derive { name="lmom"; version="2.4"; sha256="04mfp7fcw1696qn34pxdffspwy0xalig3p7mqcj49v6kdxclpx1p"; depends=[]; }; + lmomco = derive { name="lmomco"; version="2.0.1"; sha256="0m889d436nxsl3y383sl30f82ndz06a1a9dyxz199qrw944f2cbi"; depends=[]; }; + Lmoments = derive { name="Lmoments"; version="1.1-5"; sha256="13s9lbmfbjfam6xg0q9jl2p3q3db3pimcmnx47vx82qdm43xa4an"; depends=[]; }; + lmomRFA = derive { name="lmomRFA"; version="3.0"; sha256="188i2fk2csqwdmw3x1wwigaajbvwfd9dwd8q3pmx7ha4smp49amk"; depends=[lmom]; }; + lmPerm = derive { name="lmPerm"; version="1.1-2"; sha256="0wxp1dhs42isqfjfr154x0lysi55f0mw9kyas7l28xp0h57mqjqz"; depends=[]; }; + lmSupport = derive { name="lmSupport"; version="1.07.1"; sha256="1smv1ag12373981qqhlrdf4xj73j2h0jblb74gd2w70zrbx0s2qb"; depends=[car psych gplots gvlma MASS]; }; + lmtest = derive { name="lmtest"; version="0.9-33"; sha256="1ycmxjrxf41mnbgakdmn4y2kmgp4rkj7v3nqwqnlc6gdfdmac73s"; depends=[zoo]; }; + loa = derive { name="loa"; version="0.2.15"; sha256="137l90qz87xrid28knbj8997pjqgqf6769cwfj82cm57m98bda91"; depends=[lattice MASS png RgoogleMaps RColorBrewer]; }; + localdepth = derive { name="localdepth"; version="0.5-7"; sha256="0h0y74xnhdqa7y51ljmpz7ayznppvy2ll06wfds6200lb9cxgr7k"; depends=[circular]; }; + localgauss = derive { name="localgauss"; version="0.33"; sha256="1xgcwlgkzkxws771zig4x6v0m6flf9vlcgpa80ajr0vmjhlplbly"; depends=[ggplot2 MASS foreach matrixStats]; }; + locfdr = derive { name="locfdr"; version="1.1-7"; sha256="1ix64nf0lymvqfks399871ynyph32x4yhymdw0nw59jh3c3ldhxx"; depends=[]; }; + locfit = derive { name="locfit"; version="1.5-9.1"; sha256="0lafrmq1q7x026m92h01hc9cjjiximqqi3v1g2hw7ai9vf7i897m"; depends=[lattice]; }; + locits = derive { name="locits"; version="1.4"; sha256="1q9vsf5h4n7r4gy1dwdhfyq3n0rn33akb3nx6yzinncj4w4cqq0h"; depends=[wavethresh igraph]; }; + Lock5Data = derive { name="Lock5Data"; version="2.6"; sha256="0ckaac00ck5vyv0gv25l1zhgkm3char6ks1p4fl3vdl5gdyrc1pp"; depends=[]; }; + locpol = derive { name="locpol"; version="0.6-0"; sha256="1zpdh3g7yx3rcn3rhlc3dm19c4b9kx2k8wy8vkwh744a1kysvdga"; depends=[]; }; + loe = derive { name="loe"; version="1.0"; sha256="11wjzq4h7qjrnrj1zg3msg1ksld9c3r3n3biamf2hz8zvi1asvqv"; depends=[igraph MASS vegan Matrix]; }; + log4r = derive { name="log4r"; version="0.1-4"; sha256="1wgn9gywkldfzxgpdfj84l05zw6y84bwzjr7q6fjddfdvxmdwa5n"; depends=[]; }; + LogConcDEAD = derive { name="LogConcDEAD"; version="1.5-8"; sha256="1hycsdgbmaxqq2cmyw0zg33imyzx5y82x2s7marpjiqxv4q4v95r"; depends=[MASS mvtnorm]; }; + logconcens = derive { name="logconcens"; version="0.16-4"; sha256="11bk03kjlb747g54axmb0nayz226g41xvanbw79aij76vjbglv7y"; depends=[]; }; + logcondens = derive { name="logcondens"; version="2.1.1"; sha256="1anawy47g2bmpi5x4s9dqw82c51mv98wfy39sikb1jixbs40mqgp"; depends=[]; }; + logcondens_mode = derive { name="logcondens.mode"; version="1.0.1"; sha256="1i2c2prk5j863p3a3q3xnsv684igfi5czz3dib7zfjldpf0qyaq7"; depends=[logcondens distr]; }; + logcondiscr = derive { name="logcondiscr"; version="1.0.5"; sha256="170rg4rqch0mlhmc1zc59h271b57y3xfxrc3gh9pwvc9r11gw7k5"; depends=[Matrix mvtnorm cobs]; }; + logging = derive { name="logging"; version="0.7-103"; sha256="1sp7q217awizb6l8c9p5dix6skpq8j7w8i088x4mm0fc0qr1ba5c"; depends=[]; }; + LOGICOIL = derive { name="LOGICOIL"; version="0.99.0"; sha256="1wgg7kigzzk5ghjn3hkjf1bb8d6mvjfmkwq64phri5jpxd742ps9"; depends=[nnet]; }; + LogicReg = derive { name="LogicReg"; version="1.5.5"; sha256="1lccxiafi2g2jmzaklcgman5zgax2rvfh61qzwz1w0p57460m581"; depends=[survival]; }; + logistf = derive { name="logistf"; version="1.21"; sha256="0cwbmd0mvj4wywpx7p4lhs70nhab7bfl6fzz2c4snn3ma6sy7x8c"; depends=[mice mgcv]; }; + logistiX = derive { name="logistiX"; version="1.0-1"; sha256="0k2658hph4h9v0f1c4nd0zi72xzf7l4ivhy063y01zx61q8dbi8q"; depends=[]; }; + LogitNet = derive { name="LogitNet"; version="0.1-1"; sha256="08xi5rpbqkc1b3qj24blv3l0r68wcqbsbjcqxiypm75f3c2irc4i"; depends=[]; }; + logitnorm = derive { name="logitnorm"; version="0.8.29"; sha256="0wbdxh3n44nzb6c0ahyd8gndfql1y56fns2bkmzqi3nxy9blhx18"; depends=[]; }; + loglognorm = derive { name="loglognorm"; version="1.0.1"; sha256="0rhx769a5nmidpbpngs2vglsbkpgw9badz3kj3jfmpj873jfnbln"; depends=[]; }; + logmult = derive { name="logmult"; version="0.6"; sha256="1r8i2zgmgm44dhg2z2k7cqy10hldp1p91idjiyg9pmi8dfch8xki"; depends=[gnm qvcalc]; }; + LogrankA = derive { name="LogrankA"; version="1.0"; sha256="005zkpzi8h03qvqlpkygrf9xv4q77klafkfxw47x04jvkhklwigb"; depends=[]; }; + logregperm = derive { name="logregperm"; version="1.0"; sha256="002s5a71m3ykyypq8gw4xa642xnbp2rjwd1cxnf0rkgmshngqaik"; depends=[]; }; + logspline = derive { name="logspline"; version="2.1.5"; sha256="18hpzcg71v3zjzp92whgxgn7w87cadgxr65pp7nv6m5pvj130i3p"; depends=[]; }; + lokern = derive { name="lokern"; version="1.1-5"; sha256="0fgpkmz8jy77sb0m862j7v32lj9d3x373na1102wvq164jjhyqg2"; depends=[sfsmisc]; }; + lomb = derive { name="lomb"; version="1.0"; sha256="06lbk7s1ilqx6xsgj628wzdwmnvbs0p03hdpx8665fhddcxh3ryy"; depends=[]; }; + longCatEDA = derive { name="longCatEDA"; version="0.17"; sha256="1yb0117ycj4079590mrx3lg9m5k7xd1dhb779r3rmnww94pmvja9"; depends=[]; }; + longclust = derive { name="longclust"; version="1.1"; sha256="0cqpwkzgyg42w0yicl7diy4i3g7v3m0g0xwqg64m7hyw123dlcwl"; depends=[]; }; + longitudinal = derive { name="longitudinal"; version="1.1.9"; sha256="048z9n7ca655mjj4gdfj1hlpddkn8jikmh5igv76l5zj9iccw5xy"; depends=[corpcor]; }; + longitudinalData = derive { name="longitudinalData"; version="2.2"; sha256="1kdgnkhk39a9r4fq6zmrvzcvs7qjd21knpzfjglxyx723r9p3fs7"; depends=[clv class rgl misc3d]; }; + longmemo = derive { name="longmemo"; version="1.0-0"; sha256="1jnck5nfwxywj74awl4s9i9jn431655mmi85g0nfbg4y71aprzdc"; depends=[]; }; + longpower = derive { name="longpower"; version="1.0-10"; sha256="0907s9807c1vcxac8xf6aqbw2fi7pdqfjs14nxl7wf0r0wi9jgw2"; depends=[Matrix lme4 nlme]; }; + loop = derive { name="loop"; version="1.1"; sha256="1gr257fm92rfh1sdhsb4hy0fzwjkwvwm3v85302gzn02f86qr5dm"; depends=[MASS]; }; + LoopAnalyst = derive { name="LoopAnalyst"; version="1.2-3"; sha256="0xbiy1xa2c6acfrzh6p9pa6wrds8ipskxq0f86ia9g5zkp1rjk2j"; depends=[nlme]; }; + lordif = derive { name="lordif"; version="0.2-2"; sha256="0898k5w9wky318k8x0zknjqdzdify0yyrnb1506j341l4n1bm04s"; depends=[MASS msm mvtnorm polycor sfsmisc ltm Hmisc rms]; }; + lorec = derive { name="lorec"; version="0.6.1"; sha256="0mgypd8awixh1lzbh5559br4k7vi3pfmwniqhgh68wc06sc6bn65"; depends=[]; }; + LOST = derive { name="LOST"; version="1.1"; sha256="19ar85dykbz0jlzbhlm3pcpffj4cizc6sj3gn93qdvpxkp64jfq9"; depends=[gdata shapes e1071 MASS miscTools]; }; + LowRankQP = derive { name="LowRankQP"; version="1.0.2"; sha256="04xxg68509sgshjnzixzasp41d0vwzgvvwalm0vzfdkfrzp26h24"; depends=[]; }; + lpc = derive { name="lpc"; version="1.0.2"; sha256="1r6ynkhqjic1m7fqrqsp7f8rpxqih5idn4j96fqrdj8nj01znv29"; depends=[]; }; + LPCM = derive { name="LPCM"; version="0.44-8"; sha256="14627wk5azxm3y3a0qfy4qz57nxbdcasnv7djpqhk2gxf5smq19k"; depends=[]; }; + lpint = derive { name="lpint"; version="2.0"; sha256="0p1np8wlfbax0c7ysc5fs9dai8s00h1v0gan89dbd6bx06307w2r"; depends=[]; }; + LPmerge = derive { name="LPmerge"; version="1.5"; sha256="0qy3j6xnsk5h2lmx3mx2q4b5g4vip54nh2f85zg5ncg0x5qqrizb"; depends=[Rglpk Matrix]; }; + lpmodeler = derive { name="lpmodeler"; version="0.2-1"; sha256="17k67l03dkjx61p4hwswghjm6awk0zx173x9xafxrfd8jrgsf6kf"; depends=[slam]; }; + lpridge = derive { name="lpridge"; version="1.0-7"; sha256="0nkl70fwzra308bzlhjfpkxr8hpd8v1xdnah7nscxa10qlisgr2k"; depends=[]; }; + LPS = derive { name="LPS"; version="1.0.4"; sha256="0dy45nn1bmzd17y2dsh4pf4jmh9qvifigvpg2lv2zrmvlx53cli5"; depends=[]; }; + lpSolve = derive { name="lpSolve"; version="5.6.8"; sha256="112lvmkzzl3ds3mvnmyzydjvlzgsdwsywsld6v5paq633975f4aj"; depends=[]; }; + lpSolveAPI = derive { name="lpSolveAPI"; version="5.5.2.0-9"; sha256="1kq3ai04dps2c14gixk67y4ax850zv79674qmf0xxrppq4yzq9n1"; depends=[]; }; + LPStimeSeries = derive { name="LPStimeSeries"; version="1.0-2"; sha256="1gwz2lalgqm6r364lgvk1xd1p11kbrx7lfcpclasz3ygj8lsck9y"; depends=[]; }; + lqa = derive { name="lqa"; version="1.0-3"; sha256="141r2cd9kybi6n9jbdsvhza8jdxxqch4z3qizvpazjy8qifng29q"; depends=[]; }; + lqmm = derive { name="lqmm"; version="1.5"; sha256="12fggqka00y2hwknxwfa2326r2r17mdn2qd213n7xs3pn7v0rg18"; depends=[SparseGrid nlme]; }; + lrmest = derive { name="lrmest"; version="1.0"; sha256="1gdj8pmmzvs1li05pwhad63blhibq45xd1acajxsx06k7k21ajs7"; depends=[MASS]; }; + LS2W = derive { name="LS2W"; version="1.3-3"; sha256="0pdsv7ld0j116rh94m5y1i2mwrzc80fqxmc6ykc51i1sj6ws3i5k"; depends=[wavethresh]; }; + lsa = derive { name="lsa"; version="0.73"; sha256="041wa1i85i90qvm5sxvd9nidis8s069cvf9nw1r68ajkvds65y91"; depends=[SnowballC]; }; + LSAfun = derive { name="LSAfun"; version="0.2"; sha256="114hmqjzrq9pzq6na7yg0wl4yip50na3sgd81c6s3wrnlbdwpl0a"; depends=[lsa rgl]; }; + LSC = derive { name="LSC"; version="0.1.5"; sha256="1nlnwqb24sbgvl96azh8a833ij5xknjr2wr8shs59lm2n63a3ql9"; depends=[LICORS RColorBrewer fields gam Matrix]; }; + LSD = derive { name="LSD"; version="2.5"; sha256="0j7lmsz93q2zv9y05aan5pwhpzh8m1i45mh4p386g7bvfrwlmxbx"; depends=[MASS gtools RColorBrewer colorRamps schoolmath ellipse]; }; + lsdv = derive { name="lsdv"; version="1.1"; sha256="0rl1xszr9r8v71j98gjpav30n2ncsci19hjlc9flzs1s20sb1xpr"; depends=[]; }; + lsgl = derive { name="lsgl"; version="1.0.123.0"; sha256="15chgzds2vb4jgw7vzday6km7i92g6ifpj0a2x9s4nvrdzh9y8di"; depends=[sglOptim Matrix]; }; + lshorth = derive { name="lshorth"; version="0.1-6"; sha256="0nbjakx0zx4fg09fv26pr9dlrbvb7ybi6swg84m2kwjky8399vvx"; depends=[]; }; + lsmeans = derive { name="lsmeans"; version="2.00-5"; sha256="0yqqkzy2ignsgjwhda6i59cvh11p78az5xqb39w4ckcidk5pq96v"; depends=[multcomp plyr Matrix]; }; + LSMonteCarlo = derive { name="LSMonteCarlo"; version="1.0"; sha256="0w5042phkba5dw92r67ppp2s4khjpw5mm701dh9dya9lhj88bz6s"; depends=[mvtnorm fBasics]; }; + lspls = derive { name="lspls"; version="0.2-1"; sha256="1g27fqhnx9db0zrxbhqr76agvxy8a5fx1bfy58j2ni76pki1y4rl"; depends=[pls]; }; + lsr = derive { name="lsr"; version="0.3.2"; sha256="1ahcj3ja5hj7pc7hvzlvhmh62mql3a0awli8szsyld0fpn50wprz"; depends=[]; }; + lss = derive { name="lss"; version="0.52"; sha256="1fvs8p9rhx81xfn450smnd0i1ym06ar6nwwcpl74a66pfi9a5sbp"; depends=[quantreg]; }; + ltm = derive { name="ltm"; version="1.0-0"; sha256="1igkgb0jy3mzlnp9s6avhcpplwijz5g3x26a3lavyy3d9fjpmfpa"; depends=[MASS msm polycor]; }; + ltmle = derive { name="ltmle"; version="0.9.3-1"; sha256="0nvcxl55nmcabsz79vkjxmnifzm2vxg0lgwcjqiwsj242vhnfjhh"; depends=[]; }; + LTPDvar = derive { name="LTPDvar"; version="1.1"; sha256="0zb3ffz5vw1zabgzhpcw1mzfqh4g7r0sq4iy31nzyv8smdwddqzw"; depends=[]; }; + LTR = derive { name="LTR"; version="1.0.0"; sha256="15g5hbrwhab80sarbjgwzvsn6c4fl18h014kz5fpzf0n1rijybik"; depends=[]; }; + ltsa = derive { name="ltsa"; version="1.4.4"; sha256="06db0d4j0kqp4q6rpa3sawcsm5rfgdhzl8fl7cxivjbbyrfnszqp"; depends=[]; }; + ltsbase = derive { name="ltsbase"; version="1.0.1"; sha256="16p5ln9ak3h7h0icv5jfi0a3fbw5wdqs3si69sjbn8f5qs2hz7yp"; depends=[MASS robustbase]; }; + ltsk = derive { name="ltsk"; version="1.0.1"; sha256="1ym9h6af1aq46b6yxhdwnp6kqgx3zw08sal67y8rqd9z68432lx4"; depends=[fields]; }; + lubridate = derive { name="lubridate"; version="1.3.3"; sha256="1f07z3f90vbghsarwjzn2nj6qz8qyfkqalszx8cb5kliijdkwy8z"; depends=[plyr stringr memoise]; }; + luca = derive { name="luca"; version="1.0-5"; sha256="1jiqwibkrgga4ahz0qgpfkvrsxjqc55i2nwnm60xddb8hpb6a6qx"; depends=[survival genetics]; }; + Luminescence = derive { name="Luminescence"; version="0.3.3"; sha256="0z66hc3z5qrbx5j8s11kpv7qc2mcf45r0xrxqfhfbfawzy52sqm3"; depends=[Rserve XML shape rgl matrixStats]; }; + LVMMCOR = derive { name="LVMMCOR"; version="0.01.1"; sha256="1lq4hqcg0qkywdr4a22m1fr3m97749mm6n2jzdj9i7jrf0agc1fs"; depends=[nlme MASS]; }; + LVQTools = derive { name="LVQTools"; version="1.2"; sha256="06mninrrr49xsh00gfsp0vc418r6pdvq3m6sbnj0ywdyki106mni"; depends=[]; }; + lxb = derive { name="lxb"; version="1.3"; sha256="0mvjk0s9bzvznjy0cxjsqv28f6jjzvr713b2346ym4cm0y4l3mir"; depends=[]; }; + lymphclon = derive { name="lymphclon"; version="1.2.3"; sha256="0dvyihghjamqmhn9lvh1qblqh946b9ldnxyhb6z1gi57pyfgq00w"; depends=[VGAM MASS expm corpcor]; }; + M3 = derive { name="M3"; version="0.3"; sha256="1l40alk166lshckqp72k5zmsgm7s5mgyzxlp11l64mgncjwkw2r3"; depends=[ncdf4 rgdal maps mapdata]; }; + MAc = derive { name="MAc"; version="1.1"; sha256="1lshi5rb8l2mpd302wskhlk5vz1wjidvbss9y69l63zjqdwjs7ch"; depends=[]; }; + MAclinical = derive { name="MAclinical"; version="1.0-5"; sha256="1g0ka1kqww2xim8rp5rznkzn0a541zvf841s3lbphfh9k3y3ixs3"; depends=[party plsgenomics st e1071]; }; + MAd = derive { name="MAd"; version="0.8-1"; sha256="16lis6q61d11z0kn3svd77yr0k3jm0zhqpwacl86jdjlmn67l92i"; depends=[]; }; + mada = derive { name="mada"; version="0.5.5"; sha256="01hmj68dn3a003zxkih7h4332fsvib56kpgcw5hanmakdh3lq41j"; depends=[mvtnorm ellipse mvmeta]; }; + MADAM = derive { name="MADAM"; version="1.2.2"; sha256="09w5liqa3mpkbyvkwlabcgyg2b4316qpzq7pbpl0wxl74bsh76vq"; depends=[]; }; + madsim = derive { name="madsim"; version="1.1"; sha256="1d9mv769zia43krdfl43hp22cp5mdi3ycwj3kxyfcjrg23bjnyc0"; depends=[]; }; + Maeswrap = derive { name="Maeswrap"; version="1.4.11"; sha256="15i36xj2bdzhly78614077s8k2z75a1gmzl2crsfgvhyyjdax8r7"; depends=[rgl lattice geometry]; }; + magic = derive { name="magic"; version="1.5-6"; sha256="1399w1zhz79nj8cdhslybncd9h6rylfhb548nv22ip0dxxdkyv0v"; depends=[abind]; }; + magicaxis = derive { name="magicaxis"; version="1.7"; sha256="1zq68iia327gignqpmv314vm79gs39yzqcd3qnwalwbcidrhp32g"; depends=[MASS plotrix]; }; + magma = derive { name="magma"; version="1.3.0-2"; sha256="0hgwjq30ksx2qg4q9fj57m27i96sci8hrfrqc2lw4hz18b6kkph4"; depends=[]; }; + magrittr = derive { name="magrittr"; version="1.0.0"; sha256="1hbiid6pmi0pjwfpamxh260qp9rqgj8hjbji1xncs1z82bpmx99f"; depends=[]; }; + mail = derive { name="mail"; version="1.0"; sha256="1m89cvw5ba4d87kp2dj3f8bvd6sgj9k56prqmw761q919xwprgw6"; depends=[]; }; + mailR = derive { name="mailR"; version="0.1"; sha256="098pn75l4bd0s6x22nv67sypj8i4r4sdzyzka3dr7k3is7gpn1r5"; depends=[rJava]; }; + MAINT_Data = derive { name="MAINT.Data"; version="0.2"; sha256="0kmvz3s6ci9zi9k3vvrkl7jwqfjgdfk7b6xv7dskjh6mbgpcqcf4"; depends=[MASS sn miscTools]; }; + makeProject = derive { name="makeProject"; version="1.0"; sha256="09q8xa5j4s5spgzzr3y06l3xis93lqxlx0q66s2nczrhd8nrz3ca"; depends=[]; }; + malaria_em = derive { name="malaria.em"; version="2.0"; sha256="1n34ahifggpdlpmigy010zysana0fg9c8ji0khk8g3il2gmzmgim"; depends=[]; }; + MALDIquant = derive { name="MALDIquant"; version="1.10"; sha256="1g1xr26skvz4i1m3di35krlzal69gvrk3d6qkf5fhmh2n7qlga6h"; depends=[]; }; + MALDIquantForeign = derive { name="MALDIquantForeign"; version="0.7"; sha256="03kz73n3vmbnqq7sg9qy1d13kxv1kl4pc4jr382zg306z5dphsjw"; depends=[MALDIquant base64enc digest downloader readBrukerFlexData readMzXmlData XML]; }; + mallet = derive { name="mallet"; version="1.0"; sha256="06rksf5nvxp4sizgya7h4sb6fgw3yz212a01dqmc9p5a5wqi76x0"; depends=[rJava]; }; + MAMA = derive { name="MAMA"; version="2.2.1"; sha256="1dcyfir6jv28jzvphiqrjns3jh2zg2201iwcvjzbmddl2isk9h0i"; depends=[metaMA xtable gtools xtable]; }; + MAMS = derive { name="MAMS"; version="0.2"; sha256="1q5ldw2y5ckwbbgny96x6d6wsbvn7v4gvx0h2fdjnjd5bw50144h"; depends=[mvtnorm]; }; + MAMSE = derive { name="MAMSE"; version="0.1-3"; sha256="06q6raqbyi9zwg3wzaygqmfs3di55fh4bln3vscdw95kma4hz9km"; depends=[]; }; + Mangrove = derive { name="Mangrove"; version="1.1"; sha256="15dzxsm982v7sskqh31fdiiqyac37l00i51z3f4nk3zpz6gq2nw5"; depends=[]; }; + ManyTests = derive { name="ManyTests"; version="1.0"; sha256="0lmcvspai6mnq7xn793sx8vbml78ziqs80zym64qa5c1prvrm4jy"; depends=[]; }; + Map2NCBI = derive { name="Map2NCBI"; version="1.0"; sha256="02cgmayrhkyji0cwr6n0f439njq29mzna7sgzkq6ml45njm9m5nh"; depends=[]; }; + MAPA = derive { name="MAPA"; version="1.3"; sha256="00px8yh1jlfhrkkx0ln3acgidn1js3f6nv9n5hs685s82qi64937"; depends=[forecast miscTools]; }; + mapdata = derive { name="mapdata"; version="2.2-2"; sha256="1271qw6v17v12q6g2nabr7jc4k2jvq2dy3vl90kjfdjrpb1fp3rs"; depends=[maps]; }; + MapGAM = derive { name="MapGAM"; version="0.7-0"; sha256="00ggr7wrkz13n1f9gsp3qxxjwb01kq47aqv2mj4pa6p253iw19i7"; depends=[gam maptools]; }; + MAPLES = derive { name="MAPLES"; version="1.0"; sha256="0hzsh7z1k7qazpxjqbm9842zgdpl51irg7yfd119a7b2sd3a8li9"; depends=[mgcv]; }; + mapmisc = derive { name="mapmisc"; version="0.9.4"; sha256="0qsv36sk6fd3ix85yagl86y2r1kkl3qry0g0k6d0rb87aaxmk86i"; depends=[sp raster]; }; + mapplots = derive { name="mapplots"; version="1.4"; sha256="0wwz52hjhp2xzw38zsvbk5cgdfr58rakjnmficjr305x88kisz20"; depends=[]; }; + mapproj = derive { name="mapproj"; version="1.2-2"; sha256="1fdb72hvcp6jm7rhvs8zdkya6ifs92lfqnmq5vj5amwckkxfidc6"; depends=[maps]; }; + maps = derive { name="maps"; version="2.3-6"; sha256="1jw461gb81ykxnjpkykim0fmm3zvb6grkaxip1h9ish8q0sh08kw"; depends=[]; }; + mapStats = derive { name="mapStats"; version="1.17"; sha256="1jnqchrrn2v1smzk1c3laycr2fs8x59c9mb8lhs4bxqbhhwgmi8p"; depends=[survey lattice maptools RColorBrewer Hmisc quantreg classInt sp colorspace reshape2]; }; + maptools = derive { name="maptools"; version="0.8-29"; sha256="1fb5r9i63kch2s7qjidr1n1apwkav9kzh17byrm8p89d50v5ycff"; depends=[sp foreign lattice]; }; + maptpx = derive { name="maptpx"; version="1.9-1"; sha256="1yrlgz5bkjjs3m59dqp60n95lax0fp7xw00v59kymmw5hr3sis6f"; depends=[slam]; }; + maptree = derive { name="maptree"; version="1.4-7"; sha256="1k7v84wvy6wz6g0dyiwvd3lvf78rlfidk60ll4fz7chvr2nrqdp4"; depends=[cluster rpart]; }; + mAr = derive { name="mAr"; version="1.1-2"; sha256="0i9zp8n8i3fxldgvwj045scss533zsv8p476lsla294gp174njr7"; depends=[MASS]; }; + MAR1 = derive { name="MAR1"; version="1.0"; sha256="1r6j890icl5h3m2876sakmwr3c65513xnsj68sy0y0q7xj3a039l"; depends=[leaps bestglm]; }; + mar1s = derive { name="mar1s"; version="2.1"; sha256="0psjva7nsgar5sj03adjx44pw0sdqnsd96m4g6k8d76pv30m1g7l"; depends=[cmrutils fda zoo]; }; + marelac = derive { name="marelac"; version="2.1.3"; sha256="155a8ijl2y8l4r980ml0p23jrwnf36xqsa8s1q6n7arhxwaknhxv"; depends=[shape seacarb]; }; + marg = derive { name="marg"; version="1.2-2"; sha256="0j08zzcrj8nqsargi6xi50gy9pl4smmsp4b7ywlga7r1ga38g82r"; depends=[statmod survival]; }; + margie = derive { name="margie"; version="1.0"; sha256="1jkhg15xdiqjvpzbbc39l8jlfw0yrbarnd3zbgb3p0rh733x5g4j"; depends=[]; }; + marginalmodelplots = derive { name="marginalmodelplots"; version="0.4.2"; sha256="0d7m7sddz9rp1mkvirhcmk7hlbxsag3nm3vqfampnr7l2h158baa"; depends=[locfit]; }; + markdown = derive { name="markdown"; version="0.7"; sha256="18q1yvzv9fk5j09ngrldm32cnswxhrmqx6g8d17srriis6ng6i5v"; depends=[ mime ]; }; + marked = derive { name="marked"; version="1.1.3"; sha256="0nvk7fq2q7yqxmw507bsbss04wggy13kgvcv5v01g8a0wb3ig9ym"; depends=[R2admb truncnorm coda optimx ggplot2 Matrix numDeriv Rcpp plyr]; }; + MarkedPointProcess = derive { name="MarkedPointProcess"; version="0.2.21"; sha256="06bypa124raa4vbcvi082vpd8bndnar4p1v18dq261z6j3ixk44k"; depends=[RandomFields R2Cuba]; }; + maRketSim = derive { name="maRketSim"; version="0.9.2"; sha256="1cq17zjwyf4i5lcqgxqkw805s4mr6qp89blgpmpxy8gdrbfj93m4"; depends=[]; }; + markovchain = derive { name="markovchain"; version="0.0.9"; sha256="0mkyzjzvc9ry7h58zp5jsnryasjllw2n877h1603g1byi9hnhvqg"; depends=[igraph Matrix matlab expm]; }; + MarkowitzR = derive { name="MarkowitzR"; version="0.1402"; sha256="1fbn6l8z76ak8z2nyzmizcjm7h54y58773nsy03x1pwykcwpzw9f"; depends=[matrixcalc sandwich gtools]; }; + marmap = derive { name="marmap"; version="0.7"; sha256="0c015zzwz56qz5wnasng5ckpz2i51nvq03ikzpimzrsn63a8j78z"; depends=[RSQLite gdistance geosphere sp raster ncdf]; }; + marqLevAlg = derive { name="marqLevAlg"; version="1.1"; sha256="1wmqi68g0flrlmj87vwgvyxap0miss0n42qiiw7ypyj4jw9kwm8j"; depends=[]; }; + MARSS = derive { name="MARSS"; version="3.9"; sha256="0vn8axzz0nqdcl3w00waghz68z8pvfm764w11kxxigvjpw2plj31"; depends=[nlme mvtnorm KFAS]; }; + maSAE = derive { name="maSAE"; version="0.1-2"; sha256="18a1zbfmjhrmi3fgqd7vaicpsca59kp8r1003pwl7l4032p32fxk"; depends=[]; }; + MASS = derive { name="MASS"; version="7.3-33"; sha256="1bq005zxyc7842z4cz5ilhh917clfdmhg5czfq6plkdgwq8nfhlk"; depends=[]; }; + MASSI = derive { name="MASSI"; version="1.1"; sha256="13kavfsm48qq9zyp10scfjcgrk0x2n4my7cz2xy78s14knlrks5y"; depends=[fpc gplots]; }; + MASSTIMATE = derive { name="MASSTIMATE"; version="1.1"; sha256="10hs2mprdfa747sz2bjy29jixblbnyb744wxf8gh4jq3d5f5xpiq"; depends=[epicalc]; }; + MasterBayes = derive { name="MasterBayes"; version="2.51"; sha256="0mbvhn6yspralmlajimdin14hszh78m0bxb3zdxd73xhjqxl4ixk"; depends=[coda genetics gtools kinship2]; }; + MAT = derive { name="MAT"; version="0.1-3"; sha256="0z9kiji0kar286dcirsgrszd2kn6hcrfq8jhnn5pa2rfscgccdmj"; depends=[MASS]; }; + Matching = derive { name="Matching"; version="4.8-3.4"; sha256="04m647342j4yi74ds7ddwnyrf58qdy7k3mc067k3p779qavq2ka1"; depends=[MASS]; }; + MatchIt = derive { name="MatchIt"; version="2.4-21"; sha256="02kii2143i8zywxlf049l841b1y4hqjwkr1cnyv6b8b7y7lz2m5v"; depends=[MASS]; }; + mathgraph = derive { name="mathgraph"; version="0.9-11"; sha256="0xikgzn24p0qqlrmaydmjk5yz5pq2rilsvpx86n3p2k2fc3wpwjy"; depends=[]; }; + maticce = derive { name="maticce"; version="1.0-3"; sha256="0nir60jbai0fisccrpkrnjm5z9lvhimhwfiqnmzxw4mjiifj41c2"; depends=[ouch ape]; }; + matie = derive { name="matie"; version="1.2"; sha256="1ymx49cyvz63imqw5n48grilphiqvvdirwsrv82p7jgxdyav2xv0"; depends=[dfoptim mvtnorm seriation igraph gplots cba]; }; + matlab = derive { name="matlab"; version="1.0.1"; sha256="0cfjif92visppk4r028gpp66l8x1c4cc287nildwlhrwf7s9szm3"; depends=[]; }; + Matrix = derive { name="Matrix"; version="1.1-3"; sha256="0f10j4f7bsq55ks4a976l1d8pq3brfpwjx7gj54iv79viyvz1lr3"; depends=[lattice]; }; + matrixcalc = derive { name="matrixcalc"; version="1.0-3"; sha256="1c4w9dhi5w98qj1wwh9bbpnfk39rhiwjbanalr8bi5nmxkpcmrhp"; depends=[]; }; + MatrixEQTL = derive { name="MatrixEQTL"; version="2.1.0"; sha256="03ccawgrkv0r3y8smpym27p5bsxy8y9rhn7pqs9ybb385951azy9"; depends=[]; }; + MatrixModels = derive { name="MatrixModels"; version="0.3-1.1"; sha256="0b44gyvpfvhbkl1vymni7pplidz9a5jrcalswx19hnh5x14qw168"; depends=[Matrix]; }; + matrixpls = derive { name="matrixpls"; version="0.3.0"; sha256="12qa1isj9609xj8qrr8ra8l711zagckim3nwvp7crrv4i6jm4299"; depends=[assertive matrixcalc psych lavaan MASS]; }; + matrixStats = derive { name="matrixStats"; version="0.8.14"; sha256="1sb9vzgcidiy0jynczigbddc70g0nm9052jzh7wxzx922bj8pir1"; depends=[R_methodsS3]; }; + MATTOOLS = derive { name="MATTOOLS"; version="1.1"; sha256="1nzrkm3a08rpsd9vplyf33rrkadlrd0ln70k95qxj98ndh2v97px"; depends=[]; }; + MaXact = derive { name="MaXact"; version="0.2.1"; sha256="1n7af7kg54jbr09qk2a8gb9cjh25cnxzj2snscpn8sr8cmcrij0i"; depends=[mnormt]; }; + maxent = derive { name="maxent"; version="1.3.3.1"; sha256="1skc7d0p6kg0gi1bpgaqn2dmxjzbvcphx5x3idpscxfbplm5v96p"; depends=[SparseM tm Rcpp]; }; + maxLik = derive { name="maxLik"; version="1.2-0"; sha256="1vgq2pjy8244ccdjcrrgri4sn2kcwqyfwskh885ci5aw01121d36"; depends=[miscTools sandwich]; }; + maxlike = derive { name="maxlike"; version="0.1-5"; sha256="0h544wr7qsyb70vmbk648hfyb6arrsb41gw39svcin412rhw9k9j"; depends=[raster]; }; + maxstat = derive { name="maxstat"; version="0.7-20"; sha256="171xsq96qdclb7ndpmv8652gh372ncxfkn5yfngvjv1fb12dq8jx"; depends=[exactRankTests mvtnorm]; }; + MBA = derive { name="MBA"; version="0.0-8"; sha256="09rs1861fz41dgicgh4f95v4zafh1jfxhqar1plpqqdx8z1gpxfl"; depends=[sp]; }; + mbbefd = derive { name="mbbefd"; version="0.1"; sha256="0m24q679b7a27hw7v370p21w9bq18zc225q2df319hdrya3aygf2"; depends=[]; }; + MBCluster_Seq = derive { name="MBCluster.Seq"; version="1.0"; sha256="0xbi2r0g0gzsy05qrq1ljr5f5s3glwxj204vk2f1lgwdx3fd116m"; depends=[]; }; + MBESS = derive { name="MBESS"; version="3.3.3"; sha256="12jsrxwdprrahqbk0i0js7lja81ydy385xmijlqk0slppd72dd9c"; depends=[]; }; + MBI = derive { name="MBI"; version="1.0"; sha256="1lb0sjwa6x360n9a9pagz6yhxh37gxq1fk0f5c3i2sd56ny9jpns"; depends=[]; }; + mblm = derive { name="mblm"; version="0.12"; sha256="17h65bapvz89g5in3gkxq541bxgpj9pciz6i5hzhqn0bdbsb3k6r"; depends=[]; }; + MBmca = derive { name="MBmca"; version="0.0.3-2"; sha256="1fg1yl8nx8mv44d3sb5cjvyqazz0z4qc7947m96bwpcdva79lvkh"; depends=[robustbase chipPCR]; }; + mbmdr = derive { name="mbmdr"; version="2.6"; sha256="0ss5w66hcgd8v8j9bbbp12a720sblhr2hy9kidqfr8hgjaqlch86"; depends=[logistf]; }; + mboost = derive { name="mboost"; version="2.2-3"; sha256="05xsmli8srxq1jyza6s67xgcrjby1rzp1ahc62rh636i9m0ihr9k"; depends=[survival Matrix lattice]; }; + mc2d = derive { name="mc2d"; version="0.1-14"; sha256="1djnvwlq1qvvwhnmj3ijwyaqyp1k778i1yv6qmlj053lc38b54j7"; depends=[mvtnorm]; }; + MCAPS = derive { name="MCAPS"; version="0.3-2"; sha256="1jvxl9xi102pcs3swxlx4jk76i7i4fll88c92k7m379ik3r36alb"; depends=[stashR]; }; + mcbiopi = derive { name="mcbiopi"; version="1.1.2"; sha256="12h4bv3hx1m6bsqdxj5n3b5gh98ms508am8pigz7ckmv0xkyhx85"; depends=[]; }; + mcclust = derive { name="mcclust"; version="1.0"; sha256="00qprmsjwbn2d0jl7p9mz8pv7k8ld3mzk862pr1grigk0lqwhx06"; depends=[lpSolve]; }; + MCDA = derive { name="MCDA"; version="0.0.3"; sha256="0nfj5wlsjhj3z20jvdwl12r18rxnpk343r49j5awkh41qa0qyjr8"; depends=[Rglpk Kendall glpkAPI]; }; + mcga = derive { name="mcga"; version="2.0.9"; sha256="197yldx03c634f3x0mpxxvqrys93n7z7n3x0alvqa42z3vdkrz7b"; depends=[]; }; + mcgibbsit = derive { name="mcgibbsit"; version="1.1.0"; sha256="09ydcbjz3abmh46966v01dh26fy79dfklk3zjf262zp3c62ld9yf"; depends=[coda]; }; + mcGlobaloptim = derive { name="mcGlobaloptim"; version="0.1"; sha256="1p8841y9a4yq51prv6iirgw9ln8jznx8nk547sc5xlznksjy1g9n"; depends=[randtoolbox snow]; }; + mcheatmaps = derive { name="mcheatmaps"; version="1.0.0"; sha256="1gglm32xpmim38m7fziczgqfbpcq2899lxardsrzg6j1vhmf765y"; depends=[gridBase]; }; + MChtest = derive { name="MChtest"; version="1.0-2"; sha256="01lflilrp42m236cznn6qgzvv5v9fzpx6wcfxp3q545bw2xmbdvj"; depends=[]; }; + mcIRT = derive { name="mcIRT"; version="0.40"; sha256="1mqyivxgg0mzhlvl3swgicb78ikk998yab0ssmbagbk24amr1q7h"; depends=[Rcpp RcppArmadillo]; }; + mcll = derive { name="mcll"; version="1.2"; sha256="0i9zqbh0l9a9mv4558gbdq9mh52chanykyfwmiymmxygxhp809sz"; depends=[statmod locfit]; }; + mclogit = derive { name="mclogit"; version="0.2-7"; sha256="1ykkrbbnha7npmxr79qc7x77xa3847rjcax6gxrala5s07yg7sww"; depends=[memisc Matrix]; }; + mclust = derive { name="mclust"; version="4.3"; sha256="0ii3w4d66p47i0xmjl9gz4g36piqz3b2kny876qdfjj7wh9m7hpl"; depends=[]; }; + mcmc = derive { name="mcmc"; version="0.9-3"; sha256="148l28nb1qv82x2hj46c26yhn0lw8x5jsrp2dav9sbysv1bdj2f8"; depends=[]; }; + MCMCglmm = derive { name="MCMCglmm"; version="2.19"; sha256="1rwg5ys8k3ccdndsyswmv2q4hnhqkqix2l271qafhg71nxlm1wd1"; depends=[Matrix coda ape corpcor tensorA]; }; + MCMChybridGP = derive { name="MCMChybridGP"; version="4.3"; sha256="1a2mhhscjf7s2qczc4zz2pvb9kichdqr1lnkjsyiy61snbhkvp3n"; depends=[MASS]; }; + MCMCpack = derive { name="MCMCpack"; version="1.3-3"; sha256="0s1j3047qp2fkwdix9galm05lp7jk7qxyic6lwpbd70hmj8ggs76"; depends=[coda MASS]; }; + mcmcplots = derive { name="mcmcplots"; version="0.4.1"; sha256="0japi78j1a9q6mb7j74d81lj45j8878mdby7765yz8xnjzwjpslb"; depends=[coda sfsmisc colorspace denstrip]; }; + MCMC_qpcr = derive { name="MCMC.qpcr"; version="1.1.3"; sha256="101pbg08p594ilcrrig9sqkddprpl6cd6g9y9rrk1rq6cy5cmrvr"; depends=[MCMCglmm ggplot2]; }; + mcmcse = derive { name="mcmcse"; version="1.0-1"; sha256="1jn5hl6aw83qmwccyfmcsvcymx9cp4d3qnfzzqvlw22x26rx88r6"; depends=[]; }; + mco = derive { name="mco"; version="1.0.12"; sha256="1zfk01l9hza810f0kw8i4d3ayvn6l115c7i31a9ai1c33yralj0d"; depends=[]; }; + Mcomp = derive { name="Mcomp"; version="2.05"; sha256="0wggj0h0qxjwym1vz1gk9iwnwia4lpjlk6n46l6hinsdax3g221y"; depends=[tseries forecast]; }; + MConjoint = derive { name="MConjoint"; version="0.1"; sha256="02yik28mhvd4rfqwrprdbdjx9c49ds55fh042bsjajs2ip467w5c"; depends=[]; }; + MCPAN = derive { name="MCPAN"; version="1.1-15"; sha256="0811wrbp0nf4nj8kvq62ks8yksabib8r1a0gx3nr3v6avfnv08w1"; depends=[mvtnorm multcomp]; }; + McParre = derive { name="McParre"; version="1.0.1"; sha256="16bfca867drbknzc6bylg8paa8p72l23wgjpyvy4pd9z6lpgmhdy"; depends=[MASS]; }; + MCPerm = derive { name="MCPerm"; version="1.1.4"; sha256="0g65vzn43k6qrsglxd2kz245f662gl3c2gdz6qvvxa96v6q9lhh1"; depends=[metafor]; }; + MCPMod = derive { name="MCPMod"; version="1.0-7"; sha256="1iv4c3hsi69yhwch5mf88l27pni07yjnkjqr53kkq167axs7zklx"; depends=[mvtnorm lattice]; }; + mcprofile = derive { name="mcprofile"; version="0.1-7"; sha256="0zjrm3bgr83pqlyjkhg6iwlw4xm4d9ad9gixbav417yw2n9h4p1l"; depends=[quadprog ggplot2 mvtnorm]; }; + mcr = derive { name="mcr"; version="1.2.1"; sha256="0237w41xichd418ax9xviq4wxbcc6c0cgr5gvzkca67nnqgc4jaz"; depends=[]; }; + mcsm = derive { name="mcsm"; version="1.0"; sha256="13sx7s3ywis5n4a70ld2szld9fb8jkfsc82dy6iskhy17vy8pml0"; depends=[MASS coda]; }; + McSpatial = derive { name="McSpatial"; version="2.0"; sha256="18nmdzhszqcb5z9g8r9whxgsa0w3g7fk7852sgbahzyw750k95n4"; depends=[lattice locfit maptools quantreg RANN SparseM]; }; + mda = derive { name="mda"; version="0.4-4"; sha256="18a12fnhcx911ii8wfqkyi8yxrhbiw2pi6mhywgxzsl3a09g8ghh"; depends=[class]; }; + mdatools = derive { name="mdatools"; version="0.5.3"; sha256="00zv97asyxp6m4fckkrzba2v1b24a3qzdh4f03nbv5nxdkmbpv4a"; depends=[]; }; + mded = derive { name="mded"; version="0.1-0"; sha256="0r4pfkgndq71mbkk9yn8f3csa12kn20q7whiy24v875y8sg7w9gf"; depends=[]; }; + MDM = derive { name="MDM"; version="1.3"; sha256="1bvjhl243rf19829ly1qc20ik937hb82lq23aiysj7ya55z8hdpf"; depends=[nnet]; }; + MDPtoolbox = derive { name="MDPtoolbox"; version="4.0.1"; sha256="1iskq61zvv1n0k5akdiwkvkw2kb312cpf7rgjdi45shad6z33n4d"; depends=[Matrix linprog]; }; + MDR = derive { name="MDR"; version="1.2"; sha256="0g2fvvcwagml6635va87nc0ijzy0pypx5aqzz7mf5w13j0wpm24y"; depends=[lattice]; }; + meboot = derive { name="meboot"; version="1.4-3"; sha256="0n01g1mjm07pii1las7l2003kg705fqdi941l9lyvdkglnx0dkc6"; depends=[dynlm nlme]; }; + mederrRank = derive { name="mederrRank"; version="0.0.7"; sha256="08jbqmb418qb7v2x6lm4wig1pfzzfx6fhb49mbfhlkbmssbqsjfq"; depends=[BB numDeriv]; }; + mediation = derive { name="mediation"; version="4.4"; sha256="1vgx0i9gk7lqpvyyci0d5s9ls0ydhvhrqw9041ikb4b6h2y2aln3"; depends=[MASS Matrix lpSolve sandwich]; }; + MedOr = derive { name="MedOr"; version="0.1"; sha256="1rwc14s16lnzgb78ac2017hv9pss7zw7nw3y7vrvq1qx4fgiw6f8"; depends=[]; }; + medSTC = derive { name="medSTC"; version="1.0.0"; sha256="1f7w6jbxairqvghr5b7vgdllg3ian16a1fgi7vqlq0mhy2j6phan"; depends=[]; }; + MEET = derive { name="MEET"; version="5.1.1"; sha256="02xz2zkwqaf1wck9a3h1j6z8dasw4j0zqa88jg6h10wqzcrlp9ba"; depends=[seqinr Matrix ROCR Hmisc KernSmooth]; }; + mefa = derive { name="mefa"; version="3.2-5"; sha256="037vpnwclyj6xgycznh6g6qlirlgy3sjnkjqb1046q80b5ywv2ni"; depends=[]; }; + mefa4 = derive { name="mefa4"; version="0.3-0"; sha256="1n56k8xr2qpmd57cj8z3n9w62h71g4aqsm8yis4dw2vsrfqp2jmf"; depends=[Matrix]; }; + meifly = derive { name="meifly"; version="0.3"; sha256="1x3lhy7fmasss0rq60z5qp74ni32sahw62s8cnp2j431sp95pczc"; depends=[plyr leaps MASS]; }; + mem = derive { name="mem"; version="1.3"; sha256="02q5awb7hh1rn2s54kl2pp935fbj7nq09z6pzhdjflxd0kw1340d"; depends=[sm boot]; }; + memisc = derive { name="memisc"; version="0.96-9"; sha256="0nra47086z4cxwx2hj0w3rdc7zi7k05z9fm6mxw2gi19jgamwcma"; depends=[lattice MASS]; }; + memoise = derive { name="memoise"; version="0.2.1"; sha256="19wm4b3kq6xva43kga3xydnl7ybl5mq7b4y2fczgzzjz63jd75y4"; depends=[digest]; }; + MEMSS = derive { name="MEMSS"; version="0.9-2"; sha256="0wyw8yjs4miwgwdfcnfbzvkxrgv5r3jlg3cg8q2vy7s69wvhksmy"; depends=[lme4]; }; + memuse = derive { name="memuse"; version="1.1"; sha256="1i6l3d885b4v01hlkl50m401bwi7akydhh52gf4kya5khanb8n2b"; depends=[]; }; + MergeGUI = derive { name="MergeGUI"; version="0.2-1"; sha256="1hx03qv5jyjjmqdvylc3kz5dl5qsdqwlirjbrnxrw7grkgkhygap"; depends=[gWidgetsRGtk2 ggplot2 cairoDevice rpart]; }; + merror = derive { name="merror"; version="2.0.1"; sha256="09v62f7ycywasid3b7x52dhidplwdbx9fd0855b40jklfy469bkn"; depends=[]; }; + MESS = derive { name="MESS"; version="0.2-1"; sha256="1hqq615643iqhw6kvcxnxqlpzirdvq0hjm7j2n9x5zkr62syaql3"; depends=[geepack kinship2 mvtnorm]; }; + meta = derive { name="meta"; version="3.5-0"; sha256="1ckyvvgi2q2gpdq6la0lwg787k3qv22f3jxd235l0f50lfvri7dn"; depends=[]; }; + MetABEL = derive { name="MetABEL"; version="0.2-0"; sha256="0rqjv85mgswrbbp8b8ip6cdmz0cvfy9lm5mcr8a7h38rzgx3g3i3"; depends=[]; }; + MetabolAnalyze = derive { name="MetabolAnalyze"; version="1.3"; sha256="0cl76x6imx4a95wd74xx5s8i2vg8wq3inqgakvgzmkwxad6qhrqp"; depends=[mclust mvtnorm ellipse gtools gplots]; }; + metabolomics = derive { name="metabolomics"; version="0.1.3"; sha256="1i5wqpjqbl5rhmys6l3iqkrnni7hw7ihq6c5l49ibi7mfyhzq5j9"; depends=[crmn]; }; + metacom = derive { name="metacom"; version="1.3"; sha256="12asmqwaihm9j6p6qp79m1j93gfcj6rkwmpywhi6nv4g85c1shll"; depends=[vegan lattice]; }; + metacor = derive { name="metacor"; version="1.0-2"; sha256="04k3ph0yg3jp8x4g6l1h4m0qwl51mx0626xmm0fzr1pv4b4a1ypw"; depends=[rmeta gsl]; }; + MetaDE = derive { name="MetaDE"; version="1.0.5"; sha256="1ijg64bri5jn2d3d13q1gvvfyqmbh6gn0lk6dkihixf0jwvjdyqi"; depends=[survival combinat]; }; + metafor = derive { name="metafor"; version="1.9-2"; sha256="1mk53g7jx4c62q4wmwsfmyki1s1g46hr9vhrmshlf6cgqhrmj90z"; depends=[Formula]; }; + metagen = derive { name="metagen"; version="0.2"; sha256="1rhs11qv8vfh8wmh0ga7zsaxnkvk3cfsqip13a9k5x15ph7kpci9"; depends=[MASS lhs plyr BBmisc ParamHelpers BatchJobs BatchExperiments ggplot2 metafor]; }; + metaLik = derive { name="metaLik"; version="0.41.0"; sha256="08wiriq6cm02d0b0q34056y5249daidpjzkwzgjq6dh55v5fp2s4"; depends=[]; }; + metaMA = derive { name="metaMA"; version="2.1"; sha256="1hwhj3m4n48qb9vqix2qazsy1xnmwk8x37zm826xx9j0n5j2ilac"; depends=[SMVar]; }; + metamisc = derive { name="metamisc"; version="0.1.1"; sha256="1cvlsix3b857xdw6anqhqsrfwxpnf4rbzg4ybf6aw7vcdc05zgwd"; depends=[mvtnorm ellipse bbmle rjags coda]; }; + metap = derive { name="metap"; version="0.5-1"; sha256="1bfm5lg38d6ma6vras98d81xy77d2dhswn6jfk5q4cyx0wnx155j"; depends=[]; }; + MetaPCA = derive { name="MetaPCA"; version="0.1.4"; sha256="14g4v3hyxnds4l2q36mpz282yqg8ahgdw3b0qmj0xg17krrf5l2s"; depends=[foreach]; }; + MetaQC = derive { name="MetaQC"; version="0.1.13"; sha256="11595ggjr46z6xiwmhiyx1sydaq68l18y7mgdwxsg81g03ck9x1r"; depends=[proto foreach iterators]; }; + metaRNASeq = derive { name="metaRNASeq"; version="0.4"; sha256="14xqgxvlip6il1gx9xvv37683qm7zmyswklbcgqw9rgqifi0plal"; depends=[]; }; + MetaSKAT = derive { name="MetaSKAT"; version="0.40"; sha256="1jxs32hvsw6wzci9f1rc7sw1dfyazdm2d57wcmhkggfg3hkdn1vv"; depends=[SKAT]; }; + metatest = derive { name="metatest"; version="1.0-4"; sha256="0bz6gg2n4ffkr144jxk27y24xpqhp8awr09wkaijmv8902qx6qah"; depends=[]; }; + Metatron = derive { name="Metatron"; version="0.1-0"; sha256="0pfkb8wh1gbygbi7m9c5zi630clkn2bd1y9yrdxjlqifzvwx4dbi"; depends=[lme4 mpt Matrix]; }; + meteogRam = derive { name="meteogRam"; version="1.0"; sha256="167gyxjnl4dyfqs3znv8sdpkvpqdxzdqi1g730s30gycrm9snap9"; depends=[ggplot2 RadioSonde]; }; + Meth27QC = derive { name="Meth27QC"; version="1.1"; sha256="0ad30svs2kjzmmyvcm0jmv64iyq7slp1x1xl35h2rv1b6zbd4658"; depends=[gplots]; }; + MethComp = derive { name="MethComp"; version="1.22"; sha256="0wp2v8z5y9nl3jalcl2a42z2fpkwkzkvl407farws0yih0hj8b8l"; depends=[nlme]; }; + Methplot = derive { name="Methplot"; version="1.0"; sha256="0aaqss9zfn55qi45jffxkksnkw510npjnkygafx49vl77bkagqh5"; depends=[ggplot2 reshape]; }; + Metrics = derive { name="Metrics"; version="0.1.1"; sha256="1yqhlsmhh9sl7qngl85b7qb980s54h13wwznpakyvvwlar64yqrw"; depends=[]; }; + metRology = derive { name="metRology"; version="0.9-17"; sha256="1g4gv3mpii71i6imfwqg9d5iwfx03bq4lizzhx7dy39b2mj7jd4q"; depends=[MASS numDeriv]; }; + metrumrg = derive { name="metrumrg"; version="5.55"; sha256="1y95j8chnm34svf4q7ijqm19778pnap8734a40v3zb17zbjvs3aj"; depends=[reshape lattice XML MASS]; }; + mets = derive { name="mets"; version="0.2.7"; sha256="1lrxc9x3f9srfmjmr8hhzwvip71dvg7372q7ia6vs4i3asc8cxa3"; depends=[timereg lava numDeriv Rcpp]; }; + MetSizeR = derive { name="MetSizeR"; version="0.99"; sha256="1msq0la89fvg9vfz5k8rzsnhpqa9b8cjyhggp7mp10rzh696sdap"; depends=[gWidgets cairoDevice pscl gtools MetabolAnalyze]; }; + MetStaT = derive { name="MetStaT"; version="1.0"; sha256="0400gx6i8xlkm51da98ap91c3hgrkgfgxswn0plaxfry3625khkp"; depends=[MASS abind pls]; }; + mewAvg = derive { name="mewAvg"; version="0.2.0"; sha256="06vww6r04ig7m8d31y7ag6nr53ska5avy6m0h3lsv4lxygzsyyl1"; depends=[]; }; + MExPosition = derive { name="MExPosition"; version="2.0.3"; sha256="1l27wp0psfvlkk79fhb8ypf8awardjljg1f37yj42friy9pdfksz"; depends=[prettyGraphs ExPosition]; }; + MF = derive { name="MF"; version="4.3.2"; sha256="1arnhyqf1cjvngygcpqk2g4d52949rhkjmclbaskyxcrvp62qln0"; depends=[]; }; + MFDA = derive { name="MFDA"; version="1.1-4"; sha256="0zf21al8ivmsxlf1i7kc01w0jx3s6650a034cdynz7axnxx28ncx"; depends=[gss mvtnorm]; }; + MFHD = derive { name="MFHD"; version="0.0.1"; sha256="0gb8y297y1x03wy46530psmlawyv4z5dydilk36qcmadlk1wx02k"; depends=[fda_usc deldir depth depthTools matrixStats]; }; + mFilter = derive { name="mFilter"; version="0.1-3"; sha256="1cz9d8447iiy7sq47civ1lcjafqdqs40lzxm2a4alw4wy57hc2h6"; depends=[]; }; + mfp = derive { name="mfp"; version="1.4.9"; sha256="1xnx4jgkxccli1y852kvf26q04mdidczpic3ms916a8mkby7kg3k"; depends=[survival]; }; + MFSAS = derive { name="MFSAS"; version="1.0-0"; sha256="1vnhkr4bgwdn6ffzqfp8w7z45m0ghrfr6ib4agv23frk36ypmxxr"; depends=[]; }; + mfx = derive { name="mfx"; version="1.1"; sha256="1zhpk38k7vdq0pyqi1s858ns19qycs3nznpa00yv8sz9n798wnn5"; depends=[sandwich lmtest MASS betareg]; }; + mgcv = derive { name="mgcv"; version="1.7-29"; sha256="0xnp6k5mscg3g7y09zzmphlzwzank01av5i69w8ags021pdazh5n"; depends=[nlme Matrix]; }; + MGLM = derive { name="MGLM"; version="0.0.6"; sha256="00kz2l7xn9df8n0035i2rkgj6rlb99y9z68935q8px70njs8rl87"; depends=[ggplot2 plyr reshape2]; }; + mgpd = derive { name="mgpd"; version="1.99"; sha256="0cxpgza9i0hjm5w1i5crzlgh740v143120zwjn95cav8pk8n2wyb"; depends=[evd numDeriv corpcor fields]; }; + mgraph = derive { name="mgraph"; version="1.03"; sha256="0av2c0jvqsdfb3i0s0498wcms0n2mm0z3nnl98mx2fy7wz34z8b2"; depends=[rgdal]; }; + mGSZ = derive { name="mGSZ"; version="1.0"; sha256="08l98i75h2h8kx9ksvzp5qr8jhf0l6n4j7rg8fcn7hk8chn8v5zh"; depends=[GSA MASS ismev]; }; + MHadaptive = derive { name="MHadaptive"; version="1.1-8"; sha256="1w3bm82v8ahxrf0vqn0pznv7dqn212drinkz8y5kr1flx423l9ws"; depends=[MASS]; }; + mhsmm = derive { name="mhsmm"; version="0.4.12"; sha256="0k8qm447fcgfc5fmqn478dszr76jmin85k51ccqmhgk14jiz64bf"; depends=[mvtnorm]; }; + mht = derive { name="mht"; version="3.00"; sha256="143gmipx6v9nvg2lq1kbl7ns6qmvwpxf3gzmq4b6cfgamcljl05l"; depends=[glmnet]; }; + mhurdle = derive { name="mhurdle"; version="1.0-1"; sha256="1x631fgbq3ika05svyavzadyjd7vi9bcmsgb58wfhpf9xq6j5rcr"; depends=[Formula truncreg maxLik pbivnorm]; }; + mi = derive { name="mi"; version="0.09-18.03"; sha256="01cxkqy5g0i7bqr9rb86075p5gmwgcs7cvs4nfs00r5vjw1hgq61"; depends=[arm abind car foreign lme4 MASS Matrix nnet R2WinBUGS]; }; + mice = derive { name="mice"; version="2.21"; sha256="1j3gn84ch5jw0z9bnyjbavqx064p2x2cd8jsfp368w1xngsf9ll1"; depends=[Rcpp lattice MASS nnet randomForest rpart]; }; + miceadds = derive { name="miceadds"; version="0.11-121"; sha256="13w3jn99214gc0qx8cgpg1hmg5q9nv1kd2rkqzqqp2fif6hls9ll"; depends=[MASS mice mvtnorm pan sirt lme4 MBESS pls mitools bayesm Rcpp]; }; + micEcon = derive { name="micEcon"; version="0.6-12"; sha256="1kxhr3qqgswq8glrjfcjz0hyb163lwf303yhwlgrwjciqgp5dq17"; depends=[miscTools]; }; + micEconAids = derive { name="micEconAids"; version="0.6-14"; sha256="0rjr9pf2imy6ywscqx3v6vwa8abd313p16b9chfc96sdxbkv2ch9"; depends=[lmtest micEcon systemfit miscTools]; }; + micEconCES = derive { name="micEconCES"; version="0.9-8"; sha256="06g6z8hf7y9d942w6gya0fd5aidzfjkx3280gjygdlwpv7nlpqzv"; depends=[minpack_lm DEoptim systemfit car micEcon miscTools]; }; + micEconSNQP = derive { name="micEconSNQP"; version="0.6-6"; sha256="1n3pxapc90iz1w3plaqflayd0b1jqd65yw5nbbm9xz0ih132dby9"; depends=[miscTools systemfit MASS]; }; + MiClip = derive { name="MiClip"; version="1.2"; sha256="0cszylg7sk88gs1f4dfshw74kdifjr4q069ssxzgss9k90rszp30"; depends=[moments VGAM]; }; + microbenchmark = derive { name="microbenchmark"; version="1.3-0"; sha256="1j0pif46bymmkgr61yf2xv2ymm0xwx52lyc46pgas4i9czygdc9v"; depends=[]; }; + MicroDatosEs = derive { name="MicroDatosEs"; version="0.4"; sha256="14xrxf25a2w9h03sm0ppm38sa5cw2xpfxy4l056baafr9hilgvaf"; depends=[memisc Hmisc]; }; + micromap = derive { name="micromap"; version="1.8"; sha256="0mqxqr0sx3351ln0hcr5xdijd4cg41ib7pslgbx58pwbnhy7g3pi"; depends=[ggplot2 maptools RColorBrewer rgdal]; }; + micromapST = derive { name="micromapST"; version="1.0.3"; sha256="182zhpsps8cx3wflc5j62njzsv108d5a30v9sb1wpxpcrnsyr343"; depends=[RColorBrewer]; }; + MicroStrategyR = derive { name="MicroStrategyR"; version="1.0-1"; sha256="0a6bk0wnwx8zy9081n7wb12lidgckrhn350r0q5m6aa82l6l8ihi"; depends=[gWidgetsRGtk2]; }; + MicSim = derive { name="MicSim"; version="1.0.3"; sha256="0h7mhw6476yabl4avin6pkihplg0q8dh7k63rix65aanam07wj8q"; depends=[chron snowfall rlecuyer]; }; + midasr = derive { name="midasr"; version="0.3"; sha256="1gdfrf8p4wxz03bzdqrvj4ss14zy7dh5ac04ncvg4db2wcdxq6z5"; depends=[sandwich optimx MASS numDeriv Matrix]; }; + MIfuns = derive { name="MIfuns"; version="5.1"; sha256="1jhiaf9wrwgrlsl8s81qh0m8x1vpa01gnw2nxcfpshi7i9il3lw7"; depends=[reshape lattice XML MASS]; }; + MigClim = derive { name="MigClim"; version="1.6"; sha256="171pnalidyw0v2fcjdc3kyrq5kg035kwj5xl8zwgn3hlanpaljvp"; depends=[SDMTools raster]; }; + migest = derive { name="migest"; version="1.5"; sha256="1n82z8cl6y3v5fappvslvlviz5r60bz7jx91khk04ygprrb5amgg"; depends=[]; }; + migration_indices = derive { name="migration.indices"; version="0.3.0"; sha256="0h0yjcj70wzpgrv3wl1f2h2wangh1klsllq0i0935plgzw736mwd"; depends=[calibrate]; }; + migui = derive { name="migui"; version="0.00-09"; sha256="0mrvsls9q039pay0vf59xwg6bbr7ahwl4x3iwvar6sbfg8606as8"; depends=[tkrplot mi foreign]; }; + MIICD = derive { name="MIICD"; version="1.1"; sha256="0d697mggax1yp7b4dfxdi25rqmwrq25gmmjqsag6sa5raqr96gc9"; depends=[mstate prodlim cmprsk riskRegression MASS survival]; }; + MILC = derive { name="MILC"; version="1.0"; sha256="14xsiw5al6kixwvf3ph0dlm8s13gsbqvzb92da6ng3x4iiyb1g0w"; depends=[]; }; + mime = derive { name="mime"; version="0.1.1"; sha256="1kgm06n9flw2kh9f63h3i20wg663qscfdvs7dpyb68ic3c7aimci"; depends=[]; }; + MImix = derive { name="MImix"; version="1.0"; sha256="033gxr0z2xba0pgckiigblb1xa94wrfmpgv3j122cdynjch44j4r"; depends=[]; }; + MindOnStats = derive { name="MindOnStats"; version="0.8"; sha256="1fsswkbrxd3f0hz3nd25xvp36si292s4q2r52hw6rsps2mx6bgqi"; depends=[]; }; + minerva = derive { name="minerva"; version="1.3"; sha256="0ph65jfm05wck3zz0lh3bmaj0p4c9309nzkrjpjxqkcnrfdbw6wf"; depends=[]; }; + Miney = derive { name="Miney"; version="0.1"; sha256="0sgln0653rgglinr8rns5s2az0lgyp9slmynyhhhs265grkhrfj0"; depends=[]; }; + miniGUI = derive { name="miniGUI"; version="0.8.0"; sha256="1iq52x7wbcin7ya207jj3k9vym7mavm5z61vggyabdmr768pci39"; depends=[]; }; + minimax = derive { name="minimax"; version="1.0"; sha256="1g0d9q5h1avbb0yg7ajw5330820i3n5cgkpsif754l4j3ikya8p3"; depends=[]; }; + minpack_lm = derive { name="minpack.lm"; version="1.1-8"; sha256="0nvsxqwg3k9k3dqjzkz1vq2z0xla317011zm9ms8y1qvf75raz83"; depends=[]; }; + minPtest = derive { name="minPtest"; version="1.7"; sha256="088kckpbfy2yp0pk3zrixrimywrvkaib5ywa7fkr5phnzlsl80sv"; depends=[scrime Epi]; }; + minqa = derive { name="minqa"; version="1.2.3"; sha256="06w8in7kpsv8c7frpsgjb40x4vsc8y0ashb0il1yyr157gqdgyhn"; depends=[Rcpp]; }; + minque = derive { name="minque"; version="1.0"; sha256="1ympfyf24883n7178s7jspq18bq5j2kb87hz2yq9i99ds6liqr6b"; depends=[klaR agridat Matrix]; }; + minxent = derive { name="minxent"; version="0.01"; sha256="1a0kak4ff1mnpvc9arr3sihp4adialnxxyaacdgmwpw61wgcir7h"; depends=[]; }; + miP = derive { name="miP"; version="1.1"; sha256="17y2badm76iwidjp45flm9ln098lk9r5m6lgx3skzcq3hp075967"; depends=[VIM mi mice Amelia lattice vcd]; }; + MIPHENO = derive { name="MIPHENO"; version="1.2"; sha256="0hcaq66biv4izszdhqkgxgz91mgkjk1yrwq27fx07a2zmzj44sfv"; depends=[doBy gdata]; }; + miRada = derive { name="miRada"; version="1.13.8-8"; sha256="1m6rm65pv4r16r0s5ih69nr3v2rnpsvpdpk07pi7k4f7v9wck71v"; depends=[]; }; + mirt = derive { name="mirt"; version="1.3"; sha256="15136xr7awf6p736g03dxz669rg7x98gfpipxw1fv4kg10zmnk5k"; depends=[lattice GPArotation Rcpp numDeriv]; }; + miRtest = derive { name="miRtest"; version="1.6"; sha256="11jjrw539pgnqh509hba4i3s59hd7797mfcjaadb3jnjg5yxldmc"; depends=[corpcor MASS RepeatedHighDim]; }; + misc3d = derive { name="misc3d"; version="0.8-4"; sha256="0qjzpw3h09qi2gfz52b7nhzd95p7yyxsd03fldc9wzzn6wi3vpkm"; depends=[]; }; + miscF = derive { name="miscF"; version="0.1-2"; sha256="195rb9acdirfhap0z35yvcci5xn4j84mlbafki4l1vfgqgnh0ajj"; depends=[MCMCpack mvtnorm Rcpp RcppArmadillo]; }; + miscFuncs = derive { name="miscFuncs"; version="1.2-4"; sha256="0dql47pn0pq3rxybpc4x3c4m8d83h5j5a5zm0l4mqzjbhwd45src"; depends=[roxygen2 mvtnorm]; }; + MiscPsycho = derive { name="MiscPsycho"; version="1.6"; sha256="1zs6apivzzii7nln3jmhxggnhxk3j54cw84wbsc8hb279rv943il"; depends=[statmod]; }; + miscTools = derive { name="miscTools"; version="0.6-16"; sha256="19mslb64lm8srrmml1v40rfkxhqw02bplw0yjv7qnkqj44hcqfw1"; depends=[]; }; + missForest = derive { name="missForest"; version="1.4"; sha256="0y02dhrbcx10hfkakg5ysr3kpyrsh2d9i5b0qzhj9x5x0d5q11gp"; depends=[randomForest foreach itertools]; }; + MissingDataGUI = derive { name="MissingDataGUI"; version="0.2-0"; sha256="18z25wjq4mcd7vv7wg1xz0hmac2dvd1ap91p22yxvpk1qjllzaq3"; depends=[gWidgetsRGtk2 ggplot2 GGally cairoDevice reshape]; }; + missMDA = derive { name="missMDA"; version="1.7.2"; sha256="07m8vih9bbzsx47g59dz9m8m23r8rrvnwddm29gx0cv24snh97lv"; depends=[FactoMineR]; }; + MissMech = derive { name="MissMech"; version="1.0.1"; sha256="0xcxzgjv9p9w8rdq07vanfrw0b49acdikr8brm78hshy0dsnas32"; depends=[]; }; + MiST = derive { name="MiST"; version="1.0"; sha256="0gqln792gixqfh201xciaygmxbafa0wyv5gpbg9w5zkbbv44wrfk"; depends=[CompQuadForm]; }; + mistat = derive { name="mistat"; version="1.0-2"; sha256="1n5wdn5pl6mflzxpdwjj0x44c8a3cxxpwhmyw1jkx5r8yk95mh3p"; depends=[]; }; + mistral = derive { name="mistral"; version="1.1-0"; sha256="08gnichjihhl8dnyh7612x9m2b8vbj81jcya8bh1aaxql26zq9w1"; depends=[DiceKriging e1071 kernlab Matrix mvtnorm rgenoud]; }; + MitISEM = derive { name="MitISEM"; version="1.0"; sha256="03305ds3rgr29z4idaxzsm83igiygna2sqd5vpixklngsrp8w341"; depends=[mvtnorm]; }; + mitools = derive { name="mitools"; version="2.2"; sha256="08sbm17sw549ljid93x64lxg79f860as6j3vv0f8nh1zb9rabqh8"; depends=[foreign]; }; + mix = derive { name="mix"; version="1.0-8"; sha256="0zdbxrslj39cl272ggzvlc41gysj1inbcbmsa4ch7ss5xvk5vfbf"; depends=[]; }; + mixAK = derive { name="mixAK"; version="3.5"; sha256="1lqazxr5l4a1dpap48b096xclr0b1bbdqyp70gisphblsg6aa9d6"; depends=[colorspace lme4 fastGHQuad mnormt]; }; + mixcat = derive { name="mixcat"; version="1.0-3"; sha256="0xszngygd3yj61pvv6jrrb5j0sxgpxzhlic69xrd5mv5iyw0cmxd"; depends=[statmod]; }; + mixdist = derive { name="mixdist"; version="0.5-4"; sha256="100i9mb930mzvdha31m1srylmpa64wxyjv6pkw1g5lhm1hsclwm3"; depends=[]; }; + mixedQF = derive { name="mixedQF"; version="0.3"; sha256="037376k13qh0c5nw1nxx3fvffisl9kcdyjz5d4i6vn3gfj0yqccc"; depends=[nnet MASS]; }; + mixer = derive { name="mixer"; version="1.7"; sha256="0as9l0s646snli5pykh0i6zpz168f8i5wmxk07l5rhxnb74m0id2"; depends=[]; }; + mixexp = derive { name="mixexp"; version="1.1.1"; sha256="176idz03m24czvzgviqjfwrlsj7iqj1j146x2a6n4nirdnarjwjd"; depends=[gdata lattice]; }; + mixlm = derive { name="mixlm"; version="1.0.2"; sha256="03m3aqyy5bck4qf19y2lbfr6rqfwnsbkz0gbfvwgyg6bwrl564s1"; depends=[multcomp pls leaps lme4 car]; }; + mixlow = derive { name="mixlow"; version="1.0.1"; sha256="12vnp3gl3ykxzgvc4bwhi4flmc1sl2y77yi0zi4by17q93a49akm"; depends=[nlme]; }; + MixMAP = derive { name="MixMAP"; version="1.3.1"; sha256="0m6m9wi0ain7z96s6z6kmwjisfqm3al6m459y5zr2l1cdbdpxfpv"; depends=[lme4]; }; + mixOmics = derive { name="mixOmics"; version="5.0-1"; sha256="0y24z1kk1q9hpy7jm76yqybg29afyjfjayxasyxldvgk1k60634r"; depends=[MASS lattice RGCCA igraph rgl pheatmap]; }; + mixPHM = derive { name="mixPHM"; version="0.7.0"; sha256="0gyvccz205wwnmggh5zw90r6kmr5lv4s4zrdazi2ghjjrvv0gv6b"; depends=[survival lattice]; }; + mixRasch = derive { name="mixRasch"; version="1.1"; sha256="1r067pv7b54y1bz8p496wxv4by96dxfi2n1c99gziqf5ramx3qzp"; depends=[]; }; + mixreg = derive { name="mixreg"; version="0.0-5"; sha256="0wsb1z98ymhshw9nhsvlszsanflxv3alwpdsw8lr3v62bkwka8zr"; depends=[]; }; + mixsep = derive { name="mixsep"; version="0.2.1-2"; sha256="1ywwag02wbx3pkd7h0j9aab44bdmwsaaz0p2pcqn1fs3cpw35wa2"; depends=[tcltk2 MASS RODBC]; }; + MixSim = derive { name="MixSim"; version="1.0-9"; sha256="16kg12784z82x8f1vscv9d5yakmki2m8gqr4hy9417c31xfkk3zy"; depends=[MASS]; }; + mixsmsn = derive { name="mixsmsn"; version="1.0-9"; sha256="0pgip1xfgfrdy3g3197d7visn164zi7xnp6wlsgjwxdylvjsxkji"; depends=[mvtnorm]; }; + mixstock = derive { name="mixstock"; version="0.9.5.1"; sha256="05bnxz7xkr5j96r85r7pc47svc60nwfmfax76naplzbvn751mhkg"; depends=[coda plotrix abind lattice]; }; + mixtools = derive { name="mixtools"; version="1.0.1"; sha256="16rw8dggz5944rl5ijfdzymxdp5kb08690ppagbqbjmadmrzafaf"; depends=[boot MASS segmented]; }; + mixture = derive { name="mixture"; version="1.0"; sha256="17gbnz82ld4d3rd4nizc27qyj0j6ca4vlj9y7sam74h35g2xrkm1"; depends=[]; }; + MixtureInf = derive { name="MixtureInf"; version="1.0-1"; sha256="1cq8zzhhb6vg545n9aw1b9fhx025zy75dd6pw161svsb5776py5d"; depends=[]; }; + mizer = derive { name="mizer"; version="0.2"; sha256="0cpal9lrjbvc923h499hbv4pqw3yjd4jvvhgayxgkak2lz2jzmcz"; depends=[plyr reshape2 ggplot2]; }; + mkin = derive { name="mkin"; version="0.9-24"; sha256="0qg9110h8frva3l3gqy8d6c0nq4z5j9y5jqzpqv00fn5v2dw4zrd"; depends=[FME deSolve minpack_lm]; }; + MKLE = derive { name="MKLE"; version="0.05"; sha256="00hcihjn3xfkzy0lvb70hl2acjkwk6s3y7l4gprix24shnblvxzi"; depends=[]; }; + MKmisc = derive { name="MKmisc"; version="0.96"; sha256="1lcnmswvix290s63cqqlq4ls6wyzzb3f5ykcn4sch6nv71bn8x5x"; depends=[RColorBrewer robustbase]; }; + mkssd = derive { name="mkssd"; version="1.1"; sha256="1qqzy6fn6sc3lxahc19hzzf1hzxsyvxqi7npynw0vkknlrvh2ijp"; depends=[]; }; + mlbench = derive { name="mlbench"; version="2.1-1"; sha256="1rp035qxfgh5ail92zjh9jh57dj0b8babw3wsg29v8ricpal30bl"; depends=[]; }; + MLCM = derive { name="MLCM"; version="0.4.1"; sha256="1g6lmw75qdiq0fshxr3sqwm1a3y4928chxkggnfwwxp8hqw4r6px"; depends=[]; }; + mlDNA = derive { name="mlDNA"; version="1.1"; sha256="0d9lydiwar98hin26slnym4svn0g1xmyn212vvzsx9lzlvs5a9k4"; depends=[snowfall igraph rsgcc e1071 randomForest pROC ROCR]; }; + MLDS = derive { name="MLDS"; version="0.4.3"; sha256="1vql92y2dy1ba5l5xdysqzkzvkrr4bhclmjabn49c8qb2xc2rl40"; depends=[MASS]; }; + mlearning = derive { name="mlearning"; version="1.0-0"; sha256="0r8xfaxw83s2r27b8x5qd0k4r5ayxpkafzn9b1a0jvsr87i6520r"; depends=[class nnet MASS e1071 randomForest ipred]; }; + MLEcens = derive { name="MLEcens"; version="0.1-4"; sha256="0zlmrcjraypscgs2v0w4s4hm7qccsmaz4hjsgqpn0058vx622945"; depends=[]; }; + mlegp = derive { name="mlegp"; version="3.1.4"; sha256="1932544irhzhf6a8rjyh66j57h9awlhwd6xam603bamfg106cmg2"; depends=[]; }; + MLEP = derive { name="MLEP"; version="0.0-3"; sha256="1v3jiqy9lr3p30bpiibbq5cypy46c7vnsl40z0miyviiv4s1c3vz"; depends=[]; }; + mleur = derive { name="mleur"; version="1.0-6"; sha256="0mddphq3b6y2jaafaa9y41842kcaqdl3dh7j4pva55q2vcjcclj7"; depends=[urca stabledist fGarch lattice]; }; + mlgt = derive { name="mlgt"; version="0.16"; sha256="1nvdq6mvgr39ikkf73aggsb6pmbw132injj8fdkr8hgcmwm6lgd9"; depends=[seqinr]; }; + mlica2 = derive { name="mlica2"; version="2.1"; sha256="0c3m1zd9x99n6lw12hfzmd59355z51xa8rhg1h7qwfn9p86r826f"; depends=[]; }; + mlmmm = derive { name="mlmmm"; version="0.3-1.2"; sha256="1m5ziiqs3ll1xjm1yf7x4sdc910jypn3kjnbadf95xxkvqmfrsqq"; depends=[]; }; + mlmRev = derive { name="mlmRev"; version="1.0-6"; sha256="0mvmahnbbp478xwldj4wlsjib4v4afhs07643gxgcqpi56zbd5h7"; depends=[lme4]; }; + mlogit = derive { name="mlogit"; version="0.2-4"; sha256="15ndly7i56k8blgvpn15ixxnqx9yvbci7n3mb3hm9mnrxwh5v7sx"; depends=[Formula maxLik statmod zoo MASS lmtest]; }; + mlogitBMA = derive { name="mlogitBMA"; version="0.1-6"; sha256="1wl8ljh6rr1wx7dxmd1rq5wjbpz3426z8dpg7pkf1x9wr94a2q25"; depends=[BMA abind maxLik]; }; + MLPAstats = derive { name="MLPAstats"; version="0.5-9"; sha256="0cy315kj2ivqwrdhg85ncp634mwx2bbwzs86w1pcjwf03v217wk9"; depends=[nlme boot tkrplot pixmap]; }; + mlPhaser = derive { name="mlPhaser"; version="0.01"; sha256="1s2mqlnbcjdkx0ghvr2sw9rzggqa4jy2vzi9vbyqkh6795lgck6n"; depends=[]; }; + mlr = derive { name="mlr"; version="1.1-18"; sha256="07f68afywylml4qqnid90idvhnplxqlv3gh7shm6769s15cv992a"; depends=[ParamHelpers BBmisc parallelMap codetools]; }; + MLRMPA = derive { name="MLRMPA"; version="1.0"; sha256="0gfbi70b15ivv76l3i0zlm14cq398nlny40aci3vqxxd0m2lyyx5"; depends=[ClustOfVar]; }; + MM = derive { name="MM"; version="1.6-2"; sha256="1z7i8ggd54qjmlxw9ks686hqgm272lwwhgw2s00d9946rxhb3ffi"; depends=[magic partitions emulator Oarray]; }; + mmand = derive { name="mmand"; version="0.1.2"; sha256="00ag668nsl62g2dcndycfh3lljchal2rmbl4qpr8q03h8zjznln7"; depends=[reportr]; }; + mmap = derive { name="mmap"; version="0.6-12"; sha256="12ql03wzwj23h8lwd07rln6id44mfrgf9wcxn58y09wn3ky1rm6a"; depends=[]; }; + mmcm = derive { name="mmcm"; version="1.2-4"; sha256="16lh9ivnj3l01y28lgb5gykkxwa56cssadnh516qwhnv63c586sv"; depends=[mvtnorm]; }; + mmds = derive { name="mmds"; version="1.1"; sha256="0f5qzkfhi7vg8vsd8r41idmbwrrgc7qzfnp81adms2yzrza17wrw"; depends=[]; }; + mme = derive { name="mme"; version="0.1-4"; sha256="1k9l86q8bahkp0g6g6k963j3n2pzz4jb2xljw31r8xxlxpiv11n5"; depends=[mixstock MASS Matrix]; }; + mmeln = derive { name="mmeln"; version="1.1"; sha256="06bxp157cdab6ghx3yrsn8l2gixh9cyv6fv4pqyq0yxqwbjf9bmi"; depends=[]; }; + mmeta = derive { name="mmeta"; version="2.2"; sha256="06zkazi97f3il2vlx4f8c7zz4kxs9ylhscd06j31h504c1w96ddf"; depends=[aod HI]; }; + MMIX = derive { name="MMIX"; version="1.2"; sha256="02c74qp48ixqh5cjp2006zgg4xz4bgxxq3csyhjl219if19kmj5m"; depends=[]; }; + mmm = derive { name="mmm"; version="1.4"; sha256="1nydian004nldqhyw3x15w6qfml2gkjc0x8ii54faz563byjv3d8"; depends=[gee]; }; + mmm2 = derive { name="mmm2"; version="1.2"; sha256="1h9pn5s3jjs4bydrr1qysjb4hv7vs4h3m7mvi22ggs2dzyz3b298"; depends=[gee]; }; + MMMS = derive { name="MMMS"; version="0.1"; sha256="1a71vs3k16j14zgqfd4v92dq9swrb44n9zww8na6di82nla8afck"; depends=[survival glmnet]; }; + mmod = derive { name="mmod"; version="1.2"; sha256="1ln3srlaqn5bz72dych6gl0s0fswslsn74sg4zzpxh31473h6nrp"; depends=[adegenet pegas]; }; + MMS = derive { name="MMS"; version="3.00"; sha256="06909912v2hr52s8k0a0830lbmdh05dcd7k47vydhbwq3rzf3ahg"; depends=[glmnet Matrix mht]; }; + MMST = derive { name="MMST"; version="0.6-1.1"; sha256="1gd7v34xi3wn2rjhk0ih0q2i2hb7c5x8kvv90g90ln803b5wvbhs"; depends=[]; }; + mnlogit = derive { name="mnlogit"; version="1.1.1"; sha256="0n6b5c14dcqv8pldrdgpjq8r2q956whwz2bxalphcf5da9r9jlc7"; depends=[]; }; + MNM = derive { name="MNM"; version="1.0-0"; sha256="0qab0qqhfjmaiji5yqdvd1lqz8f90q40sdwpcah923yi3g6alh2q"; depends=[ellipse ICS ICSNP SpatialNP mvtnorm survey]; }; + mnormt = derive { name="mnormt"; version="1.4-7"; sha256="1nzf48sk9sqw4j9v6fq59qm22956jlad9acn705h4wzasmzbdic2"; depends=[]; }; + MNP = derive { name="MNP"; version="2.6-4"; sha256="068lssg565dw673dm8f5k6dbxl2vblnszg8wibzy3ijf96hp03cw"; depends=[MASS]; }; + mobForest = derive { name="mobForest"; version="1.2"; sha256="198air7fplgiw86vs7m4dn4kai0gpnnmv14bykbw3lnaxk4fk8fd"; depends=[party lattice modeltools]; }; + Mobilize = derive { name="Mobilize"; version="2.16-2"; sha256="077s56cfb6cp2fiyrvva130c63nqr7nczfyfkykmkdsjsgs3ksp8"; depends=[Ohmage ggplot2 wordcloud reshape2]; }; + MOCCA = derive { name="MOCCA"; version="1.2"; sha256="04smpzn9x64w1vpw4szqa7dwnaak1ls6gpg7fgajs68mv5zivffa"; depends=[cclust clv]; }; + modeest = derive { name="modeest"; version="2.1"; sha256="0l4y7yhkgsxycdd2lck0g8g6k2r059hwlrrcpl46md3rva4jgbnp"; depends=[]; }; + modehunt = derive { name="modehunt"; version="1.0.6"; sha256="15rq1yyrjhsn2rlkyiqj36jvji635hy6jsih845mfxdpn4vnssa3"; depends=[]; }; + modelcf = derive { name="modelcf"; version="2.1.1"; sha256="04ls1rj6q06f64dsgpmas18i8m2a24655hhbcpdpikbdsx2sifvh"; depends=[]; }; + modelfree = derive { name="modelfree"; version="1.1-1"; sha256="0ammka2wxx90z31zfzypw9dk5n118l0vxhykxbx6srfig2vdyn82"; depends=[PolynomF SparseM]; }; + ModelGood = derive { name="ModelGood"; version="1.0.8"; sha256="1s86l7kcvfqm1lkpgp74b1bxj14a9r134waszw0da231zdsxfh3c"; depends=[prodlim]; }; + ModelMap = derive { name="ModelMap"; version="3.0.15"; sha256="1d7qn1p4fv94bdlr6if64vxl9yknavix4gzmpg3kxwlrxaz2g8a2"; depends=[randomForest raster gbm rgdal fields HandTill2001 PresenceAbsence]; }; + modeltools = derive { name="modeltools"; version="0.2-21"; sha256="0ynds453xprxv0jqqzi3blnv5w6vrdww9pvd1sq4lrr5ar3k3cq7"; depends=[]; }; + modiscloud = derive { name="modiscloud"; version="0.14"; sha256="0vwhfp50yb21xkanvzk983vk0laflv60kj1ybx3fydfljwqx0rwj"; depends=[date sp sfsmisc raster rgdal]; }; + MODISTools = derive { name="MODISTools"; version="0.93.9"; sha256="086i965gxmcqz7n0a1wg4jhplb3ivpfpwl1w32vzr0wql5yyp85i"; depends=[RCurl XML]; }; + modTempEff = derive { name="modTempEff"; version="1.5.1"; sha256="1xny818gnr5fphxvpc343mcc6xcacr0asi36m7q0bxmzy3lhs8r6"; depends=[mgcv]; }; + moduleColor = derive { name="moduleColor"; version="1.08-1"; sha256="16z0iyy517j1kbsbcpdppy0gyac7vyfz13yznzhs42fwj7k0iwxl"; depends=[dynamicTreeCut]; }; + MOJOV = derive { name="MOJOV"; version="1.0.1"; sha256="11mcqxw83z4xx29s34v4rsbb3zvyhlb2lmvf97b77n455gsy5hab"; depends=[aod survey saws lattice]; }; + mokken = derive { name="mokken"; version="2.7.5"; sha256="0wrf5xlhvb3lcjdxkrf8pfsq8k159l5zvcwni653vrxl1rfwh69m"; depends=[]; }; + mombf = derive { name="mombf"; version="1.5.7"; sha256="0kmxzdkjwlbw3sjinjcxsi1fjylib232agvq0bx58i7bzcad8bv9"; depends=[mvtnorm ncvreg actuar mgcv]; }; + moments = derive { name="moments"; version="0.13"; sha256="05pa4gkmpmp744a5rsr2arqh7y5bgalwrwdn731jg6waqiniy024"; depends=[]; }; + Momocs = derive { name="Momocs"; version="0.2-6"; sha256="187w6xyswlg5nac6lbprcwvj63gka832n33vlj2ix810vqyxd0fk"; depends=[ade4 sp shapes jpeg spdep ape]; }; + mondate = derive { name="mondate"; version="0.10.01.02"; sha256="18v15y7fkll47q6kg7xzmj5777bz0yw4c7qfiw2bjp0f3b11qrd2"; depends=[]; }; + MonetDB_R = derive { name="MonetDB.R"; version="0.9.2"; sha256="0iyyg5mbqb97pjlfj2xd2y9sd8h31d8vv0gnwgc33lwdjl65nsxx"; depends=[DBI digest]; }; + monitoR = derive { name="monitoR"; version="1.0.1"; sha256="0rypa5r26sd3lrprh59384nzzyy2cbmq88qx6q5q647gy8w0kj1g"; depends=[tuneR]; }; + monmlp = derive { name="monmlp"; version="1.1.2"; sha256="14x6xz07hg2c5n36rc314z66jqvgmicjxi2vsqyy91vwjxs9akrm"; depends=[]; }; + monomvn = derive { name="monomvn"; version="1.9-4"; sha256="0hdrwsadjgw1md5fmd5353sc4v2dwbz6qh6h85m755fyv0q1bh5v"; depends=[pls lars MASS]; }; + MonoPoly = derive { name="MonoPoly"; version="0.2-8"; sha256="0lpqqpahpss4q9iddh2p4h6klsrjhg3v6h1wfb70vy0miyhqb93h"; depends=[quadprog]; }; + monreg = derive { name="monreg"; version="0.1.2"; sha256="0qah7yw1xwk3pig413r7l8hhh645d45706mndv614fir738bv9pk"; depends=[]; }; + moonsun = derive { name="moonsun"; version="0.1.3"; sha256="1y8mwxmcy4iz444c2fayyi4i0jk1k561dp6cbjg2b3lmdml0whmi"; depends=[]; }; + mopsocd = derive { name="mopsocd"; version="0.5.1"; sha256="10hssnm1afqmxa9kw6ifqnz3p3yyjrmxgi98zlj31a5g4nis8wb1"; depends=[]; }; + morgenstemning = derive { name="morgenstemning"; version="1.0"; sha256="17y90cf8ajmkfwla0hm4jgkbkd1mxnym63ph2468sfxkhn0r3v88"; depends=[]; }; + Morpho = derive { name="Morpho"; version="2.0.2"; sha256="0pfg01w918qfz8k75g4mbr67dp01a5s9nw1qi59ncrh79qy2zgin"; depends=[Rvcg rgl colorRamps foreach Matrix yaImpute doParallel Rcpp]; }; + MorseGen = derive { name="MorseGen"; version="1.2"; sha256="1kq35n00ky70zmxb20g4mwx0hn8c5g1hw3csmd5n6892mbrri8s9"; depends=[]; }; + MortalitySmooth = derive { name="MortalitySmooth"; version="2.3.2"; sha256="0r24v94nslavxjxvyc8a1f6dar3vm2lysg6qpxcgw6zgx8k0vk00"; depends=[svcm lattice]; }; + mosaic = derive { name="mosaic"; version="0.8-18"; sha256="19qw4m8wvk0j6wjnzz8lc7sz07f9di8n52l739l8wzwzacjrlc6f"; depends=[lattice car Hmisc]; }; + moult = derive { name="moult"; version="1.3"; sha256="0mvzyildng2qs4jgws37wa2b8ms8bv7mmzs0dxbc1wcq56vfs9yj"; depends=[Formula]; }; + move = derive { name="move"; version="1.2.475"; sha256="0d542554bamgnc5qd7z497ssk885mz4m1wbaiqpi5cyxd24kwgii"; depends=[geosphere sp raster rgdal]; }; + movMF = derive { name="movMF"; version="0.1-3"; sha256="0ad9ihvr63jgdxyr5fjbrf5cqjlcjaxfbygapb5li3lb1q0f01vl"; depends=[skmeans clue slam]; }; + mpa = derive { name="mpa"; version="0.7.3"; sha256="0mhnsbgr77fkn957zfiw8skyvgd084rja1y4wk5zf08q5xjs2zvn"; depends=[network]; }; + MPCI = derive { name="MPCI"; version="1.0.6"; sha256="1ngxx5363cm2cid3dl9amva016xy914sz49nfdkh88hjsxv3svjc"; depends=[]; }; + MPDiR = derive { name="MPDiR"; version="0.1-15"; sha256="1ga3dk9ncycsq30w6na4g7aik43v8q2kcrg7x6lpmiaa9qa2wn16"; depends=[]; }; + mph = derive { name="mph"; version="0.9"; sha256="11wcy23sv8x7aq6ky8wi0cq55yhjkkm9hn672qy803dwzzxv5y61"; depends=[]; }; + MPINet = derive { name="MPINet"; version="1.0"; sha256="1zw3piqhhpagg5qahc2xahxxfdwdk8w94aass1virlpl0f52ik8s"; depends=[BiasedUrn mgcv]; }; + MplusAutomation = derive { name="MplusAutomation"; version="0.6-2"; sha256="0b85hnxxd46xr240k0vswwh81n57a2azmmz9wyc6x8qidiagqzxg"; depends=[plyr boot gsubfn coda xtable lattice]; }; + mpm = derive { name="mpm"; version="1.0-22"; sha256="0wijw8v0wmbfrda5564cmnp788qmlkk21yn5cp5qk8aprm9l1fnk"; depends=[MASS KernSmooth]; }; + mpMap = derive { name="mpMap"; version="1.14"; sha256="0gmhg5ps8yli8699a5aw26skfbjxx4zpp0paqxxdc0zl28l0pdff"; depends=[gdata seriation qtl wgaim]; }; + mpmcorrelogram = derive { name="mpmcorrelogram"; version="0.1-3"; sha256="0qgzsh744002whh3v1hrxs1i0xnk9zgfgkdgx2f0ffj00vvnwr97"; depends=[vegan]; }; + mpmi = derive { name="mpmi"; version="0.4"; sha256="0lfzw1bncp9nhsng5j5avvwi02grx8pmf39v5zav63s0lzmrj8a3"; depends=[KernSmooth]; }; + mpoly = derive { name="mpoly"; version="0.0.5"; sha256="1zhmd3lsa0n56yr3bdhg3r668zrmf35phm8g69c18a3rr5qmcdqg"; depends=[stringr rSymPy rJython rJava rjson partitions plyr]; }; + MPSEM = derive { name="MPSEM"; version="0.2-3"; sha256="1shg2n2bsv14bc3i0z6d88gz1n813ad5xnz9z77b7q92v8dr6wn3"; depends=[ape MASS]; }; + mpt = derive { name="mpt"; version="0.4-1"; sha256="08drh66056pnvs43gc7dxhb62ajkdijbc9ca2y1hjrgvkssqk5xg"; depends=[]; }; + MPTinR = derive { name="MPTinR"; version="1.3.5"; sha256="0igxmgf3r3d3nacz5nv95aikk4jqacbd75wdry14ahhn513h7qx5"; depends=[numDeriv Brobdingnag]; }; + MPV = derive { name="MPV"; version="1.29"; sha256="165sbayrp8p3aqwqrmf1g10agm0kdjksr6mr6p929j22kkf3k8gx"; depends=[]; }; + mQTL = derive { name="mQTL"; version="1.0"; sha256="0k80xvkr0b0mp3bj2s558fjxi2zf4k7ggnw6hsjm8lr84i108dks"; depends=[qtl MASS outliers]; }; + mra = derive { name="mra"; version="2.13"; sha256="1x282nzdz5bd3yji26mnzlvrkxszx15cra079k07rgdxqnixg2c8"; depends=[]; }; + mratios = derive { name="mratios"; version="1.3.17"; sha256="0a2pn4234ri5likaqbxgkw8xqmwchr6fak3nninral0yzd4rcal5"; depends=[mvtnorm]; }; + MRCE = derive { name="MRCE"; version="2.0"; sha256="0fnd7ykcxi04pv1af5zbmavsp577vkw6pcrh011na5pzy2xrc49z"; depends=[QUIC]; }; + MRCV = derive { name="MRCV"; version="0.3-1"; sha256="0dr8mh1gf68qd88bx686r4j22nz5qr6nc65x6icv6idsy1q27xsn"; depends=[tables]; }; + mrdrc = derive { name="mrdrc"; version="1.0-6"; sha256="0kk6837hx4c7ixsrmib46ycvimv90ka8sj3w0310s4d7bzxvw1sc"; depends=[drc locfit]; }; + mrds = derive { name="mrds"; version="2.1.5"; sha256="1zpp28v389r955d3y6d6b9mvjn08ayym2j0wmynjmsfqp3phfp3z"; depends=[optimx mgcv Rsolnp]; }; + mreg = derive { name="mreg"; version="1.1"; sha256="06la0yy2yys161jhlzlcm5lcv0664wm6sa8gjdnpd1s1nx52jkqf"; depends=[]; }; + mritc = derive { name="mritc"; version="0.4-0"; sha256="02a8h1x3pk406zpn89gl5wkcd74qm5gqz8gqpckk3nv881pkayaz"; depends=[lattice misc3d fmri AnalyzeFMRI]; }; + mRm = derive { name="mRm"; version="1.1.5"; sha256="0sbpk7z4ij917nw8wyvnm87iav95ybqrzvmsjy3r8nyq55bjzyn7"; depends=[]; }; + MRMR = derive { name="MRMR"; version="0.1.3"; sha256="1b3a4bkpcncl4sh7d81nk6b2dzhzqn9zhqdxv31jgippsqm2s3k2"; depends=[reshape2 ggplot2 lubridate lmtest plyr]; }; + mRMRe = derive { name="mRMRe"; version="2.0.4"; sha256="1ig78szk20s0cdj4pzrxxqa2hlx7126fh0jah8ym0563ps8hwill"; depends=[survival igraph]; }; + MRsurv = derive { name="MRsurv"; version="0.2"; sha256="148myzk6r8whkpv1yv59dmdlr2n8vdwmaww165aw696xfjxwq550"; depends=[survival mvtnorm]; }; + MRwarping = derive { name="MRwarping"; version="1.0"; sha256="13bcs7rlm4irx7yzdnib558w9014a4chh9xwc010m6pxvxv36qnv"; depends=[boa SemiPar]; }; + msap = derive { name="msap"; version="1.1.5"; sha256="0y9dxj8g05w344rj3mfc4cafqbh59dxxg3z75nk8xjy2xsv60wxs"; depends=[ade4 scrime pegas cba ape]; }; + msarc = derive { name="msarc"; version="1.3.2"; sha256="1y9yy8gzha2q8qicxj7j6r2iqy8bdbckdnqjakh74hlpp8jyqx5i"; depends=[gplots]; }; + MsatAllele = derive { name="MsatAllele"; version="1.05"; sha256="1w489xjc7vxanam6hr4ym692j6a2skkmyzgqsmccy3101pzn522h"; depends=[]; }; + MSBVAR = derive { name="MSBVAR"; version="0.7-2"; sha256="0gcbzc2pb14hvd1b1phjkm38l5nh4m3s8zdgwh9xvv4qmx255czw"; depends=[KernSmooth xtable coda bit mvtnorm lattice]; }; + mseapca = derive { name="mseapca"; version="1.0"; sha256="115njdk8cv55zxd38hq9qaca686ykckni0f3xl8w3bn32gb5g9a7"; depends=[XML]; }; + MSeasy = derive { name="MSeasy"; version="5.3.3"; sha256="191mvg1imxfjlnd808ypn4lsjx7n6ydf16flax79hv01z7rcjylh"; depends=[amap clValid cluster fpc]; }; + MSeasyTkGUI = derive { name="MSeasyTkGUI"; version="5.3.3"; sha256="0ihz8vr2wbgy88bzssilgvlhkbr13jznfjvnqy73wpchqgwy0wy6"; depends=[MSeasy]; }; + mseq = derive { name="mseq"; version="1.2"; sha256="0h1wdnmlw7raqyy7844zl5k942d6glhv0lihd4h3gcv5is0if66w"; depends=[gbm]; }; + MSG = derive { name="MSG"; version="0.2.2"; sha256="18siw81pa02yg0zs40pavwm88yz7kfi60fislmjpwnl2207a6fhf"; depends=[RColorBrewer]; }; + msgl = derive { name="msgl"; version="2.0.125.0"; sha256="0jpyzn6pp3fh22qxmbgapdbjkxrvjl0mkk5cms0cldawbds3p4sj"; depends=[Matrix sglOptim]; }; + msgpackR = derive { name="msgpackR"; version="1.1"; sha256="0a6vm4q1zfy8wlvhl9wfy09ig1iag9fvjasz5w9bll7idky4ldx5"; depends=[]; }; + msgps = derive { name="msgps"; version="1.3"; sha256="0nvxy9a41z5d111gqr1gh521imm795l1li70g1mzrag1gpg810c5"; depends=[]; }; + msir = derive { name="msir"; version="1.3"; sha256="0d7zxjmhr1ri3qz3fdkf56fi5dz2p9lb2vyqccrpn7js2ibkqhpl"; depends=[mclust]; }; + msm = derive { name="msm"; version="1.3"; sha256="1imkzwk4f727g04p3q3h442wiw5ccg3n47skdgsxz3yy5nxlll8v"; depends=[survival mvtnorm expm]; }; + msme = derive { name="msme"; version="0.4.4"; sha256="16j1xl0vn2ph7hbhlp9sdlm3dl4qygg97j13fwqn9slzhyr986sk"; depends=[MASS lattice]; }; + msos = derive { name="msos"; version="1.0.1"; sha256="0fbxi8x83sj8a6bahc7q28vql00pxqdia2vxb6ilsc459xaph6vc"; depends=[mclust tree]; }; + MSQC = derive { name="MSQC"; version="1.0.1"; sha256="1vs9kygjg9f4sr1m80hdn03gdhbdqfjamqxhbs9zha8smjrsgisw"; depends=[rgl]; }; + msr = derive { name="msr"; version="0.4.1"; sha256="1kfj6xq7l32ligc53akiym3s9if87087gan8nqz4w7d8nxp693s7"; depends=[Matrix class glmnet e1071 rgl RColorBrewer colorspace]; }; + msSurv = derive { name="msSurv"; version="1.1-2"; sha256="1nyadgzwdyf48qhqdx8sszvgkhxafacnccacg39ghm6gqv8b5j60"; depends=[class lattice]; }; + mstate = derive { name="mstate"; version="0.2.6"; sha256="1kj2w9xqip1mn217ri2pa32bsmyfxndmda9r6j64xkz00lnynsff"; depends=[survival survival]; }; + MSwM = derive { name="MSwM"; version="1.2"; sha256="01l23ia20y3nchykha4vz6sa757zmbvgx2315cacxfcqk9rgs08c"; depends=[nlme]; }; + MTS = derive { name="MTS"; version="0.32"; sha256="0jxa0madik1d317wsl1svb2bndi6mw125brbxpyf019lknh6yajy"; depends=[Rcpp fGarch mvtnorm]; }; + mtsdi = derive { name="mtsdi"; version="0.3.3"; sha256="1hx4m1jnfhkycxizxaklnd9illajqvv1nml8ajfn3kjmrb5z7qlp"; depends=[gam]; }; + MTurkR = derive { name="MTurkR"; version="0.4"; sha256="19hk6jgkj7rr4syad3chmyacn0q2m9lq0z3hdrfavcwqa203zgp9"; depends=[RCurl digest XML]; }; + MUCflights = derive { name="MUCflights"; version="0.0-3"; sha256="03ksvv5nyzlqiml1nz405r3yqb2cl35kpm1h61zcv2nqq8cxqshs"; depends=[XML geosphere sp RSQLite NightDay]; }; + MuFiCokriging = derive { name="MuFiCokriging"; version="1.2"; sha256="09p8wdmlsf21ibqyjigwdipcin3ij0naxcd035hqgfj76v20wiyv"; depends=[DiceKriging]; }; + mugnet = derive { name="mugnet"; version="1.02.0"; sha256="0mr70iizs93awl6bzg3i4w3i35dyyq0ckpakph3psga1xqdq6gzm"; depends=[catnet]; }; + muhaz = derive { name="muhaz"; version="1.2.5"; sha256="1vj33kg2mfr79y4ayybkjamxx0swykpf7iqbw502xclqyvd7a9hn"; depends=[survival]; }; + multcomp = derive { name="multcomp"; version="1.3-3"; sha256="1cxlkvwr67k10l65ia1fgsvqaz1zh8rhbjim63a9zjha32cy1dcx"; depends=[mvtnorm survival TH_data sandwich]; }; + multcompView = derive { name="multcompView"; version="0.1-5"; sha256="0vfgvqxqgxyifkqs3r5xxj7rfn8lfmby6wyyiqa5jv01073xchib"; depends=[]; }; + MultEq = derive { name="MultEq"; version="2.3"; sha256="0fshv7i97q8j7vzkxrv6f20kpqr1kp9v6pbw50g86h37l0jghj7r"; depends=[]; }; + multgee = derive { name="multgee"; version="1.4"; sha256="02h8zl79a8ad0q3inpb3aqjr9icjxjiph2b4rxnwa6kq8p3aagwn"; depends=[gnm VGAM]; }; + multibiplotGUI = derive { name="multibiplotGUI"; version="0.0-1"; sha256="0klslbj1v0j10hv8xgyxgp4d2rkm3l4gr0gyrr1g8lyj0gf43sb3"; depends=[rgl tkrplot RODBC]; }; + multic = derive { name="multic"; version="0.3.8.1"; sha256="06lc9kn0z3s7x00hz8vj903q0c6cncnj4v3ygvd2yvkgcbhfvjd0"; depends=[]; }; + MultiChIPmixHMM = derive { name="MultiChIPmixHMM"; version="5.0"; sha256="07pyibxk7dccbjr02ahil0fmjx60aq214fid29zakvpn2qg7kjdq"; depends=[]; }; + Multiclasstesting = derive { name="Multiclasstesting"; version="1.3.9"; sha256="09y3gnarqv15wgmk545qrwpjwb2ilv2b2kc74cxzcb2p1lflfjzm"; depends=[]; }; + MultiCNVDetect = derive { name="MultiCNVDetect"; version="0.1-1"; sha256="0mfisblw3skm4y8phfg4wa0rdchl01wccarsq79hv63y78pfhh13"; depends=[]; }; + multicon = derive { name="multicon"; version="1.2"; sha256="0cjmh4q2yvv9pqmmnilzhzvmds2nzbipy4vd009zjfq4c925c7m0"; depends=[psych abind foreach mvtnorm sciplot]; }; + multicool = derive { name="multicool"; version="0.1-2"; sha256="1rs7q93lcr1crrx433zgil2db1rb3n4qw62r52nvpllqfwfx98dc"; depends=[]; }; + multicore = derive { name="multicore"; version="0.1-7"; sha256="122qxzkb9zl81xj8y1w3dmb0vqz81js94x39fmkld9jw7ydiha8l"; depends=[]; }; + multiDimBio = derive { name="multiDimBio"; version="0.3.3"; sha256="1aj6yam31mr0abjb6m5m85r1w71snha4s7h4ikyw66sc73xkmb9m"; depends=[ggplot2 lme4 misc3d MASS RColorBrewer]; }; + multigroup = derive { name="multigroup"; version="0.2"; sha256="1y4z6fwl68n3bk5klf3hz9jkvyx59pyq84d4brszs3hzb59ra39z"; depends=[]; }; + MultiLCIRT = derive { name="MultiLCIRT"; version="2.6"; sha256="18c2wb9jf44vjiiz3a4ggksi0z7rgwyvpqhfb67rra304rp1gs4r"; depends=[MASS]; }; + multilevel = derive { name="multilevel"; version="2.5"; sha256="0pzv5xc8p6cpzzv9iq3a3ib1dcan445mm12whf3d6qkz2k4778g6"; depends=[nlme MASS]; }; + multilevelPSA = derive { name="multilevelPSA"; version="1.2"; sha256="1wkywcnlvmf5li3ii7vhjsj390ay88gz9ll5agiyaj15gfd3mjls"; depends=[ggplot2 plyr psych reshape proto xtable xtable]; }; + multinbmod = derive { name="multinbmod"; version="1.0"; sha256="1c4jyzlcjkqdafj9b6hrqp6zs33q6qnp3wb3d7ldlij7ns9fhg71"; depends=[]; }; + MultinomialCI = derive { name="MultinomialCI"; version="1.0"; sha256="0ryi14d102kvxawls04hcw50n79jkcn29ill77lkfvj6nlzj8i5q"; depends=[]; }; + multinomRob = derive { name="multinomRob"; version="1.8-6.1"; sha256="1fdjfk77a79fy7jczhpd2jlbyj6dyscl1w95g64jwxiq4hsix9s6"; depends=[rgenoud MASS mvtnorm]; }; + MultiOrd = derive { name="MultiOrd"; version="2.1"; sha256="12y5cg06qyaz72gk3bi5pqkd55n72rz056y9va49znlsqph09x2x"; depends=[mvtnorm corpcor Matrix psych]; }; + MultiPhen = derive { name="MultiPhen"; version="2.0.0"; sha256="05w7khzyxswlsz4sxhaakbz828zrdya1y8qcsdfc6w7wgl8qpmj9"; depends=[MASS abind epitools meta HardyWeinberg RColorBrewer gplots]; }; + multiPIM = derive { name="multiPIM"; version="1.4-1"; sha256="0r69gkl8k6dd2rafrwvrdkpz4jlffz1g6czspsi908jf9dyw8y72"; depends=[lars penalized polspline rpart]; }; + multiplex = derive { name="multiplex"; version="1.2"; sha256="06wrzglgrvahavlcknf80cp0j4k840dhmclw9g6wqv51pq9brj2f"; depends=[]; }; + multipol = derive { name="multipol"; version="1.0-6"; sha256="1yjz0p4mcgzs98s61i8315wyhh986jxp8b0lq66375ckpr2ddcss"; depends=[abind]; }; + multisensi = derive { name="multisensi"; version="1.0-7"; sha256="1sq0jxkp33wsv6id27nka0764mr1jskqzsr2nhmqc4c8l312bkp6"; depends=[]; }; + multitable = derive { name="multitable"; version="1.6"; sha256="067bgl793wwvb1rhan70ih0ga3dxja2c6zx7fwzml5rqi6p728pr"; depends=[]; }; + multitaper = derive { name="multitaper"; version="1.0-8"; sha256="1x0a4nrngh1hs44h4gnmjfhx57kgxmkyzm431i5k288ydv57vvx0"; depends=[]; }; + multivator = derive { name="multivator"; version="1.1-4"; sha256="125ifkpm1pny4rjpzirnwpmpjfg0y8w0rygj0way0p1qwm0l207n"; depends=[emulator mvtnorm]; }; + multxpert = derive { name="multxpert"; version="0.1"; sha256="03mvf4m0kabm22vy4zkj1cfh884larpj8cbgg3p9l3pag20snf1l"; depends=[mvtnorm]; }; + muma = derive { name="muma"; version="1.4"; sha256="0midx3wzyvcz8rk9kvsfll3xg41pkz40si4jw2ps54ykkf9rkm99"; depends=[car pdist pls gplots mvtnorm robustbase gtools bitops caTools pcaPP rrcov]; }; + MuMIn = derive { name="MuMIn"; version="1.9.13"; sha256="05q6hwjkgly0xzfjkd7ybycb0x1vwcfbzc4h1prn9kjllrlrwxw5"; depends=[]; }; + munfold = derive { name="munfold"; version="0.3-1"; sha256="0rjicbyhxp0xr375ryg7kb2a4rvh3giw62ypws63nc3l8iwsig2m"; depends=[memisc MASS]; }; + munsell = derive { name="munsell"; version="0.4.2"; sha256="1bi5yi0i80778bbzx2rm4f0glpc34kvh24pwwfhm4v32izsqgrw4"; depends=[colorspace]; }; + muRL = derive { name="muRL"; version="0.1-9"; sha256="0711hxq8l0zc8w8k3aj4f9sq8xl5mqqx70dvq0m66kahkh2pnhgb"; depends=[maps]; }; + muscle = derive { name="muscle"; version="3.8.31-1"; sha256="0i5y54hnkbbzg2radp5cnznab3hk73nmmsp8n5v4ybmqr226kgqj"; depends=[]; }; + muStat = derive { name="muStat"; version="1.7.0"; sha256="18727xj9i9hcnpdfnl1b9wd6cp7wl1g74byqpda2gsrcardl57wz"; depends=[]; }; + mutoss = derive { name="mutoss"; version="0.1-8"; sha256="13x49dk1xyn697yindg6m00nqbn2cb12544v2k14ckmnw07mp1gq"; depends=[mvtnorm plotrix multcomp]; }; + mutossGUI = derive { name="mutossGUI"; version="0.1-8"; sha256="1lpfz5d36v0szfg7vn7gdad27rvzxbx4w3651dmi2y1ff0d8j5z3"; depends=[rJava JavaGD CommonJavaJars plotrix mutoss multcomp]; }; + MVA = derive { name="MVA"; version="1.0-5"; sha256="18x075hjqhrjwxivvrixgs6yc67il3n5p1m7v2wymcf8h2mkki91"; depends=[HSAUR2]; }; + mvabund = derive { name="mvabund"; version="3.8.4"; sha256="0qvyyi8r6z6qg30vpbbr0jcajaviygwwzsfs2fw0bjix1p2df43w"; depends=[Rcpp MASS]; }; + MVB = derive { name="MVB"; version="1.1"; sha256="0an8b594rknlcz6zxjva6br8f34sgwdi2jil3xh1xzb5fa55dw0f"; depends=[Rcpp RcppArmadillo]; }; + mvbutils = derive { name="mvbutils"; version="2.7.4.1"; sha256="1vs97yia78xh35sdfv5pj3ddqmy83qgamvyyh9gjg0vdznqhffzg"; depends=[]; }; + mvc = derive { name="mvc"; version="1.3"; sha256="0kmh6vp7c2y9jf71f4a29b0fxcl0h7m4p8wig4dk3fi7alhjf7ym"; depends=[rattle]; }; + mvcwt = derive { name="mvcwt"; version="1.2"; sha256="0fk7jgf07cap3mjg317z8g6bv28mlnwcn0lrd7my31zqima78hm9"; depends=[foreach RColorBrewer]; }; + mvinfluence = derive { name="mvinfluence"; version="0.6"; sha256="1cd5p6cl2zln8madjf3vsbmqlg4nsklzzy6ngdd5glj1a9qapd6c"; depends=[car heplots]; }; + mvmeta = derive { name="mvmeta"; version="0.4.3"; sha256="1f4sb55ybsd3fa2951y4h2iyyiarndmgcbcikhcvd9dbnhxr6rdv"; depends=[]; }; + mvMORPH = derive { name="mvMORPH"; version="1.0.2"; sha256="1zzh2vmm3l6zvzg8b39ivkx2jmbw2g6n00jj4icp46w8jb26rlwa"; depends=[phytools ape corpcor subplex]; }; + MVN = derive { name="MVN"; version="3.4"; sha256="13cmb4xls3j366lcjl6a7vimx457q1a531sy23nrddmyw1g918l2"; depends=[nortest moments MASS]; }; + mvna = derive { name="mvna"; version="1.2-3"; sha256="1gwv17j6w9c38bqvnasv9kfigbdxiqkzwj89gqmkxgw715f9nnpp"; depends=[lattice]; }; + mvngGrAd = derive { name="mvngGrAd"; version="0.1.3"; sha256="1c0rwywsa2dzhhphwc9prdxv6jyk1qdc655zvzyxif6ay3wnganf"; depends=[]; }; + mvnmle = derive { name="mvnmle"; version="0.1-11"; sha256="02mpmrr22cqb3v8x7kydgg715yl3lrdgzgdqpchmp0xrl2db8gq4"; depends=[]; }; + mvnormtest = derive { name="mvnormtest"; version="0.1-9"; sha256="1iaxjwp7bgxhaa4xqvgqb61316mq2fb0452d0pabhmbxkvmvdnj6"; depends=[]; }; + mvoutlier = derive { name="mvoutlier"; version="2.0.4"; sha256="131nc6m0h21azdxdxirabmnzzbg4iyhsbf3lq79v7w1f30irlv0z"; depends=[sgeostat robCompositions robustbase]; }; + mvpart = derive { name="mvpart"; version="1.6-1"; sha256="0bs87bfb48b8n4iqy4vl2dg7grz45imjr6yiz39ns9d0c7iqs88j"; depends=[]; }; + MVPARTwrap = derive { name="MVPARTwrap"; version="0.1-9.2"; sha256="0kj89nlndfcddsx2i9isfd7lqzj8rlsd47anhca5cmj1nyjsb4w5"; depends=[mvpart Hmisc labdsv vegan fBasics ade4]; }; + MVpower = derive { name="MVpower"; version="2.0"; sha256="176g8jfn8gbbhyxcny9prvkn7gk23lmcr4pnxlf0a0pacxczsldr"; depends=[randomForest pamr kernlab class]; }; + mvProbit = derive { name="mvProbit"; version="0.1-0"; sha256="0fnrlralydlsf9iphq385f8hpqigfmi8rafvgp443gygvpq5b6g0"; depends=[mvtnorm maxLik abind bayesm miscTools]; }; + MVR = derive { name="MVR"; version="1.20.0"; sha256="1wwzws9116ck14g6xd1svmwc9wkr8piwb24bddnzri388p8qkgb4"; depends=[statmod]; }; + mvsf = derive { name="mvsf"; version="1.0"; sha256="1krvsxvj38c5ndvnsd1m18fkqld748kn5j2jbgdr3ca9m3i5nlwf"; depends=[nortest mvnormtest]; }; + mvShapiroTest = derive { name="mvShapiroTest"; version="1.0"; sha256="0zcv5l28gwipkmymk12l4wcj9v047pr8k8q5avljdrs2a37f74v1"; depends=[]; }; + mvSLOUCH = derive { name="mvSLOUCH"; version="1.1"; sha256="1z9pkqv3yb84nsv17brm1pjf8l5vbqi0i4k0djr9qfjyva1shr9x"; depends=[ouch ape numDeriv mvtnorm corpcor]; }; + mvtBinaryEP = derive { name="mvtBinaryEP"; version="1.0.1"; sha256="0bc5x50116bm437xmnrp3f12aaw54hna6dqf72cxnqls2k5x7gaf"; depends=[mvtnorm]; }; + mvtmeta = derive { name="mvtmeta"; version="1.0"; sha256="0g0d4lrz854wkd0dz5aiad54i46aqkfhsq6cpbsfv0w5l2kwiqqz"; depends=[gtools]; }; + mvtnorm = derive { name="mvtnorm"; version="0.9-99991"; sha256="0181qg1cnkach6p366i0qzlchjdzx8jjm9pd6l24j5qwzwr44kq6"; depends=[]; }; + mvtsplot = derive { name="mvtsplot"; version="1.0-1"; sha256="0g5grrha77rsnkfasw5pxnpmkl7vgb728ms8apyg8xnbmgilg9vv"; depends=[RColorBrewer]; }; + mwa = derive { name="mwa"; version="0.2"; sha256="10ksjic71qrsmqf5x532nzfd17040plzvrnhfcr3srczf4yp51ci"; depends=[cem rJava MASS]; }; + mxkssd = derive { name="mxkssd"; version="1.1"; sha256="0m9763dqrk8qkrvp18bsv96jv0xhc2m8sbxdk6x3w6kdjcl663p2"; depends=[]; }; + mycobacrvR = derive { name="mycobacrvR"; version="1.0"; sha256="1xd9ackzdd8db6bayza0bg4n256mi9rdqih0cdc0nl212c3iz75g"; depends=[]; }; + myepisodes = derive { name="myepisodes"; version="1.1.1"; sha256="0xk9bwgpl630nhc8qa2pc0rwqbqk3haxnp78gfxq6sn6z7i44k1p"; depends=[XML]; }; + Myrrix = derive { name="Myrrix"; version="1.1"; sha256="15w1dic6p983g2gajbm4pws743z68y0k2hxrdwx6ppnzn9rk07rs"; depends=[Myrrixjars rJava]; }; + Myrrixjars = derive { name="Myrrixjars"; version="1.0-1"; sha256="0dy82l0903pl4c31hbllscfmxrv3bd5my5b2kv5d3x5zq0x99df0"; depends=[rJava]; }; + nacopula = derive { name="nacopula"; version="0.8-1"; sha256="1g1kcs6vqagq0nisyc43040ri3a9iy3fv4bnjjjc5zrla52a20w5"; depends=[copula copula]; }; + NADA = derive { name="NADA"; version="1.5-6"; sha256="0y7njsvaypcarzygsqpqla20h5xmidzjmya4rbq39gg6gkc0ky27"; depends=[survival]; }; + nadiv = derive { name="nadiv"; version="2.12"; sha256="0x63lanzhdwsfh8jnc2i5lj359c63q9kmm3savhk4sl1qx6kczv9"; depends=[Matrix]; }; + namespace = derive { name="namespace"; version="0.9.1"; sha256="1bsx5q19l7m3q2qys87izvq06zgb22b7hqblx0spkvzgiiwlq236"; depends=[]; }; + nanop = derive { name="nanop"; version="2.0-2"; sha256="1f24ykdjpwd7b9cc375bk6bz7m8brb7pgzakclgvdy0fj2mlwkd9"; depends=[distrEx geometry rgl]; }; + NanoStringNorm = derive { name="NanoStringNorm"; version="1.1.17"; sha256="02jvrrz4cmr7l35s7xh0mmwmr5l5lga1vnph2rij2lb8124ardf5"; depends=[gdata]; }; + NAPPA = derive { name="NAPPA"; version="1.0"; sha256="0l264w4kmfzp57j92az1my7xcrna4nix4yvngb69qynyipv683yx"; depends=[plyr]; }; + nat = derive { name="nat"; version="1.4.10"; sha256="1200qxsrhlxassi8jyrcwfpknyck2p092sxv2gkc74vp62w2b0lp"; depends=[rgl RANN igraph filehash digest nat_utils]; }; + naturalsort = derive { name="naturalsort"; version="0.1.2"; sha256="0m8a8z0n5zmmgpmpn5w87j2jfsz1igz3x133z3q25h8jlyaxy750"; depends=[]; }; + nat_utils = derive { name="nat.utils"; version="0.4"; sha256="1l3pzms5d7zagdzlq98bsr0yma90x57hykxlgyjyri4qncq32cmp"; depends=[]; }; + NbClust = derive { name="NbClust"; version="1.4"; sha256="163ri75q8r0amcj38mg027frs47f9iindcf6fhzf0529b19wdcaw"; depends=[]; }; + NBDdirichlet = derive { name="NBDdirichlet"; version="1.01"; sha256="07j9pcha6clrji8p4iw466hscgs6w43q0f7278xykqcdnk39gkyv"; depends=[]; }; + nbpMatching = derive { name="nbpMatching"; version="1.4.0"; sha256="0ncw8xihdh24cfz0rhcvvp2l5mhm2z7hllnkf45bhdhpams6yryp"; depends=[Hmisc MASS]; }; + NBPSeq = derive { name="NBPSeq"; version="0.3.0"; sha256="0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by"; depends=[]; }; + nCal = derive { name="nCal"; version="13.12-01"; sha256="06grlb7ac9vy3ncnqz5h63iarsh94z4mcb29bigkdvnbv9whj7mn"; depends=[drc gdata gWidgets xtable]; }; + NCBI2R = derive { name="NCBI2R"; version="1.4.5"; sha256="0c7w74fj4pml9pg4xx0f99mw50rr73j2mcahz3s91nrgm0gfyd2v"; depends=[]; }; + ncbit = derive { name="ncbit"; version="2013.03.29"; sha256="0f07h8v68119rjvgm84b75j0j7dvcrl6dq62vp41adlm2hgjg024"; depends=[]; }; + ncdf = derive { name="ncdf"; version="1.6.6"; sha256="0s4jx70kxdwifwzgwqc7yy3glsw19664hxnhhsay6sv68jdyhb8y"; depends=[]; }; + ncdf4 = derive { name="ncdf4"; version="1.10"; sha256="1v3pncm865bysg38mas4584pbvh2gcv2dms8rjbn8h1cmkjhh2p9"; depends=[]; }; + ncdf4_helpers = derive { name="ncdf4.helpers"; version="0.3-3"; sha256="051akd7r6zx805a0xwcs95q5sd8alag0f1gzqjk3n188q8r3ji5j"; depends=[ncdf4 PCICt abind]; }; + ncdf_tools = derive { name="ncdf.tools"; version="0.7.1.291"; sha256="149d89kim67q77w17afc5x7hkvmk05gfkaw6cpl583j2zxingify"; depends=[RNetCDF chron abind plotrix raster RColorBrewer JBTools]; }; + nCDunnett = derive { name="nCDunnett"; version="1.0.0"; sha256="0n5zzsdrhra5xql110wrxbfdjm3fwa6qhvnpj89w9ph9nr4ad8gf"; depends=[]; }; + ncf = derive { name="ncf"; version="1.1-5"; sha256="03nbmg9swxhpwrmfjsanp6fj5l2nw160sys70mj10a0ljlaf904z"; depends=[]; }; + ncg = derive { name="ncg"; version="0.1.1"; sha256="1jzkzp61cc5jxmdnl867lcrjjm7y2iw9imzprbd098p1j3w8fvj7"; depends=[]; }; + NCmisc = derive { name="NCmisc"; version="1.1"; sha256="13nx9p6yq46lf2q92ximi33wynxfxah8ns18227xxm99d6fpb05v"; depends=[proftools]; }; + ncvreg = derive { name="ncvreg"; version="3.1-0"; sha256="1q8ij64x03xmxn73s3dcwyq55936irv2jn9q5apgdy15myiigb49"; depends=[]; }; + ndl = derive { name="ndl"; version="0.2.16"; sha256="1l56kg3x4579hzr4sig3iwrd81rhm8nmmrqfs54zxqv5yxpk3hp4"; depends=[Rcpp MASS]; }; + ndtv = derive { name="ndtv"; version="0.5.1"; sha256="0cvqpr74als10zhdravbc7ykacy3ll7y5fx4n5jik0avwcaclgkc"; depends=[network networkDynamic animation sna MASS statnet_common]; }; + neariso = derive { name="neariso"; version="1.0"; sha256="1npfd5g5xqjpsm5hvhwy7y84sj5lqw9yzbnxk6aqi80gfxhfml4c"; depends=[]; }; + NeatMap = derive { name="NeatMap"; version="0.3.6.1"; sha256="05x7dphddxns8gp7bfbsvqnbvwybhzq7qslsyaxbiib3000s3628"; depends=[ggplot2 rgl]; }; + needy = derive { name="needy"; version="0.2"; sha256="1ixgpnwrg6ph1n5vy91qhl1mqirli9586nzkmfvzjrhdvrm0j5l0"; depends=[]; }; + NEff = derive { name="NEff"; version="1.0"; sha256="0ksnmxjy2ms2z7rq4rddnykydwlb4f9c13nak5f8m65pfjcgv3sk"; depends=[msm bit]; }; + negenes = derive { name="negenes"; version="1.0-1"; sha256="0g8m3idjm24cf9b1wngw2pv1axgnv9mk5wqs78zgwvn0m67ypsiz"; depends=[]; }; + neldermead = derive { name="neldermead"; version="1.0-9"; sha256="144liymq0cnd80cp2vn2d1j22g0izipnchc90r526gfpm2gklh7n"; depends=[optimbase optimsimplex]; }; + nephro = derive { name="nephro"; version="1.0"; sha256="0dv6gj1q6qrg9y6cpf230q1mksqk3nvzj3afavhrwz1fcz2w22f4"; depends=[]; }; + NestedCohort = derive { name="NestedCohort"; version="1.1-3"; sha256="10hsc6zik8sz2mp6ig3xr6z3bq0c6rlvqkn11pxny17a4n02wapp"; depends=[survival MASS]; }; + netClass = derive { name="netClass"; version="1.2.1"; sha256="04yrj71l5p83rpwd0iaxdkhm49z9qp3h6b7rp9cgav244q060m9y"; depends=[kernlab Matrix ROCR igraph samr]; }; + NetCluster = derive { name="NetCluster"; version="0.2"; sha256="0aby8kfniw07jap795cwk69z83p45q5rap73zp1qbmkm3qcb31g4"; depends=[sna]; }; + NetComp = derive { name="NetComp"; version="1.6"; sha256="11rxpdihn575diqfvc7yvxhlr2c19fig4v4a5c6jhqyfdsd60fsv"; depends=[gdata]; }; + NetData = derive { name="NetData"; version="0.3"; sha256="1jf05zwy0c6gmm7kvxlwvai61bz4wpsw7cl0h4i21ipzn1rqxmqj"; depends=[]; }; + NetIndices = derive { name="NetIndices"; version="1.4.3"; sha256="0ff57f5b12lccqbfin530ra373rn1wz6n42b0jnkyi2ra8hcm88f"; depends=[MASS]; }; + netmeta = derive { name="netmeta"; version="0.4-3"; sha256="0a8z3wfdwqi2dazy94b46p3p8zrb5lvadklmpa4n7gczx0k0zqnx"; depends=[meta magic]; }; + NetPreProc = derive { name="NetPreProc"; version="1.0"; sha256="1w0iih6pz8ci1y09xlzm2x3082s57znp1cxq44ckwh45hvzbxbmi"; depends=[]; }; + nets = derive { name="nets"; version="0.1"; sha256="0zshiavdi1z8mq6q93vsyb5wx5nq37qln9gcyvamvi2pgy5xg4k2"; depends=[igraph]; }; + NetSim = derive { name="NetSim"; version="0.9"; sha256="07h4qwz64k8zj8c2mx23cbnhg4rqrb4nfh20xw98kspz7cisdg6d"; depends=[Rcpp]; }; + netweavers = derive { name="netweavers"; version="1.0"; sha256="1k0i31h1wg3hk6m0w56jq14hqc4xpdmw7xy4mydars2nzfj41kzj"; depends=[igraph]; }; + network = derive { name="network"; version="1.9.0"; sha256="1n88gz8ccrd9jq0xfywnj0yxlqq2nfp90vd18zjvf4yf3sylqril"; depends=[]; }; + networkDynamic = derive { name="networkDynamic"; version="0.6.3"; sha256="0yb536q7v16wx491c5dmw7sf7h4f2rxs39bsdi0sknizgnmsqlv0"; depends=[network statnet_common]; }; + networkDynamicData = derive { name="networkDynamicData"; version="0.1.0"; sha256="1vln4n8jldqi1a6qb9j9aaxyjb8pfgwd8brnsqr8hp9lm3axd24b"; depends=[networkDynamic network]; }; + networksis = derive { name="networksis"; version="2.1-2"; sha256="05x0mp9ig7nff1js0zv7hq8p7jr7dqscs46zlbrxrrcy1waydb0s"; depends=[ergm network]; }; + networkTomography = derive { name="networkTomography"; version="0.3"; sha256="1hd7av231zz0d2f9ql5p6c95k7dj62hp0shdfshmyfjh8900amw7"; depends=[coda igraph KFAS limSolve plyr Rglpk]; }; + neuralnet = derive { name="neuralnet"; version="1.32"; sha256="0p9r5j8q0flv15wn5s6qi9if7npna107l1ffv37nzx1b4vgswnl9"; depends=[MASS]; }; + neuroblastoma = derive { name="neuroblastoma"; version="1.0"; sha256="0hs87fvwaq53xxbh2dw3hjsmf1zkyqli9qyacxf72fnkyhhl8b45"; depends=[]; }; + neuroim = derive { name="neuroim"; version="0.0.3"; sha256="0n5jkyvdaiigv51s5bb508w5xkh0qkd1zbs67nnms14s1664fhiz"; depends=[stringr hash iterators abind Matrix yaImpute]; }; + neuRosim = derive { name="neuRosim"; version="0.2-10"; sha256="1h6hhzf3rl8fnvdv8vw3lzzd23pbnv1shd9d8gpk41fgigjnxp1v"; depends=[deSolve]; }; + Newdistns = derive { name="Newdistns"; version="1.0"; sha256="1agg5v05x9qlg1w439aycfjfd5yap6ivn1kqgsc3ck148ar11wb2"; depends=[]; }; + nFactors = derive { name="nFactors"; version="2.3.3"; sha256="016d76yfxz7gx7zz5dgwjmj2c5m6kxdmqj0lln5w6d70r9g1kxg7"; depends=[MASS psych boot lattice]; }; + ngramr = derive { name="ngramr"; version="1.4.3"; sha256="0j66v841xkb1yw2n4pa7p8kz574np2yj2ic71z6aq71npdbxgh9a"; depends=[httr RCurl plyr rjson stringr reshape2 ggplot2 scales]; }; + ngspatial = derive { name="ngspatial"; version="1.0-3"; sha256="1ph3yg8vcvij3ymw41dczjpzs68icm5lr0pxybmmfgggpmw5cjyb"; depends=[Rcpp batchmeans]; }; + NHEMOtree = derive { name="NHEMOtree"; version="1.0"; sha256="0ycprj2rz2fy6a7ps0bsr27iphmbfxi9pbvl8rcr6p8yagfb84mb"; depends=[partykit emoa sets rpart]; }; + nhlscrapr = derive { name="nhlscrapr"; version="1.5"; sha256="1b3bi79gkax2cm4b1hq8gd5snxyh1z3flc3qipdkada9r794jxlw"; depends=[RCurl rjson biglm bitops]; }; + NHMMfdr = derive { name="NHMMfdr"; version="1.0.6"; sha256="10xwvmzqkx90zh88yjmf6d8gsbqil4vxp53d914080b3aygsvxm8"; depends=[MASS locfdr]; }; + NHPoisson = derive { name="NHPoisson"; version="2.1"; sha256="147qxmgwpqa9i8w4syhmr9n0pnypdvhpcai45zkfd1wz49xx3lvr"; depends=[car]; }; + nice = derive { name="nice"; version="0.4"; sha256="1alq8n8pchn9v0fvwrifdisazkh519x109bqgnpgnwf79wblmnhy"; depends=[]; }; + NightDay = derive { name="NightDay"; version="1.0.1"; sha256="0vkpr2jwhgghiiiaiglaj1b9pz25fcsl628c9nsp9zyl67982wz1"; depends=[maps]; }; + Nippon = derive { name="Nippon"; version="0.5.3"; sha256="02m591aljlaxn95k7sl8gfsviv4ywqv9mrkjf6g19kfrc9pbgjqg"; depends=[maptools]; }; + NISTnls = derive { name="NISTnls"; version="0.9-13"; sha256="03a1c8a5dr5l5x4wbclnsh3vmx3dy7migfdzdx7d7p3s7hj3ibif"; depends=[]; }; + nlADG = derive { name="nlADG"; version="0.1-0"; sha256="0nvd5hzd1p81jwx5p7js86wblgg615vdnpbvy5rhmhf1ig583z1b"; depends=[ggm]; }; + nleqslv = derive { name="nleqslv"; version="2.1.1"; sha256="1f15qql1hg5rirdl4lq0mpabz7nc9ki0yaham6n43i326cwmsxpn"; depends=[]; }; + nlme = derive { name="nlme"; version="3.1-117"; sha256="105zrprpgd4snwcy80qfnjzvd5m7g4cx8njji83gg7ynskhrhxj9"; depends=[lattice]; }; + nlmeODE = derive { name="nlmeODE"; version="1.1"; sha256="1zp1p98mzbfxidl87yrj2i9m21zlfp622dfnmyg8f2pyijhhn0y2"; depends=[deSolve nlme lattice]; }; + nlmeU = derive { name="nlmeU"; version="0.70-3"; sha256="05kxymgybziiijpb17bhcd9aq4awmp5km67l2py9ypakivi0hc6l"; depends=[nlme]; }; + nlmrt = derive { name="nlmrt"; version="2013-8.10"; sha256="1b86kjmbspwj9whnmvbvhhgij2jn3j102szygjpzwmqgx4sfsgw7"; depends=[]; }; + nloptr = derive { name="nloptr"; version="1.0.0"; sha256="169gvrywx0py2d5xvx61cz20pmrdf9xahanj4wxr5klgylbbrgd6"; depends=[]; }; + NLP = derive { name="NLP"; version="0.1-2"; sha256="17b0bsh9ff0rzjpa4rj1mzimpb8iysk3ykk2lazajz2faz8xnsba"; depends=[]; }; + nlreg = derive { name="nlreg"; version="1.2-2"; sha256="1pi7057ldiqb12kw334iavb4i92ziy1kv4amcc4d1nfsjam03jxv"; depends=[statmod survival]; }; + NLRoot = derive { name="NLRoot"; version="1.0"; sha256="1x8mcdgqqrhyykr12bv4hl4wbh1zw2qgpnd2yrm68kb92iy95rh4"; depends=[]; }; + nlrwr = derive { name="nlrwr"; version="1.1-0"; sha256="1j9wfcjimvfhxiwxsxcp5dni70i7bj5iizd8dq3kamzp7319mryv"; depends=[alr3 car drc HydroMe lattice lmtest MASS NISTnls nlme nls2 nlstools NRAIA sandwich]; }; + nls2 = derive { name="nls2"; version="0.2"; sha256="0k46i865p6jk0jchy03jiq131pc20h9crn3hygzy305rdnqvaccq"; depends=[proto]; }; + NLSdata = derive { name="NLSdata"; version="0.9"; sha256="0z98bnxbzlpgyz5qlzhjqbfhscz9khxq4prrkx2iv1d1jwf5nli2"; depends=[reshape2]; }; + nlsmsn = derive { name="nlsmsn"; version="0.0-4"; sha256="1gvpy8rq020l64bdw6n7kv354l7gwa2rgxarm6k0mqq7z21fxf58"; depends=[]; }; + nlstools = derive { name="nlstools"; version="0.0-15"; sha256="16a8v2hx2x92ak811psld0klanksd8p0l8w0ikhi3frfaps8g8vi"; depends=[]; }; + NlsyLinks = derive { name="NlsyLinks"; version="1.302"; sha256="0m1qvrpdfwql4jdk3nbn80llq83wavimifw630gnazwmkgkcncai"; depends=[lavaan]; }; + nlt = derive { name="nlt"; version="2.1-3"; sha256="1j0xrrbr1hvfda8rvnc17lj96m6cz24faxvwn68ilf7j1ab2lkgn"; depends=[EbayesThresh adlift]; }; + nlts = derive { name="nlts"; version="0.2-0"; sha256="14kvzc1p4anj9f7pg005pcbmc4k0917r49pvqys9a0a51ira67vb"; depends=[locfit acepack]; }; + NMF = derive { name="NMF"; version="0.20.5"; sha256="1j91vklzi4qjlix5sn9qh86dwx6vxnla2p4ag81apkr441jkvynr"; depends=[pkgmaker registry rngtools cluster stringr digest gridBase colorspace RColorBrewer foreach doParallel ggplot2 reshape2]; }; + NMFN = derive { name="NMFN"; version="2.0"; sha256="0n5fxqwyvy4c1lr0glilcz1nmwqdc9krkqgqh3nlyv23djby9np5"; depends=[]; }; + NMOF = derive { name="NMOF"; version="0.28-2"; sha256="0c22fpzg8qg6asd0glq5cz32mhw7607bcsl7cmrkfzwm8p4yarns"; depends=[]; }; + NMRS = derive { name="NMRS"; version="1.0"; sha256="0cas9lxki0c1bjn2dciv4s3wpvgvi6wkg5v46dj6cj9br21gc7nj"; depends=[Rwave FTICRMS tkrplot]; }; + nnclust = derive { name="nnclust"; version="2.2"; sha256="1mr506ddvw4lslylpmm43wmd6mwv055zjzgb427nj3jl142dfyz2"; depends=[]; }; + nnet = derive { name="nnet"; version="7.3-8"; sha256="0nhbprhwkpnhzw6jls8y76xskfh9gq491kg8q8wnamjv3gnngfa5"; depends=[]; }; + nnls = derive { name="nnls"; version="1.4"; sha256="07vcrrxvswrvfiha6f3ikn640yg0m2b4yd9lkmim1g0jmsmpfp8f"; depends=[]; }; + nodeHarvest = derive { name="nodeHarvest"; version="0.6"; sha256="16151rwmqkf5vlyrlxlirz8s0nimxppx1f7f4pwfxi9vipwph125"; depends=[quadprog randomForest]; }; + noia = derive { name="noia"; version="0.96"; sha256="0f5gfb78vaj9iklj7gq3g85v78xh5izghjc7v3827jr1irfjivap"; depends=[]; }; + NominalLogisticBiplot = derive { name="NominalLogisticBiplot"; version="0.2"; sha256="0m9442d9i78x57gdwyl3ckwp1m6j27cam774zkb358dw5nmwxbmz"; depends=[mirt gmodels MASS]; }; + nonlinearTseries = derive { name="nonlinearTseries"; version="0.2.1"; sha256="1pq93g25arnc68kyvv6ymywdvbqv6620dvqzv1l43c1xssw364bc"; depends=[Matrix rgl tseries TSA]; }; + nonparaeff = derive { name="nonparaeff"; version="0.5-8"; sha256="1kkn68m7cqlzx3v539cjxw3x5a2y86lvmyv2k98s87m3yvqg0gdk"; depends=[lpSolve gdata Hmisc rms geometry psych pwt]; }; + NonpModelCheck = derive { name="NonpModelCheck"; version="1.0"; sha256="0mgbyp651jfqyfavpv12i9kwqf0cpk2mzh9m0b5k4n759710qv8f"; depends=[dr MASS]; }; + nonrandom = derive { name="nonrandom"; version="1.42"; sha256="0icm23hw593322z41wmjkwxqknh2pa9kpzbrch7xw1mhp93sd5ll"; depends=[lme4]; }; + nontarget = derive { name="nontarget"; version="1.2"; sha256="0k3kmspzd7xz4y241yg5cdpg8lsavkzv0l9311d7ajf78hll15b0"; depends=[]; }; + nopp = derive { name="nopp"; version="1.0.3"; sha256="128c441l5fgapxwl143yhciz8jcak8fisypp6wq6csdxpbs8w21f"; depends=[mlogit MASS]; }; + nor1mix = derive { name="nor1mix"; version="1.1-4"; sha256="11ym6av7zykynkqvhkbnl7rwxgzrjhgjnbq7whxhkb6qbf6khfsx"; depends=[]; }; + nordklimdata1 = derive { name="nordklimdata1"; version="1.0"; sha256="0l50g09c102r8fz8ks42dfywg2vh2ad8lhqi7n3gc8nhad8rapqr"; depends=[]; }; + norm = derive { name="norm"; version="1.0-9.5"; sha256="01j1h412yfjx5r4dd0w8rhlf55997spgb6zd6pawy19rgw0byp1h"; depends=[]; }; + NormalGamma = derive { name="NormalGamma"; version="1.1"; sha256="0r3hhfscif0sx9v8f450yf119gpvf3ilpb8n3ziy4v4qf2jlcfnk"; depends=[optimx histogram]; }; + NormalLaplace = derive { name="NormalLaplace"; version="0.2-0"; sha256="1yrqfqhxkavczascwpq7z77jwpa1s2dn2cfi15vxfjyayhdxq4aa"; depends=[DistributionUtils GeneralizedHyperbolic]; }; + normalp = derive { name="normalp"; version="0.6.9"; sha256="1a2m7agcnqmf69mgbkjmmp7mvpx9r4gk13x98yfkg1dyh3b48rri"; depends=[]; }; + NORMT3 = derive { name="NORMT3"; version="1.0-3"; sha256="041s0qwmksy3c7j45n4hhqhq3rv2hncm2fi5srjpwf9fcj5wxypg"; depends=[]; }; + normtest = derive { name="normtest"; version="1.1"; sha256="073r2mwfs6c4vqh8921nlyygl0f20nhv997s0iwf00d3jckkc4pp"; depends=[]; }; + normwhn_test = derive { name="normwhn.test"; version="1.0"; sha256="1kr45bfydk40hgdg24i2f28cdaw65hg9gmsgv4lsvvr2m3r74vi6"; depends=[]; }; + nortest = derive { name="nortest"; version="1.0-2"; sha256="010i9cxjaq6jjdnw8fggvinakrxi3pv4098r9i4jh62vlfwqbjpb"; depends=[]; }; + nose = derive { name="nose"; version="1.0"; sha256="17l78vmfqc22inq6zaqpnk2m91wp0nfjbbwfcpfqykf8lk9ipqna"; depends=[]; }; + notifyR = derive { name="notifyR"; version="1.02"; sha256="0jx76ic5r1crcgg0n0yqnka0gwniflfxakh838a98j9wb11wi6h5"; depends=[RCurl rjson]; }; + noweb = derive { name="noweb"; version="1.0-4"; sha256="17s65m1m8bj286l9m2h54a8j799xaqadwfrml11732f8vyrzb191"; depends=[]; }; + Nozzle_R1 = derive { name="Nozzle.R1"; version="1.1-1"; sha256="05sjip4sz12mwd3jcbvk342p83kdmrd4l2jrh17p18w4l7w4nn0z"; depends=[]; }; + np = derive { name="np"; version="0.50-1"; sha256="0x1z0kgvqc8fj9snarl3rs4kf87x6w0jk5nnjqg2sxs2gxfpdzaz"; depends=[boot cubature]; }; + nparcomp = derive { name="nparcomp"; version="2.0"; sha256="154689lk1sd1smc3fyslrgz4rzg166n2d8nz7bhbjcrq2fhj8pj0"; depends=[multcomp mvtnorm]; }; + nparLD = derive { name="nparLD"; version="2.1"; sha256="1asq00lv1rz3rkz1gqpi7f83p5vhzfib3m7ka1ywpf2wfbfng27n"; depends=[MASS]; }; + npbr = derive { name="npbr"; version="1.0"; sha256="12s25vn4f0373y2ijmpam0an4p64xr3m71xgf20g5przmr77bm0a"; depends=[Rglpk Benchmarking]; }; + NPCD = derive { name="NPCD"; version="1.0-6"; sha256="1lnj55f73rpjy6amg1n5x7b0jsrmharp0fhcjcn0dflcrjwianxj"; depends=[BB R_oo R_methodsS3]; }; + NPCirc = derive { name="NPCirc"; version="2.0.0"; sha256="03b4lx7rkpjlxy9854dy16qw15x1cjwzyyvxn778n5xsva0c498b"; depends=[circular misc3d movMF plotrix rgl shape]; }; + npde = derive { name="npde"; version="2.0"; sha256="1cp4k7jvsw9rc6rrck902nqqjaf2c1nxjic7i9r3fd6yca1lgqb9"; depends=[mclust]; }; + NPHMC = derive { name="NPHMC"; version="2.2"; sha256="000x9y00gfkaj5lf00a55b9qx15x05yp3g3nmp8slyzsnfv66p5d"; depends=[survival smcure]; }; + nplplot = derive { name="nplplot"; version="4.5"; sha256="1dpbs0jb34gv0zj528357z1j2pwahjbp04rm7jir6qk0jhyaxxgh"; depends=[]; }; + nplr = derive { name="nplr"; version="0.1"; sha256="1fqsvmkgw1nz7p0fb6hgiawp9lnkd6rzlm3cca8zrwy3r2m59l56"; depends=[]; }; + NPMLEcmprsk = derive { name="NPMLEcmprsk"; version="1.0"; sha256="0yakcjkxqlbpzs8jdaahdl4lv5l2ffq7l7v00sl77sn9gflgprk3"; depends=[]; }; + npmlreg = derive { name="npmlreg"; version="0.45-4"; sha256="142pbbmb5qpnzsc2kx99f1kb4dkzfzj8xf69a5pjn17lppd6qxna"; depends=[statmod]; }; + NPMPM = derive { name="NPMPM"; version="1.0"; sha256="14rjj48vfj4wv1na5v181jby016afx4ak1fs0f3g1fif4kbgbdx0"; depends=[]; }; + npmv = derive { name="npmv"; version="2.1"; sha256="0ivd3wm1fmmaq8i2h0kdd11z9k1czb61ms8fj0xb5xmfy0g1rphy"; depends=[Formula ggplot2]; }; + NPMVCP = derive { name="NPMVCP"; version="1.1"; sha256="13jpm46abwziq8859jhl6hg1znk3ws1q7g4vlr2jyri3qa6h22dd"; depends=[]; }; + nppbib = derive { name="nppbib"; version="1.0-0"; sha256="075jb13zckkh66jwdmdlq4d2drjcc3lkj26px3w79b91223yymf2"; depends=[]; }; + npRmpi = derive { name="npRmpi"; version="0.50-1.1"; sha256="0ipz0gr65ya2vk51a89l3mmbys48sa0dzywmqlvxc92k3mfiavzm"; depends=[boot cubature]; }; + NPS = derive { name="NPS"; version="1.0"; sha256="1acg3367rd53dgwzqr8pnfr8z72s3699h2nhrhh2w9zdqipid89g"; depends=[]; }; + NPsimex = derive { name="NPsimex"; version="0.2-1"; sha256="1k9i1f5ckvzdns8f5qnm2zq7qs3wsgzsnfwdz21zmhmi6d0pwchm"; depends=[]; }; + npsp = derive { name="npsp"; version="0.2-4"; sha256="1lzdr958m00dxwzgd46x5fs07sx0gnzbyjrllfa6s7r9klg4i707"; depends=[quadprog]; }; + npst = derive { name="npst"; version="2.0"; sha256="1y5ij3nmh9pj6p97jpx75g26sk508mznr0l67cwj381zfb77hj1n"; depends=[]; }; + NRAIA = derive { name="NRAIA"; version="0.9-8"; sha256="16v8s9mqvr6sbiwwj93n3nyrm996wyw4f9l569mw2ykqpdkbp7hm"; depends=[lattice]; }; + nricens = derive { name="nricens"; version="1.2"; sha256="17h0vckchqlvcsa604cgbcw1akaxl30yx24x1d8201svyz9n0hhb"; depends=[survival]; }; + NSA = derive { name="NSA"; version="0.0.32"; sha256="0lnimyx3fpnw9zfhqm7y3ssvbpmvbmhcqy6fp83862imiwpl8i5r"; depends=[R_methodsS3 MASS matrixStats R_oo R_utils aroma_core aroma_affymetrix]; }; + NScluster = derive { name="NScluster"; version="1.0.0"; sha256="1mzh0v8lh881pr7rqfa4aqp9mwvldn4w5hzfsp8bhzamdf7w112v"; depends=[]; }; + nsga2R = derive { name="nsga2R"; version="1.0"; sha256="04jj0a3isfc348vg46il5x9l33cr7xawz5w0mm4pwr6djhd8nfhx"; depends=[mco]; }; + NSM3 = derive { name="NSM3"; version="1.1"; sha256="0xyx06pc9690akdm02597pgcchn29gvc4kzcgyc3ihsjj71xryi2"; depends=[combinat MASS partitions survival agricolae ash binom BSDA coin epitools fANCOVA gtools Hmisc km_ci metafor nortest np quantreg Rfit SemiPar SuppDists waveslim]; }; + nsprcomp = derive { name="nsprcomp"; version="0.4.1"; sha256="01zy6fkfnv8csmdp485rm3g7lznf826z3kgpgx964zhsx2axxdzl"; depends=[]; }; + nsRFA = derive { name="nsRFA"; version="0.7-11"; sha256="1mlm8fygzr8b03rflays78l63ld0nagprc8xbwny5f87vi00wwq4"; depends=[]; }; + nullabor = derive { name="nullabor"; version="0.2.1"; sha256="1pxxynfjjyqmgqvfb4fcs6jy63cf9bcbi9x1kz4f5b454q2g1raq"; depends=[MASS ggplot2 plyr]; }; + numbers = derive { name="numbers"; version="0.4-5"; sha256="0z69samkj7fvbk0wj2nbnkcw17y1sdha7hghkc7yhgkwx2z1pana"; depends=[gmp]; }; + numDeriv = derive { name="numDeriv"; version="2012.9-1"; sha256="09s00a1wddpq5556mz87vdmx045rhjrx1w8f2a37m8hljghy86k9"; depends=[]; }; + numOSL = derive { name="numOSL"; version="1.3"; sha256="0jmf73199v5f20cz3xgv0askaqz8rslawjzsc8ibb562v5b29fg7"; depends=[]; }; + nutshell = derive { name="nutshell"; version="2.0"; sha256="1v11g5wqyxnj29b7akl0cwa34hcqs79ijbiv735pg3df4ggyrzvm"; depends=[nutshell_bbdb nutshell_audioscrobbler]; }; + nutshell_audioscrobbler = derive { name="nutshell.audioscrobbler"; version="1.0"; sha256="10fvc5d22gnfb0bkgbww48f0vvcaja96g5gfv85kap939j11172j"; depends=[]; }; + nutshell_bbdb = derive { name="nutshell.bbdb"; version="1.0"; sha256="19c4047rjahyh6wa6kcf82pj09smskskvhka9lnpchj13br8rizw"; depends=[]; }; + nws = derive { name="nws"; version="1.7.0.1"; sha256="1fn92n6brjhh8hpvhax7211cphx2cn0rl99kjqksig6z7242c316"; depends=[]; }; + OAIHarvester = derive { name="OAIHarvester"; version="0.1-7"; sha256="0wcl71y8i4s4fxpb90xg71sj6819kgl3d4gff66dan8i6y8sxmyk"; depends=[XML RCurl]; }; + Oarray = derive { name="Oarray"; version="1.4-5"; sha256="1w66vqxvqyrp2h6acnbg3xy7cp6j2dgvzmqqk564kvivbn40vyy4"; depends=[]; }; + objectProperties = derive { name="objectProperties"; version="0.6.5"; sha256="0wn19byb1ia5gsfmdi6cj05pnlxbr3zcrjabjg3g1d7b58nz7wlh"; depends=[objectSignals objectSignals]; }; + objectSignals = derive { name="objectSignals"; version="0.10.2"; sha256="1rcgfq1i3nz2q93vv4l069f3mli1c6fd5dhhhw1p7cc4sy81008w"; depends=[]; }; + obliclus = derive { name="obliclus"; version="0.9"; sha256="000r1dx4zbgjxrfs66c1yazm0w6q2z0z1scf45g2qj5ykcm9ylma"; depends=[]; }; + obliqueRF = derive { name="obliqueRF"; version="0.3"; sha256="1bwlgv820mmpc6vg26bsdlfy2p78586i3y42hkzbw3z1fmwq3pz5"; depends=[ROCR pls mda e1071]; }; + oblique_tree = derive { name="oblique.tree"; version="1.1.1"; sha256="01vyc46gz7qx8fc5bg3zbhjyhnmfgjii120a915vmr38cs51qhqh"; depends=[tree glmnet nnet]; }; + obs_agree = derive { name="obs.agree"; version="1.0"; sha256="191xshnrncjqzwd2rdq334vsx0338q3y3k1nbm04hdaysbnla9jv"; depends=[]; }; + obsSens = derive { name="obsSens"; version="1.3"; sha256="1vfm1mzsycwkqa39vf3fcdv1s6adps9hw1rxlvl8v9kq746hcabw"; depends=[]; }; + oc = derive { name="oc"; version="0.93"; sha256="1nw594wrlnb0kkhkqfa14wxahh1yshpa2hz25nlnb42mi9pbrzg4"; depends=[pscl]; }; + occ = derive { name="occ"; version="1.0"; sha256="1gn8rg6k5lwwb6axfby7hiss5m64j2rh3hsmwwij58j5xda3jlbx"; depends=[]; }; + oce = derive { name="oce"; version="0.9-13"; sha256="09aib8xz7gs0sdq0iikmxjdpga1jvl9z4a7qqwyz4jlv74g73xas"; depends=[mapproj]; }; + ocean = derive { name="ocean"; version="0.2-4"; sha256="1554iixfbw3k6w9xh3hgbiygszqvj5ci431cfmnx48jm27h2alqg"; depends=[ncdf4 proj4]; }; + OceanView = derive { name="OceanView"; version="1.0"; sha256="1x94zrvz45vval4qiim6755ispj23zp0d6qvzg3xd65y30gprni1"; depends=[plot3D plot3Drgl shape]; }; + ODB = derive { name="ODB"; version="1.1.1"; sha256="1hha4rkbc2zh3karkqa0vn4v0nmcd7sljcymy1nh28bx1gx2ffgs"; depends=[DBI RJDBC]; }; + odfWeave = derive { name="odfWeave"; version="0.8.4"; sha256="1rp9j3snkkp0fqmkr6h6pxqd4cxkdfajgh4vlhpz56gr2l9j48q5"; depends=[lattice XML]; }; + odfWeave_survey = derive { name="odfWeave.survey"; version="1.0"; sha256="0cz7dxh1x4aflvfrdzhi5j64ma5s19ma8fk9q2m086j11a1dw3jn"; depends=[odfWeave survey]; }; + ODMconverter = derive { name="ODMconverter"; version="1.2"; sha256="05s12rv5aplii2vix6vmxx9raidgsrrdn29yillld9p6dwklrrs8"; depends=[XML xlsx]; }; + oem = derive { name="oem"; version="1.02.1"; sha256="0z9k0jhpp5dayyin6v8p26rgl8s983hnpsk195c9z458i7nbmrpd"; depends=[Rcpp]; }; + Ohmage = derive { name="Ohmage"; version="2.11-3"; sha256="16mm58yzh1r8s8x3jhdjwb01a1a8yjiay4v7gcj7j4r7z4mqr75c"; depends=[RCurl RJSONIO]; }; + OIdata = derive { name="OIdata"; version="1.0"; sha256="078khxrszwnrww2h0ag153bf59fnyhirxy4m56ssgr2gmfahaymf"; depends=[RCurl maps RCurl maps]; }; + OIsurv = derive { name="OIsurv"; version="0.2"; sha256="148mpjj5navc1vrl72y87krn4lf3awnd32z3g4qqaia404w5w7p7"; depends=[survival KMsurv]; }; + OjaNP = derive { name="OjaNP"; version="0.9-6"; sha256="1xkwc1hca74jd74mczyvvfimm6726r4mdzw12llh4i82jcwrzzs2"; depends=[ICS ICSNP]; }; + okmesonet = derive { name="okmesonet"; version="0.1.4"; sha256="1fq17v1wx8hxvlk489vp6nlsx8ifs4491099zhikhn1fj7b1m346"; depends=[plyr]; }; + OligoSpecificitySystem = derive { name="OligoSpecificitySystem"; version="1.3"; sha256="0s76fxai1kgq0hcr5m18yz7i14algld97rjrax75cxm1ccylah71"; depends=[tkrplot]; }; + OLScurve = derive { name="OLScurve"; version="0.2.0"; sha256="1zqapfwgwy9rxnbhmlgplkphw1bdia4cyi9q6iwcppw3rjw75f1n"; depends=[lattice]; }; + omd = derive { name="omd"; version="1.0"; sha256="0s1wcgivqapbkzjammga8m12gqgw113729kzfzgn02nsfzmsxspv"; depends=[]; }; + OmicKriging = derive { name="OmicKriging"; version="1.1"; sha256="07k23ar2garvkdzhi7qqwh3xbnl9ak8synvnsk2ycvgs1mgcwzsn"; depends=[SNPRelate doMC ROCR inline gdsfmt irlba Rcpp RcppEigen]; }; + oncomodel = derive { name="oncomodel"; version="1.0"; sha256="1jyyq9znffiv7rg26mjldbwc5yi2f4f8npsd2ykhxyacb3g96fp1"; depends=[ade4]; }; + Oncotree = derive { name="Oncotree"; version="0.3.3"; sha256="147rc9ci66lxbb91ys2ig40sgmldi15p604yysrd4ccbxpbk2zwf"; depends=[boot]; }; + OneHandClapping = derive { name="OneHandClapping"; version="1.5"; sha256="1j45qy4nwnmiqmjqnhzs4f6zspckzhr1rx56i9ddis4iahffqd19"; depends=[]; }; + onemap = derive { name="onemap"; version="2.0-4"; sha256="00xmhm5qy0ycw0mnlyl20vfw0wxmpb36f07k0jj92c4zbpwjiygx"; depends=[tkrplot]; }; + OneTwoSamples = derive { name="OneTwoSamples"; version="1.0-3"; sha256="0019rc2f4jmbm6sinkvalvjqwi822x78aiin88kg8qbbb5ml8l89"; depends=[]; }; + onion = derive { name="onion"; version="1.2-4"; sha256="0x3n9mwknxjwhpdg8an0ilix5cb8dyy5fqnb6nxx7ww885k0381a"; depends=[]; }; + OOmisc = derive { name="OOmisc"; version="1.2"; sha256="09vaxn5czsgn6wpr27lka40kzd76jzqgqxavf26ms3m9kkdf83g4"; depends=[]; }; + OpasnetUtils = derive { name="OpasnetUtils"; version="1.0.0"; sha256="04w6jvrjwiyva8lblx7i3ynywhis7d45nzhc1gls9yqxq0p426i1"; depends=[rjson RCurl reshape2 triangle httpRequest digest xtable]; }; + OPDOE = derive { name="OPDOE"; version="1.0-9"; sha256="0pf8rv5wydc8pl4x57g7bk2swjabaxdgijgsigjy5wihfcb48654"; depends=[gmp mvtnorm orthopolynom nlme crossdes polynom]; }; + OPE = derive { name="OPE"; version="0.7"; sha256="0ld3pr94ii1pmfk99qfwgria6ki2iz2hwmn7pj3cjwprv8jkcjji"; depends=[]; }; + opefimor = derive { name="opefimor"; version="1.1"; sha256="0xv57l38wx3w67h312g5xcpi9m7ggd6crqvqjh5gddq0g1g93bjq"; depends=[]; }; + openair = derive { name="openair"; version="0.9-2"; sha256="051wj9s733w6i9hz8bj19m355ravd46kqzh49qhhm9vy8msvna7q"; depends=[plyr reshape2 mgcv lattice latticeExtra cluster RColorBrewer Rcpp]; }; + OpenCL = derive { name="OpenCL"; version="0.1-3"; sha256="0f7vis0jcp0nh808xbzc73vj7kdcjb0qqzzsh3gvgamzbjfslch8"; depends=[]; }; + opencpu = derive { name="opencpu"; version="1.4.0"; sha256="1czgzzfhs4ik74vfxg9jf3r2yfb2jrbyki5047ac8f65skmhrz8r"; depends=[evaluate httpuv knitr jsonlite devtools httr brew pander]; }; + openintro = derive { name="openintro"; version="1.4"; sha256="1k6pzlsrqikbri795vic9h191nf2j7v7hjybjfkrx6847c1r4iam"; depends=[]; }; + OpenMPController = derive { name="OpenMPController"; version="0.1-2"; sha256="1cpsbjmqql0fsjc1xv323pfkhfr9vrcv5g4j3p1qc5zn4z9pq7r6"; depends=[]; }; + openNLP = derive { name="openNLP"; version="0.2-3"; sha256="1d609hv24sxjppxpkgfvsl7p8vsajj0ivczcjixlnrly09j9ajrh"; depends=[NLP openNLPdata rJava]; }; + openNLPdata = derive { name="openNLPdata"; version="1.5.3-1"; sha256="1a048irgv56yi2lvhpqh8vh4dl7g7zfg934qypjxg8mcdcqi820y"; depends=[rJava]; }; + OpenRepGrid = derive { name="OpenRepGrid"; version="0.1.8"; sha256="1m71wb9i30vggbxpcv9ywbdi21ki8qivqw70i3rsrk8r1nx3zxq1"; depends=[colorspace plyr abind rgl GPArotation psych XML xlsx pvclust]; }; + OpenStreetMap = derive { name="OpenStreetMap"; version="0.3.1"; sha256="009xiqsbgqb3lba6msyzq7ncripmvpymxynkga8pqc8npv8g7fzb"; depends=[rJava raster rgdal rJava]; }; + openxlsx = derive { name="openxlsx"; version="1.0.3"; sha256="02fq0viam2czjnjvj055a5hbwnmgcxf1n7pdbba2bx52cwfq7c9l"; depends=[Rcpp]; }; + operators = derive { name="operators"; version="0.1-6"; sha256="13lqxifbw8h4xn5gjf96bnzq9fzrncrj1g5lib8gvbpcbwn2smsl"; depends=[]; }; + operator_tools = derive { name="operator.tools"; version="1.3.0"; sha256="0y5f0ifj4gaq03gm44vdvslcs7lglk1p8kq47mdc0gc1yfa6l00c"; depends=[]; }; + OPI = derive { name="OPI"; version="1.6"; sha256="0d9863zs54chmdc74g508xpclj7gjk7q36amdnqq0bffp87bj9nq"; depends=[rJava]; }; + opm = derive { name="opm"; version="1.1.0"; sha256="14sj0frjfd4a7j30zyk1fbhkpry45bjcn2k0l9jf7xc8415rbc3v"; depends=[lattice boot hwriter plotrix Ckmeans_1d_dp pkgutils yaml mgcv grofit rjson nlme DBI]; }; + opmdata = derive { name="opmdata"; version="0.7.0"; sha256="043zzp2p4cvda5rshi9s990lm5qyi6ydkmy84xanwaqvysi1cpyy"; depends=[opm]; }; + oposSOM = derive { name="oposSOM"; version="0.2-3"; sha256="0s6sq9ij8swgpljpk0jbzl0a1qw2y122zgxazy54q16xdf5a5vgy"; depends=[som fastICA pixmap igraph]; }; + ops = derive { name="ops"; version="1.0"; sha256="0cvwyn5sz5lx8sin8w4k8ymslfl4nfaa012a9vcl2hvp4850rk25"; depends=[]; }; + optAUC = derive { name="optAUC"; version="1.0"; sha256="0j1llzqa3n7kqw3i5bb7284z0hi6s5jbjfl9zap0l7xf6hg4x1dn"; depends=[MASS]; }; + optBiomarker = derive { name="optBiomarker"; version="1.0-27"; sha256="1kkj602d4klwyd8kylawgfysg8dlp2g6j7afkppzv5x8mbhs5ji4"; depends=[rpanel rgl MASS randomForest e1071 ipred msm Matrix]; }; + optextras = derive { name="optextras"; version="2013-10.27"; sha256="0898dgl8div4hdhb4wyj39vak94nm2311x550b8k8ljbx0nmp9gh"; depends=[numDeriv]; }; + OptHedging = derive { name="OptHedging"; version="1.0"; sha256="0g7qaf5abvbcqv2h1dciwn3gwpz084ryqjjk0yabdm4ym0y38ddm"; depends=[]; }; + OptimalCutpoints = derive { name="OptimalCutpoints"; version="1.1-1"; sha256="1rlbi0b4hfwnbfckjam5hxpv0bcmk6rb99jwqmpg8m6x9jhcjzb0"; depends=[]; }; + optimbase = derive { name="optimbase"; version="1.0-9"; sha256="0ivz24kf3yacgq5bl3s3az1pcyhsz0cza5f8vdksy5gchwqplm8n"; depends=[Matrix]; }; + optimsimplex = derive { name="optimsimplex"; version="1.0-5"; sha256="1aiq0w2zlra3k6x4hf2rglb6bj8w25yc8djnpgm508kkrbv3cc17"; depends=[optimbase]; }; + optimx = derive { name="optimx"; version="2013.8.6"; sha256="0aq3pd33ln2dvvvj2wx7qdjs7a4hc3i3xalysa41a0j0dm7v90s9"; depends=[numDeriv]; }; + OptInterim = derive { name="OptInterim"; version="3.0.1"; sha256="1ks24yv5jjhlvscwjppad27iass59da1mls99hlif0li9mvkbvyk"; depends=[mvtnorm clinfun]; }; + optiRum = derive { name="optiRum"; version="0.33"; sha256="1324wmi6b2y9whacf9883k1f86bs9gvxp46gksiga1dwab53nlhv"; depends=[data_table]; }; + optmatch = derive { name="optmatch"; version="0.9-1"; sha256="0j8xyb0vsd4rgl5kqwzgy88myby61qaild2bmgn2xban63xnc23j"; depends=[digest]; }; + optparse = derive { name="optparse"; version="1.2.0"; sha256="064grlajnmbcbyhmfgx58mbbmv94sxdkxdqqww0cbi7dg441sli2"; depends=[getopt]; }; + optpart = derive { name="optpart"; version="2.1-1"; sha256="0m2nsrynqbw9sj7cp7c37grx9g20dld2f26g0xzbj16wz7whgp02"; depends=[cluster labdsv MASS plotrix]; }; + optR = derive { name="optR"; version="1.0.3"; sha256="1grzm4m0zs1i0p6z3v2acgfyp3lvjrrkfp5sbix4jbr9360fk8m3"; depends=[]; }; + ora = derive { name="ora"; version="2.0-1"; sha256="0albxqma220rnrpfdq3z9cawr83q1a0zzczbbcy4nijjm4mswphy"; depends=[DBI ROracle]; }; + orca = derive { name="orca"; version="1.0"; sha256="0cqz1zmlzwdprhbxs4arjv2gx868dx47xg8jmjvzk7g2xc9prj62"; depends=[]; }; + orclus = derive { name="orclus"; version="0.2-5"; sha256="0kkxhyqjxib862npinzf3mipqg5imgscdmb5wqm8wf2j2mbislsx"; depends=[]; }; + ORCME = derive { name="ORCME"; version="1.2.1"; sha256="14jj69m52vvcpshb31pvj9k5fp506d9a5dgyj85qvn3m39p7akky"; depends=[]; }; + orcutt = derive { name="orcutt"; version="1.1"; sha256="0hz7aw4jpf4l7ihj4bjnjv1m8ynr71n4l12x046qj8y7mrnl9p4k"; depends=[]; }; + ordBTL = derive { name="ordBTL"; version="0.7"; sha256="16x05iiqqxyx528070b5aakr8r93hklmdwcsi5rfg2k9h91f0p03"; depends=[caret VGAM wikibooks]; }; + orddom = derive { name="orddom"; version="3.1"; sha256="165axs15fvwhrp89xd87l81q3h2qjll1vrwcsap645cwvb85nwsh"; depends=[psych]; }; + ORDER2PARENT = derive { name="ORDER2PARENT"; version="1.0"; sha256="04c80vk6z227w6qsnfls89ig4vqyiiymdarhq1pxa0gpr8j2ssx5"; depends=[Matrix]; }; + orderbook = derive { name="orderbook"; version="1.03"; sha256="0dlvjrzdhhh8js4g1lvxs46q7fdxfxavxnb4nj6xlwca75i51675"; depends=[lattice hash]; }; + OrdFacReg = derive { name="OrdFacReg"; version="1.0.4"; sha256="00zw5zqbn2v5r4mqgs4m7gz278bnb53jf5x6c50yv47643m0nxfy"; depends=[eha MASS]; }; + ordinal = derive { name="ordinal"; version="2013.9-30"; sha256="07a226ccd05a3w0i5j6f3mwbmnc3xpl7myq33zl6r4gpvcc8d7c3"; depends=[ucminf MASS Matrix]; }; + OrdinalLogisticBiplot = derive { name="OrdinalLogisticBiplot"; version="0.3"; sha256="0z03dpargdkay99gci5kpxr2i8cgiw3gfras65f83bjr2pkmsdla"; depends=[mirt MASS NominalLogisticBiplot]; }; + OrdMonReg = derive { name="OrdMonReg"; version="1.0.3"; sha256="1xca8pvvq79j484l2rmn4nva8ncx8z51g5diljikck231y8qjqaz"; depends=[]; }; + OrdNor = derive { name="OrdNor"; version="1.0"; sha256="1n6c0d4r1w3n016lzk2i5yyvawk9pgmsbzymbbyq7gx8a80iv32h"; depends=[mvtnorm corpcor Matrix GenOrd]; }; + ordPens = derive { name="ordPens"; version="0.2-1"; sha256="1kcxjfr2ncnqg293ph509hpgzzn5s4ih2kd8agl335zlxcksz3fp"; depends=[grplasso mgcv RLRsim]; }; + OrgMassSpecR = derive { name="OrgMassSpecR"; version="0.4-3"; sha256="0mnwsrcsq54g34465ygfbnnmmqsl8aqx50qds20ldnnqxxq3iic1"; depends=[]; }; + ORIClust = derive { name="ORIClust"; version="1.0-1"; sha256="1biddddyls2zsg71w4innxl0ckfb80q2j9pmd56wvbc0qnbm0w3q"; depends=[]; }; + orientlib = derive { name="orientlib"; version="0.10.3"; sha256="1qi46hkz73b8722zc3w6wvsq1ydlk37yxn9rd1dqygqbs1svkmvv"; depends=[]; }; + orloca = derive { name="orloca"; version="4.1"; sha256="1r9qx2q3djldgxr942g7rhi4i13dlmm2f8lcqgc1h35l4qdaam5n"; depends=[]; }; + orloca_es = derive { name="orloca.es"; version="4.1"; sha256="0nzhg7vzfxlmryw5ijww8z2b1g9cmgcgzi3gsgigsgn4shnc2hni"; depends=[orloca]; }; + ORMDR = derive { name="ORMDR"; version="1.3-2"; sha256="0y7b2aja3zvsd6lm7jal9pabcfxv16r2wh0kyzjkdfanvvgk3wmm"; depends=[]; }; + oro_dicom = derive { name="oro.dicom"; version="0.4.1"; sha256="0mxjqk7b0k4srkk5yqm21b2x67c5hyd7nwf3b1qlb9rvnfjhqyhk"; depends=[oro_nifti]; }; + oro_nifti = derive { name="oro.nifti"; version="0.4.0"; sha256="1pragzjdldzgiaj4rbx37ki0930wfxj3kvan43vijd11a8ij1g5l"; depends=[bitops]; }; + oro_pet = derive { name="oro.pet"; version="0.2.1"; sha256="1ysi7jxx1jalx78vqpbq1rd8q85nrz23zrz3vbj5ar3l265kwd5q"; depends=[oro_nifti]; }; + orQA = derive { name="orQA"; version="0.2.1"; sha256="0vivjrpcbql42y078gi91kfpfdpv73j23jkiv8fpazzwzdi8ydqq"; depends=[Rcpp gtools nlme]; }; + orsk = derive { name="orsk"; version="1.0-1"; sha256="155wc9sfla3717b6xmhmsmvsnh2qbzzkffhibmj4xc0pd9lwwz2v"; depends=[BB BHH2]; }; + orthogonalsplinebasis = derive { name="orthogonalsplinebasis"; version="0.1.5"; sha256="060g2z8zx5gkk8v31cs0c6v5jzkd7hc9l2syx6hmvj6przr2cxi4"; depends=[]; }; + orthopolynom = derive { name="orthopolynom"; version="1.0-5"; sha256="1gvhqx6jlh06hjmkmbsl83gri0gncrm3rkliyzyzmj75m8vz993d"; depends=[polynom]; }; + osDesign = derive { name="osDesign"; version="1.6"; sha256="0xbrdv6pyriqxjxcq6vbk5qycc78jailw99l5w0rvp0s9mygqaaq"; depends=[]; }; + osmar = derive { name="osmar"; version="1.1-7"; sha256="0q6d8nw7d580bnx66mjc282dx45zw9srczz90b520hjcli4w3i3r"; depends=[XML RCurl geosphere]; }; + ouch = derive { name="ouch"; version="2.8-4"; sha256="1kx6qjvc8zlcxihqfxs288hwwh9m05s5544w4c6m1wc02083b735"; depends=[subplex]; }; + outbreaker = derive { name="outbreaker"; version="1.1-2"; sha256="1sh9h1l7iqx6ly78wfxi0dlif77xggwzr0mzdy2ii7di1dnlwzv0"; depends=[ape igraph adegenet]; }; + OutbreakTools = derive { name="OutbreakTools"; version="0.1-0"; sha256="1930kgqwys452p1xq0i7r20gd1gv0i6q03h1shzlkd0qyw1cx6in"; depends=[ggplot2 network knitr RColorBrewer ape reshape2 sna plyr ggmap scales rjson networkDynamic]; }; + OutlierDC = derive { name="OutlierDC"; version="0.3-0"; sha256="1vm3zx4qmj9l0ddfqbksm1qyqzzqrxf93gh4kj52h68zlsfxwv41"; depends=[survival quantreg Formula]; }; + OutlierDM = derive { name="OutlierDM"; version="1.0-0"; sha256="1yphr47nswcaqa5pfamc3ksqcxwhxl388sdml2aqjjfd9w29lf2g"; depends=[quantreg MatrixModels outliers pcaPP]; }; + outliers = derive { name="outliers"; version="0.14"; sha256="0vcqfqmmv4yblyp3s6bd25r49pxb7hjzipiic5a82924nqfqzkmn"; depends=[]; }; + OUwie = derive { name="OUwie"; version="1.42"; sha256="0491cvl2z95mygl6ys94akf288i2bmr58dfnfs2vpbpnq4ldfjm4"; depends=[ape nloptr numDeriv corpcor lattice phytools phangorn]; }; + overlap = derive { name="overlap"; version="0.2.2"; sha256="19236r750wpbvy2a50wjh6sadvn9jwcf4fx51nd2gfydfq48an21"; depends=[]; }; + oz = derive { name="oz"; version="1.0-20"; sha256="1d420606ldyw2rhl8dh5hpscvjx6vanbq0hrg81m7b6v0q5rkfri"; depends=[]; }; + p2distance = derive { name="p2distance"; version="1.0.1"; sha256="1ims8i5z5k97kjpdysgx8g7lgvnvf7amahcrssw7bk38bvbxawni"; depends=[]; }; + p3state_msm = derive { name="p3state.msm"; version="1.3"; sha256="0gbrka62ylxx64r3abpk60y92k2lk5smlf8na68qazph8llsl2rv"; depends=[survival]; }; + pa = derive { name="pa"; version="1.2-1"; sha256="1pfgzxirkb0p8f6smjlrbp1qpsh0vsvqf306cvldaj9zx8cw0q9f"; depends=[ggplot2]; }; + pacbpred = derive { name="pacbpred"; version="0.92.2"; sha256="13p405vh9rf1r5idxl5payc85vwlzcd87wm15163vc9gmil1ncsf"; depends=[]; }; + pack = derive { name="pack"; version="0.1-1"; sha256="0x4p8clwp49s2y67y7in530xwhjngnqwagf9xnyb1jp0z3myd3r7"; depends=[]; }; + packClassic = derive { name="packClassic"; version="0.5.2"; sha256="04a1sg9vx3r0sq54q9kj0kpahp6my246jy3bivgy09g5fjk0dmkj"; depends=[]; }; + packdep = derive { name="packdep"; version="0.3.1"; sha256="1827h9xcvgdad9nwz9k3hi79jc33yr7dnxy4xn2frp3fdh4q81ll"; depends=[igraph]; }; + packHV = derive { name="packHV"; version="1.8"; sha256="0dr2picjd7mm633vw29524f3n4jpyillpzi9cg7yc2cymxnrgvyg"; depends=[survival WriteXLS]; }; + packS4 = derive { name="packS4"; version="0.9.1"; sha256="01kkw5g3xcn9hhfglmfvwsryid0w4vw9azh6as8l8d5i1xjyp9k7"; depends=[]; }; + pacose = derive { name="pacose"; version="1.4"; sha256="10dpqafbq5iwfhx9xf6l902y23p2w4mvaclkhrcz2d89njakcnaz"; depends=[ggm igraph ppls MASS corpcor glmnet mvtnorm lcd]; }; + paf = derive { name="paf"; version="1.0"; sha256="0wrqn67jfrjjxwcrkka6dljgi3mdk00vfjkzzcv2v7c97gx1zvwn"; depends=[survival]; }; + PAGI = derive { name="PAGI"; version="1.0"; sha256="01j1dz5ihqslpwp9yidmhw86l112l7rfkswmf03vss872mpvyp3f"; depends=[igraph]; }; + PAGWAS = derive { name="PAGWAS"; version="1.0"; sha256="1zwq4b0bgsskzvlapffh30ys9y4wlcfwpjqw8m2i9zabib5knx9i"; depends=[lars doMC mnormt]; }; + pairedCI = derive { name="pairedCI"; version="0.5-4"; sha256="03wf526n3bbr2ai44zwrdhbfx99pxq1nbng9wsbndrdg2ji4dar2"; depends=[]; }; + PairedData = derive { name="PairedData"; version="1.0.1"; sha256="025h5wjsh9c78bg6gmg6p6kvv2s6d5x7fzn3mp42mlybq0ry78p0"; depends=[MASS gld mvtnorm lattice ggplot2]; }; + pairheatmap = derive { name="pairheatmap"; version="1.0.1"; sha256="1awmqr5n9gbqxadkblpxwcjl9hm73019bwwfwy1f006jpn050d6l"; depends=[]; }; + PairViz = derive { name="PairViz"; version="1.2.1"; sha256="0mjp5p6n5azbhrm2hvb9xyqjfhd49pw9ia8k70749yc96ws1qqc7"; depends=[TSP gtools]; }; + pairwise = derive { name="pairwise"; version="0.2.4"; sha256="177xmxrs4fkvssigc7gl7az2z1q6gi7wrmygfhc9h9w1f8qg3n5y"; depends=[]; }; + pairwiseCI = derive { name="pairwiseCI"; version="0.1-22"; sha256="1lgir9gcikx8c9pd2wdsqnik9rwr4qkymcf4ndp8s491vj6cm6sa"; depends=[MCPAN coin boot mratios binMto MASS]; }; + palaeoSig = derive { name="palaeoSig"; version="1.1-2"; sha256="0f5y69zzb32zi3kdy8jpcvz3i38nmmi0d9ajs44jrq4rkhhhwq3v"; depends=[rioja vegan TeachingDemos gstat fields mapproj]; }; + paleobioDB = derive { name="paleobioDB"; version="0.1"; sha256="0ax5mzfvrxwg82brc4589bkd7cl8iy254iq6sjs9cr3d7x0zyahz"; depends=[maps raster rjson gtools RCurl plyr scales]; }; + paleofire = derive { name="paleofire"; version="1.1-2"; sha256="0sspqnj0p5m09mpb620ha0wy3m7xyhwrvqvs34xcma11kjav1xd6"; depends=[GCD rworldmap locfit gtools caTools pscl Imap RCurl devtools raster sp rgdal ggplot2 lattice RColorBrewer agricolae]; }; + paleoMAS = derive { name="paleoMAS"; version="2.0-1"; sha256="1hhb5wbj4m3ch8wnvd1zkl5bk6wa9nl6jl1dhm4z6yqkh29yn9z6"; depends=[MASS vegan lattice]; }; + paleotree = derive { name="paleotree"; version="2.0"; sha256="06bi9wikgb9szlhf747ijnqikv87svlf579w4hx9yplc8m44br1s"; depends=[ape phangorn]; }; + paleoTS = derive { name="paleoTS"; version="0.4-4"; sha256="19acfq5z42blk6ya7sj3sprddlgvhrzb9zqpvpy4q8siqkxxrjah"; depends=[mvtnorm]; }; + palinsol = derive { name="palinsol"; version="0.92"; sha256="1jxy3qx8w1r8jwgdavf37gqjjqpizdqk218xcc7b77xi8w52vxpg"; depends=[gsl]; }; + PamGeneMixed = derive { name="PamGeneMixed"; version="1.03"; sha256="0pg19nnn8d23mqw7aw1wqijcgfavvixr42p51iz0m931ig3sg4ki"; depends=[mgcv gplots nlme]; }; + pamm = derive { name="pamm"; version="0.7"; sha256="02py4zcymmwnlpsvha5cgc4ik8fp0gbsg86s5q7z5fl3ma3g669j"; depends=[lme4 mvtnorm gmodels]; }; + pamr = derive { name="pamr"; version="1.54.1"; sha256="05jm67y329z4qcsacd9mc7hcq7g6icf2mi53nranmkgcnhwvr78k"; depends=[cluster survival]; }; + pan = derive { name="pan"; version="0.9"; sha256="1payx5bzs0hp3f176ia56y4a9pym8p4h7ap5wag2symlvprzppah"; depends=[]; }; + pander = derive { name="pander"; version="0.3.8"; sha256="0ka9cjwmvr79rbymww9m36l7z0rdf8xkxvc6r2y5lm6mpzx1s13i"; depends=[digest]; }; + panelAR = derive { name="panelAR"; version="0.1"; sha256="1ka2rbl9gs65xh2y2m4aqwh5qj4szibjy101hqfmza9wmdh25gpq"; depends=[car]; }; + Paneldata = derive { name="Paneldata"; version="1.0"; sha256="00hk340x5d4mnpl3k0hy1nypgj55as2j7y2pgzfk3fpn3zls5zib"; depends=[]; }; + papeR = derive { name="papeR"; version="0.4-0"; sha256="0w1pqmgaa15x4vxr4msw5fwmd42kgrhniy2h7wvpyyvgzxfvb0s3"; depends=[car nlme lme4 survival gmodels]; }; + parallelize_dynamic = derive { name="parallelize.dynamic"; version="0.9-1"; sha256="03zypcvk1iwkgy6dmd5bxg3h2bqvjikxrbzw676804zi6y49mhln"; depends=[]; }; + parallelMap = derive { name="parallelMap"; version="1.0-83"; sha256="1ykgvvcynpqnkz8s5shwfi0qmlxffmrfb7wfhjw7dyh1zvkdwjwn"; depends=[BBmisc]; }; + ParamHelpers = derive { name="ParamHelpers"; version="1.1-36"; sha256="009y7dbm2g0c9jr9893vzxflf5bvirxwa38i6ma6bgkmhg7smja9"; depends=[BBmisc]; }; + paramlink = derive { name="paramlink"; version="0.9-6"; sha256="0pazllkjbqzvl9vmpvr67lkcsd960mipcd1p1nf00y8hknrwh7qp"; depends=[kinship2 maxLik]; }; + paran = derive { name="paran"; version="1.5.1"; sha256="0nvgk01z2vypk5bawkd6pp0pnbgb54ljy0p8sc47c8ibk242ljqk"; depends=[MASS]; }; + parboost = derive { name="parboost"; version="0.1.3"; sha256="1ziqbbcxvhc3v0vjpf9y6jhk3rqbgn9cilwcfxlxjbw73jhvvclg"; depends=[mboost party iterators plyr caret glmnet doParallel]; }; + parcor = derive { name="parcor"; version="0.2-4"; sha256="0zz1i3cm1gy2bx77hpydk0wlsr60nanjx57g0zr5wm01imkk99wa"; depends=[MASS glmnet ppls Epi GeneNet]; }; + ParDNAcopy = derive { name="ParDNAcopy"; version="1.3"; sha256="1y0fl5gj3d3xj6krfyg48fs9vz3s4jb61js0b7yfzgv6a3289g5a"; depends=[]; }; + ParentOffspring = derive { name="ParentOffspring"; version="1.0"; sha256="117g8h0k65f2cjffigl8n4x37y41rr2kz33qn2awyi876nd3mh93"; depends=[]; }; + ParetoPosStable = derive { name="ParetoPosStable"; version="1.0.2"; sha256="1a42s9lhzzimvlxdpbd8dfqc5a936f1s31d040fwgs8i3qfpfjwp"; depends=[ADGofTest lmom]; }; + parfm = derive { name="parfm"; version="2.5.6"; sha256="1zas6isgirha379f246zg84ddv0jl2n4795brshd98hkayl4c1fi"; depends=[survival eha msm]; }; + parfossil = derive { name="parfossil"; version="0.2.0"; sha256="12gsc5n4ycvhzxvq5j0r3jnnrzw1q412dbvmakipyw2yx2l2s7jn"; depends=[fossil foreach]; }; + parma = derive { name="parma"; version="1.5-1"; sha256="0qrq3bx0amri9b3s6bym4znnk140jjd2abnvqyihaj4bf2glbl0g"; depends=[nloptr slam Rglpk quadprog FRAPO corpcor]; }; + parmigene = derive { name="parmigene"; version="1.0.2"; sha256="1fsm6pkr17jcbzkj1hbn91jf890fviqk1lq6ls8pihsdgah1zb4d"; depends=[]; }; + parspatstat = derive { name="parspatstat"; version="0.1-4"; sha256="14rcw2lzqwdjg4avjw3d6ivgdglkkagdh6pnd7bprkkdv8i5a9h2"; depends=[Rmpi spatstat]; }; + partDSA = derive { name="partDSA"; version="0.9.5"; sha256="0zblwjzwhalcnbmgwnqxpq7ixf4xhgx9lpf0lk3krry3di537s0q"; depends=[survival]; }; + partialOR = derive { name="partialOR"; version="0.9"; sha256="02vbvln8lswysaafpxq5rxb6crp7yhlc13i42kybv8fr10jaagjj"; depends=[nnet]; }; + partitionMap = derive { name="partitionMap"; version="0.5"; sha256="0pi066xaaq0iqr0d7cncdzjd7bacmgrivc4qvhqx0y7q1vifrdjm"; depends=[randomForest]; }; + partitionMetric = derive { name="partitionMetric"; version="1.1"; sha256="1wry9d3s814yp79ayab7rzf8z5l2mwpgnrc5j7d2sac24vp4pd48"; depends=[]; }; + partitions = derive { name="partitions"; version="1.9-15"; sha256="0jgpknm4zah50w9i3fbq2f1whm4hywm2j72vxc3ignx1snx2z0gs"; depends=[gmp polynom]; }; + partsm = derive { name="partsm"; version="1.1-2"; sha256="0cv3lgkdkn97bc85iwlv9w5pmqwwwsgb717zxnbgb5mzf4xn3f3g"; depends=[]; }; + party = derive { name="party"; version="1.0-13"; sha256="0l6s9wb7xy1jysfj2333xyl0z46bvcs35kamrw8n5riigqxxmqcm"; depends=[zoo sandwich strucchange modeltools survival coin]; }; + partykit = derive { name="partykit"; version="0.8-0"; sha256="083lwaz38d40qdhlhf33vplykx1m3ham0q8r7pmwivj09nbfkmya"; depends=[survival]; }; + parviol = derive { name="parviol"; version="1.1"; sha256="1sfgic86ssd5wjf9ydss9kjd3m4jmm2d1v896sjsv8bydwymbpx3"; depends=[vioplot]; }; + PAS = derive { name="PAS"; version="1.2"; sha256="0q5g9j8xb9fl7r8f1w5gk5h83ll5w1r6m2gq9ilw8w8s96pm4xd8"; depends=[glmnet]; }; + pass = derive { name="pass"; version="1.0"; sha256="00dzwg2lnzmrrmzq3fyrs4axswgnsn7f62l2f2a8d8gyf8qzz3nf"; depends=[MASS lars ncvreg]; }; + pastecs = derive { name="pastecs"; version="1.3-18"; sha256="0ixlnc1psgqgm71bsf5z5j65lvr92ghpsk9f1ifm94dzjhi6d22i"; depends=[boot]; }; + pastis = derive { name="pastis"; version="0.1-2"; sha256="0211pzj3xrmqgxjpspij95kmlpa2klpicw49n6pnz2g1fapjy2bd"; depends=[caper ape]; }; + PASWR = derive { name="PASWR"; version="1.1"; sha256="1rxymnqvflypc6m62f5vw65l8x1m2yah7r11hhpmzdq2l2sg8fci"; depends=[e1071 MASS lattice]; }; + patchDVI = derive { name="patchDVI"; version="1.9.1601"; sha256="0vv1rmmd78n2r14dsl9fx25v6ym9mav557ya0aagr548wqcajf0m"; depends=[]; }; + patchPlot = derive { name="patchPlot"; version="0.1.5"; sha256="1b4k0dvvj6qwyxbqb36knyrawvy5qq8hl45pz896c9rkqhlg02bx"; depends=[datautils]; }; + pathClass = derive { name="pathClass"; version="0.9.4"; sha256="1vzmz3bml37wfxsjhkw9fip90sr1iv521ccr7nlf6xd30wavqywk"; depends=[svmpath kernlab ROCR igraph lpSolve]; }; + pathdiagram = derive { name="pathdiagram"; version="0.1.9"; sha256="1j2h9mmwfi95nwhk9214kcfpb1qrmw249mjaza7i9gijmlicraxz"; depends=[shape]; }; + pathmox = derive { name="pathmox"; version="0.2.0"; sha256="0hcllnpjjays35yngz309f1gcx9qg5z9h302kg9mhxs90470x4w0"; depends=[plspm tester]; }; + PatternClass = derive { name="PatternClass"; version="1.5"; sha256="1paw39xm2rqjnc7pnbya7gyl160kzl56nys9g0y1sa6cqycy3y5x"; depends=[SDMTools]; }; + pavo = derive { name="pavo"; version="0.5-1"; sha256="189kshc5dm02qv0rm1dlcxrhvga4yhlkn3yyj3rjhmrags4rmwcb"; depends=[rgl rcdd mapproj geometry]; }; + pawacc = derive { name="pawacc"; version="1.1"; sha256="1w3mzqbazxyb45yh3xmn780mghjyw90rmivhbp9kcxhjd175i4lw"; depends=[SparseM]; }; + PAWL = derive { name="PAWL"; version="0.5"; sha256="1sx4g4qycba2j1fm0bvhz3hk6ghhdc37rz5zi1njqxrpmbnkqg04"; depends=[mvtnorm foreach reshape ggplot2]; }; + pbapply = derive { name="pbapply"; version="1.1-0"; sha256="1a8qxxz8xj90a5ywdq0ggbp2n733qxd1a4xxkp0835xp1asjrsq7"; depends=[]; }; + pbatR = derive { name="pbatR"; version="2.2-9"; sha256="1p8rj0lzm4pp1svgy7xia2sclkngzfjbgbikq94s6v92d582wncw"; depends=[survival rootSolve]; }; + PBC = derive { name="PBC"; version="1.2"; sha256="1z08y5sn6i439811c9mq3bs78zqlzzkz0srmv4wld68bywhmwqj4"; depends=[igraph Rcpp copula]; }; + PBD = derive { name="PBD"; version="0.9"; sha256="0a38f6p12234wp42k21hdf30lb5bbfy61h66gz1z9p05rvl9lg4d"; depends=[deSolve ade4 ape DDD]; }; + pbdBASE = derive { name="pbdBASE"; version="0.2-3"; sha256="1zfz45fnjmp8yz4nlac9q1d49gpczkl2b0rz2s33jbv5i32z3yvs"; depends=[rlecuyer pbdMPI pbdSLAP]; }; + pbdDEMO = derive { name="pbdDEMO"; version="0.2-0"; sha256="0vilri4d25mb339zsgh1zypyqxv1vzfdc8b8ivqi5yz1nrzm05gz"; depends=[rlecuyer pbdMPI pbdSLAP pbdBASE pbdDMAT]; }; + pbdDMAT = derive { name="pbdDMAT"; version="0.2-3"; sha256="18x607r0gx1nnw9p305ci5sfcxbi5zdr2b6yf9y6vqjsckicnw62"; depends=[rlecuyer pbdMPI pbdSLAP pbdBASE]; }; + pbdMPI = derive { name="pbdMPI"; version="0.2-2"; sha256="0xyjbf3snmx64l3l1v8zibsl84g61i8fgkzzmpxqmgyabl5izkhp"; depends=[rlecuyer]; }; + pbdNCDF4 = derive { name="pbdNCDF4"; version="0.1-2"; sha256="101swavhc1l4bkaq6hi8sf6siyjlcca7pr3gz2wgqnbsrhddj8ry"; depends=[rlecuyer pbdMPI]; }; + pbdPROF = derive { name="pbdPROF"; version="0.2-2"; sha256="0pjciwrx4ck7kr7667ma8mc3qrdkcwzmgb0ajx9lm7k5gm9s59pw"; depends=[ggplot2 gridExtra reshape2]; }; + pbdSLAP = derive { name="pbdSLAP"; version="0.1-8"; sha256="1lwhr9lpa9cqbypa5hhcc9bqnf4xc6r1ixdbibvlgfk30q3nzjsg"; depends=[rlecuyer pbdMPI]; }; + PBImisc = derive { name="PBImisc"; version="0.999"; sha256="0igwl78wj8w6jzmk5m8y9rf4j72qrcjyhb83kz44is72ddzsyss6"; depends=[MASS lme4 Matrix]; }; + pbivnorm = derive { name="pbivnorm"; version="0.5-1"; sha256="18ry0qz0ryazplv5iwdvbfngn0zv7frqp16nc2x70s0wf3izxkwr"; depends=[]; }; + pbkrtest = derive { name="pbkrtest"; version="0.3-8"; sha256="0cz02ryzd44pkw3j3bwh1wvayy0i3kkafapjw0rnbwj85mm02dla"; depends=[MASS lme4 Matrix]; }; + pbs = derive { name="pbs"; version="1.1"; sha256="0cpgs6k5h8y2cia01zs1p4ri8r7ljg2z4x8xcbx73s680dvnxa2w"; depends=[]; }; + PBSadmb = derive { name="PBSadmb"; version="0.68.104"; sha256="01akimdsp0bkvz3a5d75yyy3ph0mff85n8qsnr59fla5b5cm4qlj"; depends=[PBSmodelling]; }; + PBSddesolve = derive { name="PBSddesolve"; version="1.10.25"; sha256="09206zbw7sfnf624bm6y8407g6nq2z49xd5z5jri9dlny0ssl7xw"; depends=[]; }; + PBSmapping = derive { name="PBSmapping"; version="2.67.60"; sha256="1n9c9fglsnch5jw248yyvy2vrq3wgca0wdkdwwhfc3n7yw83mwkr"; depends=[]; }; + PBSmodelling = derive { name="PBSmodelling"; version="2.66.264"; sha256="08plp74cjzmgv3dkaxgryqq1yqp0z7pdlz9jqgai8w89vwi0il35"; depends=[]; }; + pca3d = derive { name="pca3d"; version="0.2"; sha256="1x7fi9c4gijv34hr2bgsp872v5hknwidrh4q4blvvqknfl1w3clr"; depends=[rgl]; }; + pcaL1 = derive { name="pcaL1"; version="1.2.1"; sha256="00jfsbhnpq5mvnmpv066w1nhz2lhv55imgbl2z7dza9b8gxb88ry"; depends=[]; }; + pcalg = derive { name="pcalg"; version="2.0-2"; sha256="1fkd0881x1cjbvym3dmy4gm8wk0r6x5k0v531a9cr22kyvpk5qkb"; depends=[abind igraph ggm corpcor robustbase vcd Rcpp]; }; + PCAmixdata = derive { name="PCAmixdata"; version="2.1"; sha256="12g6pkp9yffp1arqdvnx721cn34h0a7m3bm2ayd9fsrvbaqb7ci8"; depends=[]; }; + pcaPA = derive { name="pcaPA"; version="1.2"; sha256="1acfhv6225r0d8m45z7dlx78lmypdlh1cg4irvf8b3av0qv12g5x"; depends=[polycor ltm ggplot2 mc2d]; }; + pcaPP = derive { name="pcaPP"; version="1.9-49"; sha256="0yk97r0rwkppnzp0kc1j3hcp4n2dr8765mbmvlaikjgwhlhbby4q"; depends=[mvtnorm]; }; + pcenum = derive { name="pcenum"; version="1.0.1"; sha256="0jcwggxcnlbx75lwwpaldv28sgmhxa46rny94sji37hq3zil8yhw"; depends=[]; }; + pcg = derive { name="pcg"; version="1.1"; sha256="194j72hcp7ywq1q3dd493pwkn1fmdg647gmhxcd1jm6xgijhvv87"; depends=[]; }; + PCGSE = derive { name="PCGSE"; version="0.1"; sha256="113ppp574ci08p18g6b3s4zjdyihnql6qmrw8bh420lmdnxcfd7x"; depends=[MASS]; }; + PCICt = derive { name="PCICt"; version="0.5-4"; sha256="1g17hxs00dlnb6p0av6l7j99qy00555f80nk1i1i1x87fszp3axa"; depends=[]; }; + pcIRT = derive { name="pcIRT"; version="0.1"; sha256="0vfbbmnp4jyrbi5d9gz1krh707aazbrqfcgc3rjrwwyjld11wyzn"; depends=[combinat]; }; + PCIT = derive { name="PCIT"; version="1.04-5"; sha256="10fnkad09y7vh8j3c5kgkh64lwqn2nsl5818rzl9b8d51f951qjg"; depends=[]; }; + pcnetmeta = derive { name="pcnetmeta"; version="1.1"; sha256="1h1kqjvb4fry9qkq8ryh73fk0wfd9l24pyv2l8f6056i8nwkm5qp"; depends=[R2jags network runjags]; }; + PCovR = derive { name="PCovR"; version="2.4"; sha256="0wz1bqdsf8x50kbi0vgw7wz268qks56bpgf6s68lqry7zgngjnx1"; depends=[GPArotation ThreeWay MASS Matrix]; }; + PCPS = derive { name="PCPS"; version="1.0"; sha256="0qgbxkpnn4d1ng085z6wf61dg0dgyfc8q95li24wbwnghyqx1d5c"; depends=[picante SYNCSA vegan]; }; + pcrcoal = derive { name="pcrcoal"; version="1.1"; sha256="17mm13xpmghachiqr7v2691jk39mbfsadpg028gs3iiwmh0pksa0"; depends=[ape ggplot2 phylosim]; }; + PCS = derive { name="PCS"; version="1.2"; sha256="0488h6s1yz6fwiqf88z2vgckn6i0kwls8cazmpw3wspnaqvl2n4s"; depends=[statmod]; }; + pcse = derive { name="pcse"; version="1.9"; sha256="04vprsvcmv1ivxqrrvd1f8ifg493byncqvmr84fmc0jw5m9jrk3j"; depends=[]; }; + pdc = derive { name="pdc"; version="0.5"; sha256="1fx8y2irhklpkhxljy6vkg28i2xhprnhzrfrmxvmggpfk8xca8by"; depends=[]; }; + pdfCluster = derive { name="pdfCluster"; version="1.0-2"; sha256="0kbci54dlzn736835fh18xnf2pmzqrdmwa3jim29xcnwa1r2gklb"; depends=[geometry]; }; + pdfetch = derive { name="pdfetch"; version="0.1.3"; sha256="1zh9fq249g1xwznjdql4a53vmgnjfz5ggrp91sagy6mm7mgks2bw"; depends=[zoo xts RCurl XML lubridate jsonlite reshape2]; }; + pdist = derive { name="pdist"; version="1.2"; sha256="18nd3mgad11f2zmwcp0w3sxlch4a9y6wp8dfdyzvjn7y4b4bq0dd"; depends=[]; }; + pdmod = derive { name="pdmod"; version="1.0"; sha256="1czpaghp2lcad4j6wxswdfw0n9m0phngy966zr4fr3ciqpx3q129"; depends=[mco]; }; + PDSCE = derive { name="PDSCE"; version="1.2"; sha256="17lc6d8ly6jbvjijpzg45dvqrzrh5s1sp415nycazgpbg9ypwr2h"; depends=[]; }; + Peaks = derive { name="Peaks"; version="0.2"; sha256="0a173p5cdm1jnm7bwsvjpxh4dccy593g02c4qjwky1cgzy5rvin2"; depends=[]; }; + pear = derive { name="pear"; version="1.2"; sha256="1ixmyzm72s18qrfv2m8xzh5503k1q90lhddq4sp46m0q7qyxb192"; depends=[]; }; + pearson7 = derive { name="pearson7"; version="1.0"; sha256="0dz5zf3k6bwj460gna6ak7hwdrsjinhv2ckkgqrycilfsx1w5h44"; depends=[]; }; + PearsonDS = derive { name="PearsonDS"; version="0.97"; sha256="0bsdj4zir12zkv8yhq1z6dqjzhkb9l0f88jrr4iyclns1pcqvrvi"; depends=[]; }; + PearsonICA = derive { name="PearsonICA"; version="1.2-4"; sha256="0jkbqha1nb9pf72ffki47wymsdmd50smkdhvpzvanv4y2rmqfhvg"; depends=[]; }; + pec = derive { name="pec"; version="2.2.9"; sha256="0qvkmm8k2bg6sg42csrk6sn5qa1bvnmn8q485sxc11lqgxvic2jx"; depends=[prodlim survival rms foreach]; }; + pedantics = derive { name="pedantics"; version="1.5"; sha256="0m5jxzkf1pf657q2klv6idnywg18ki962666nj7sfyl4rq06xhsi"; depends=[MasterBayes MCMCglmm kinship2]; }; + PedCNV = derive { name="PedCNV"; version="0.1"; sha256="09qxcjzwdgzdkbj28rzmfv7k3q2qsiapnvx3m45a835r57h5gynp"; depends=[Rcpp RcppArmadillo ggplot2]; }; + pedgene = derive { name="pedgene"; version="1.4"; sha256="1ad3ym5q43vxzb035sdf83vdm0v44jba8mb7zziwkc2ljqza3564"; depends=[Matrix CompQuadForm kinship2]; }; + pedigree = derive { name="pedigree"; version="1.4"; sha256="1dqfvzcl6f15n4d4anjkd0h8vwsbxjg1lmlj33px8rpp3y8xzdgw"; depends=[Matrix HaploSim reshape]; }; + pedigreemm = derive { name="pedigreemm"; version="0.3-1"; sha256="09gx7232ba72848icc305fkcqj6rl9xij0gmqglchr4fv8xcl4qx"; depends=[lme4 Matrix]; }; + pegas = derive { name="pegas"; version="0.5-1"; sha256="0imn9n0y9nxp8vv1nz3qg9vmb5bdzxm596fxxg4hcgw7am6ap2sq"; depends=[ape adegenet]; }; + PEIP = derive { name="PEIP"; version="1.7"; sha256="1bagi1kr8vd3b3r524vrk747bqmd9insny1nxj8bdvdk0a9yr949"; depends=[bvls Matrix RSEIS pracma]; }; + PEMM = derive { name="PEMM"; version="1.0"; sha256="18dd9hsbdrnhrrff7gpdqrw2jv44j8lg0v3lkcdpbd4pppcaq84h"; depends=[]; }; + penalized = derive { name="penalized"; version="0.9-42"; sha256="160ypgfcbdxcrgrhq99rgxl1wgn7854y64820nkvmfpc0ady7s4q"; depends=[survival survival]; }; + penalizedLDA = derive { name="penalizedLDA"; version="1.0"; sha256="1ib33l5nqmvi6qn9ykybkdpc0pp55k1b6x4vqpklzp3dgckg0lp6"; depends=[flsa]; }; + penalizedSVM = derive { name="penalizedSVM"; version="1.1"; sha256="0zc36cgcrdy4rwhg4hhhahymqfalvc5v2zmqq56ikz5blln82qvq"; depends=[e1071 MASS corpcor statmod tgp mlegp lhs]; }; + pencopula = derive { name="pencopula"; version="0.3.5"; sha256="1cy36pprbrfabk9n3x4d1xbj1vd2dda7xq3ihj2hzniwn77j63wi"; depends=[lattice fda quadprog latticeExtra]; }; + pendensity = derive { name="pendensity"; version="0.2.7"; sha256="1f7v0dqcip6mvza9h6j1ajkc6awjs0g8i07v529xn7fhygzwwccr"; depends=[lattice fda]; }; + penDvine = derive { name="penDvine"; version="0.2.2"; sha256="054vw99z68pk0bi4yzdmvx13x8n75sj2371l8w2yady1lqjj4qi7"; depends=[lattice quadprog TSP fda Matrix]; }; + PenLNM = derive { name="PenLNM"; version="1.0"; sha256="1xkz39cdp9dr8iq1cjiv862sda4zy737gvbwxxsykw15256lklmf"; depends=[remMap MASS Matrix]; }; + pensim = derive { name="pensim"; version="1.2.9"; sha256="10nrnxwfs41bhybs7j6xgnx0pq3c802n9k8irngmh8iy4w3wbhrq"; depends=[penalized MASS]; }; + peperr = derive { name="peperr"; version="1.1-7"; sha256="01a6sxcmb8v2iz2xdwhdnr92k3w2vn3hr0hg9b6mkpzjf4n45q3k"; depends=[snowfall survival]; }; + peplib = derive { name="peplib"; version="1.5.1"; sha256="1bdgmwbk76ryl5gxcgf3slds92yilg9p1x1lx0hnzzwcgx99wif3"; depends=[]; }; + peptider = derive { name="peptider"; version="0.1.2"; sha256="1q63i84ibrqw0rdd48z76lhldc9gfyhxg9x1r2yz8q73dm2cvkig"; depends=[discreteRV plyr]; }; + Peptides = derive { name="Peptides"; version="0.4"; sha256="1841cfx6i2yc5142j1160aandvlrljvfxx79clylj5k9yavpj8rc"; depends=[seqinr]; }; + pequod = derive { name="pequod"; version="0.0-3"; sha256="14nag0bd2icg294y7n47c6xlw54rrdia887d2ni6achjqgwvffzh"; depends=[ggplot2 car]; }; + perARMA = derive { name="perARMA"; version="1.5"; sha256="1d9vrxv8r6qgxhaz3pv8n34c526gi5cd8w7wxy9qc914y8kplmzr"; depends=[corpcor gnm matlab Matrix signal]; }; + PerfMeas = derive { name="PerfMeas"; version="1.1"; sha256="1b49p5lvnshrinf08v9c6nriycrspy569v5akjpffyqi2badr82b"; depends=[]; }; + PerformanceAnalytics = derive { name="PerformanceAnalytics"; version="1.1.0"; sha256="082lh4g9lngbj1chmd23ax1603apnpwh7blml6vq6z3lic59qqgy"; depends=[zoo xts]; }; + performanceEstimation = derive { name="performanceEstimation"; version="0.1.1"; sha256="1km2ljsy8hj9x6xr9am0f4wzihlhbyxhcss7kcxbimxvcv0a479n"; depends=[ggplot2]; }; + perm = derive { name="perm"; version="1.0-0.0"; sha256="0075awl66ynv10vypg63fcxk33qzvxddrp8mi4w08ysvimcyxijk"; depends=[]; }; + PermAlgo = derive { name="PermAlgo"; version="1.0"; sha256="1dc4b5pn77av80k6pgh9k0ksvv9lnjqiwdb2jv55nm0ndycw0qr4"; depends=[]; }; + permGPU = derive { name="permGPU"; version="0.14.3"; sha256="1scw5jch1pa53p5jxy4k9nfpnbr2llw846vmzhq6qqk40snz5pj3"; depends=[RUnit foreach]; }; + permtest = derive { name="permtest"; version="1.2"; sha256="1sciyjs840h004zg8bwclq0j0n22anvjvx3fz62y4dzblrynhrci"; depends=[]; }; + permute = derive { name="permute"; version="0.8-3"; sha256="0zc3b3cl7q7y9pglc690ldg6p7bl7d1h7xkwnqqmvrpn7cq29rdb"; depends=[]; }; + PERregress = derive { name="PERregress"; version="1.0-8"; sha256="1rhridhfgvrz14h61psfyr5ll13fvxj4b9fwrnlnc6lyqi01wjlc"; depends=[]; }; + perry = derive { name="perry"; version="0.2.0"; sha256="1lfmcq2xsxmfs7cxvhgxcsggslgjicbaks4wcjw1yjh67n559j46"; depends=[ggplot2 robustbase]; }; + persiandictionary = derive { name="persiandictionary"; version="1.0"; sha256="0rgi36ngpiax3p5zk4cdgf3463vgx7zg5wxscs2j7834yh37jwax"; depends=[]; }; + perturb = derive { name="perturb"; version="2.05"; sha256="18ydmmp8aq4rf9834dmsr4fr9r07zyn97v8a1jqz3g9njza983la"; depends=[]; }; + pesticides = derive { name="pesticides"; version="0.1"; sha256="1w180hqqav0mh9sr9djj94sf55fzh4r373a7h08a2nz9nyjpq09w"; depends=[]; }; + PET = derive { name="PET"; version="0.4.9"; sha256="1ijg6mfh3xrc1gjh6a4nq64psk9yh16yc8nfp7c9837xbjigqq7f"; depends=[adimpro]; }; + PF = derive { name="PF"; version="9.5"; sha256="1y99brdabj78s5kxyv0136s40kaaj3zya9lk4qd0kqk83z2gdawp"; depends=[xtable RColorBrewer gdata]; }; + pfa = derive { name="pfa"; version="1.0"; sha256="116mpfdmfyd0p5j33rjw1xwxyyaccagbrpw7jbh4x996s057mql4"; depends=[lars POET quantreg]; }; + pgam = derive { name="pgam"; version="0.4.12"; sha256="0vhac2mysd053bswy3xwpiz0q0qh260hziw6bygpf83vkj94qf2v"; depends=[]; }; + pgirmess = derive { name="pgirmess"; version="1.5.8"; sha256="0ldfli5yam24m8w4y0jc4s2vxc4szh6yvmxc5gf6qib7qxhh8k1j"; depends=[boot nlme rgdal sp spdep splancs]; }; + pglm = derive { name="pglm"; version="0.1-2"; sha256="1arn2gf0bkg0s59a96hyhrm7adw66d33qs2al2s0ghln6fyk8674"; depends=[maxLik plm statmod]; }; + pGLS = derive { name="pGLS"; version="0.0-1"; sha256="1rlk8q09sikf4vpzsx0c7s6qqh2hxf8dy2bgcm4nnkbv2nfjz438"; depends=[MASS]; }; + PGM2 = derive { name="PGM2"; version="1.0"; sha256="18azh6k271p9dvc23q402pv7wrilr1yk02vqqy6qjppnvq6jxahg"; depends=[]; }; + pgmm = derive { name="pgmm"; version="1.0"; sha256="1l8riigmhb64r9h6z2r2ll8i33vmlbwj58im9ir5cpkrgz2qsp4k"; depends=[]; }; + pgnorm = derive { name="pgnorm"; version="1.1"; sha256="0fxx9wvzinh17cxy74xms6dbabifav0wsi2cl0wdfykpbwalmszk"; depends=[]; }; + pgs = derive { name="pgs"; version="0.4-0"; sha256="1zf5sjn662sds3h06zk5p4g71qnpwp5yhw1dkjzs1rs48pxmagrx"; depends=[gsl R2Cuba]; }; + phalen = derive { name="phalen"; version="1.0"; sha256="0awj9a48dy0azkhqkkzf82q75hrsb2yw6dgbsvlsb0a71g4wyhlr"; depends=[sqldf]; }; + phangorn = derive { name="phangorn"; version="1.99-7"; sha256="1q6a6md52d2f9xlrs5wv9crncwxh9a4x6zfxmdbsvrlwmgsbzvcx"; depends=[ape quadprog igraph Matrix fastmatch]; }; + PharmPow = derive { name="PharmPow"; version="1.0"; sha256="0gabkd8p4zsig9p697lyk8m2jxb5abjk81rpzd5ih1yk1qanhsn5"; depends=[scatterplot3d]; }; + phaseR = derive { name="phaseR"; version="1.2"; sha256="0qkvcnpmjvldk49m6xrb7pinah4xl0s7gnhpfiy1v7cjg88k23ys"; depends=[deSolve]; }; + PhaseType = derive { name="PhaseType"; version="0.1.3"; sha256="092dqyqfaxj8qpwxcjb5cayhnq597rfjz1xb93ps4nrczycqs0l6"; depends=[coda ggplot2 reshape]; }; + phcfM = derive { name="phcfM"; version="1.2"; sha256="0i1vr8rmq5zs34syz2vvy8c9603ifzr9s5v2izh1fh8xhzg7655x"; depends=[coda]; }; + pheatmap = derive { name="pheatmap"; version="0.7.7"; sha256="0zj6n6cjkim20apihl943rhzxlmkmpqwh00l6h2c8z04m3pv186v"; depends=[RColorBrewer]; }; + phenability = derive { name="phenability"; version="1.0"; sha256="19vxknc0v8vz5cd748fhsndsrpggzlsiims9j7p2s6jlankkgsz9"; depends=[calibrate]; }; + phenex = derive { name="phenex"; version="1.0-7"; sha256="0q563cv9lskikf3ls0idp56lirw9gxn71rgxp9xn8an05gwdg0xr"; depends=[]; }; + phenmod = derive { name="phenmod"; version="1.2-3"; sha256="0dxwx8c7zka29fq7svrvn8bghj8jh8grbrgsw4pvavx2439cldak"; depends=[gstat RColorBrewer lattice pheno]; }; + pheno = derive { name="pheno"; version="1.6"; sha256="0xdya1g1ap7h12c6zn3apbkxr725rjhcp4gbdchkvcnwz4y9vw8c"; depends=[nlme SparseM quantreg]; }; + pheno2geno = derive { name="pheno2geno"; version="1.1.0"; sha256="0myvmirxh0a4h18ngj89vs7ai9a1fj7gsdc76386y5yw0qx2gg5a"; depends=[qtl VGAM mixtools]; }; + phenology = derive { name="phenology"; version="3.63"; sha256="1n3bh9kdpimcl9i9wmy58j7lajf6syxv39yzgb1c36dcwbj2xyg9"; depends=[fields zoo coda shiny XML]; }; + PHeval = derive { name="PHeval"; version="0.5"; sha256="1alz676q80jcbkykfccxq8k2irv1j7xcqxjyyczhqzall2i6fhk0"; depends=[survival]; }; + phia = derive { name="phia"; version="0.1-5"; sha256="0vkl4ccsdx72dwis2959f6w9zg584wfkn58fh2slybdyg9p8886a"; depends=[car]; }; + phmm = derive { name="phmm"; version="0.7-5"; sha256="0dil0ha199yh85j1skwfdl0v02vxdmb0xcc1jdbayjr5jrn9m1zk"; depends=[survival lattice Matrix]; }; + phom = derive { name="phom"; version="1.0.3"; sha256="0x05p6fn4kycilal65k7dy6h3w5i3ca9w93ryp4gqd4lp50l1749"; depends=[Rcpp]; }; + phonR = derive { name="phonR"; version="0.4-2"; sha256="15hi15minbd756vplmcyf0987ppanr44kds13nny0v1h5yyv8kyx"; depends=[]; }; + phonTools = derive { name="phonTools"; version="0.2-1.1"; sha256="1bclfz5nw3k9vzh24yai3xc748fd054b4i6a4mz23dg210csclc9"; depends=[]; }; + phtt = derive { name="phtt"; version="3.1.1"; sha256="02fqg2djpvbm6id1dg8c8w1qccd2axxrhlfi4vrm8d1qcrbjkjm1"; depends=[pspline]; }; + PhViD = derive { name="PhViD"; version="1.0.6"; sha256="17mr8gj6ic4p0xvxiva046r1gmy9azvm1s95rinxqsdd7hiak72w"; depends=[MCMCpack]; }; + phyclust = derive { name="phyclust"; version="0.1-15"; sha256="1j643k0mjmswsvp9jyiawkjf2qhfrw6xf4s2viqv987zxif2kd7z"; depends=[ape]; }; + phyext = derive { name="phyext"; version="0.0.1"; sha256="07hmjgp4qb3x95rbgm83sh9zwhsxjl1v5rvs39m565sc0fax1qdi"; depends=[phylobase ape]; }; + phylobase = derive { name="phylobase"; version="0.6.8"; sha256="0xj7x4cdfp0yadvjhdkw1ai3yd081ri4gpdg0n5g0z13cjaa6mjh"; depends=[ade4 ape Rcpp]; }; + phyloclim = derive { name="phyloclim"; version="0.9-4"; sha256="0ngg8x192lrhd75rr6qbh72pqijbrhrpizl27q0vr6hp7n9ch3zx"; depends=[ape raster]; }; + phyloland = derive { name="phyloland"; version="1.0"; sha256="0r6rpwcq13bxa6289bfj0a0is67a49nj5npi5381090iarkwfvs7"; depends=[ape gsubfn]; }; + phylolm = derive { name="phylolm"; version="2.0"; sha256="0ccrmkhh5sfnmjs4xidfim7nq79pzm5i89hh1s7amqzrdx00bcpj"; depends=[ape]; }; + phylosim = derive { name="phylosim"; version="2.1.1"; sha256="0rrz5c7zl2hjalwm6m8pydikiwmiq2dybx2yhzp0ps2bcsn02lhn"; depends=[R_oo ape compoisson ggplot2 R_methodsS3]; }; + phylotools = derive { name="phylotools"; version="0.1.2"; sha256="19w7xzk6sk1g9br7vwv338nvszzh0lk5rdzf0khiywka31bbsjyb"; depends=[seqRFLP ape picante spaa fields]; }; + phyreg = derive { name="phyreg"; version="0.7"; sha256="0saynhq4yvd4x2xaljcsfmqk7da2jq3jqk26fm9qivg900z4kf35"; depends=[]; }; + PhysicalActivity = derive { name="PhysicalActivity"; version="0.1-1"; sha256="1aqyip7psf3pdrxkpidfldkk9naihvnc7s3n6w6vvr9h1l5mpmvc"; depends=[]; }; + phytools = derive { name="phytools"; version="0.3-93"; sha256="18302vbpifwxcinriq0kgj9lr8ha3mz1a0w7ikwhndmybmn2ds9q"; depends=[ape maps rgl animation clusterGeneration mnormt msm numDeriv phangorn plotrix scatterplot3d]; }; + pi0 = derive { name="pi0"; version="1.3-250"; sha256="1561zvf1hcd05iqy245c0z23mi8ypk6q3lkfldcr55cs67w4lmz6"; depends=[LowRankQP Matrix numDeriv limSolve rgl scatterplot3d Iso quadprog kernlab]; }; + picante = derive { name="picante"; version="1.6-2"; sha256="1zxpd8kh3ay6f3gdqkij1a6vnkr98dc1jib2r6br2kjyzshabcsd"; depends=[ape vegan nlme]; }; + PIGE = derive { name="PIGE"; version="0.9"; sha256="1x8ml25mm69dvlszm9p2ycph92nxcsgd52ydj7ha0dwrrpcv2law"; depends=[snowfall ARTP xtable survival]; }; + PIGShift = derive { name="PIGShift"; version="1.0.0"; sha256="15cgpi7j5cs4aqdq5cy7535x8ar916d9hd109kc01njrwxp1xr96"; depends=[ape mvtnorm]; }; + PIN = derive { name="PIN"; version="0.8"; sha256="1hymf5106zxgbg8dki9jb7gy4vh2mjwbvzh0n2d7qkr6rm8lpmag"; depends=[]; }; + PIPS = derive { name="PIPS"; version="1.0.1"; sha256="1c5v3s6xys9p1q32k6mpsffhi9gwsq951rh12hs76dmak862yspc"; depends=[]; }; + pitchRx = derive { name="pitchRx"; version="1.3"; sha256="1naz281vwlry4dsrq1klxc9lhs6rminps7w5z8xa1jh400n47bqw"; depends=[ggplot2 XML2R plyr MASS hexbin rgl mgcv lubridate]; }; + PivotalR = derive { name="PivotalR"; version="0.1.16.2"; sha256="0n5250bbg3gmyx75h53xx82hwlyyxxm2aaih17dsnm1jfjybbf3z"; depends=[Matrix]; }; + pixmap = derive { name="pixmap"; version="0.4-11"; sha256="04klxp6jndw1bp6z40v20fbmdmdpfca2g0czmmmgbkark9s1183g"; depends=[]; }; + PK = derive { name="PK"; version="1.3-2"; sha256="0162ri9wlm9inryljal48av8yxb326na94kckkigsrklfxb3wkp2"; depends=[]; }; + PKfit = derive { name="PKfit"; version="1.2.1"; sha256="0j5zjkz053ckwgbh8d2wil0y6dd7g8afylxxbj120y3hxxh5zq0v"; depends=[deSolve minpack_lm]; }; + pkgmaker = derive { name="pkgmaker"; version="0.20"; sha256="1wj3989gm3vbi579zd30sb6s40mx5h0avxgfxdbir7ppyd98040k"; depends=[registry codetools digest stringr xtable]; }; + PKgraph = derive { name="PKgraph"; version="1.7"; sha256="0g36cdv5cblqx69j48irxjc5nlw2cl3p714mlsblnd3362z1brwn"; depends=[RGtk2 gWidgetsRGtk2 cairoDevice lattice rggobi ggplot2 proto RGtk2 gWidgetsRGtk2]; }; + pkgutils = derive { name="pkgutils"; version="0.6.0"; sha256="0pi1xaamirsv1bwlwcvyd1hvdgbjbdmw3vg3krawsb34mynbrcff"; depends=[]; }; + PKI = derive { name="PKI"; version="0.1-1"; sha256="1m4q43yq8ddig15k0j9yg9hq4yz3yplqp68zl3p9g2shkam60p6w"; depends=[base64enc]; }; + PKmodelFinder = derive { name="PKmodelFinder"; version="1.1"; sha256="0v5l8j4yq6fv4cgx5psld6klwy6kjwcqg1vhf9r4i8qa12vpa1yh"; depends=[gWidgets tkrplot RGtk2 gWidgetsRGtk2 cairoDevice numDeriv]; }; + PKPDmodels = derive { name="PKPDmodels"; version="0.3.2"; sha256="1h893civ77ahbgjnc6kq3l7rszmqmx9dlxwavldigpq3r79vd86k"; depends=[]; }; + PKreport = derive { name="PKreport"; version="1.5"; sha256="16hss9migbxpnw5f9gcw1nlvb81iyji00ylx5wd6kdwhz0ids9wj"; depends=[lattice ggplot2]; }; + pks = derive { name="pks"; version="0.3-0"; sha256="0lvj5kfjf8wikszz1dipwr1fw9xbhy3nx0ksqz4ln240k7fn5kcj"; depends=[sets]; }; + PKtools = derive { name="PKtools"; version="1.5-0"; sha256="0za6qgl9q9y4j87kfhvanpc9mfckzww6q2kjz7divbv8ygn5cd1m"; depends=[lattice nlme R2HTML xtable]; }; + plan = derive { name="plan"; version="0.4-2"; sha256="0vwiv8gcjdbnsxd8zqf0j1yh6gvbzm0b5kr7m47ha9z64d7wxch6"; depends=[]; }; + planar = derive { name="planar"; version="1.5"; sha256="1ph3q985xw1sg9cs5k1cqpr46f0svycdc1dg3pqmdrzqdi8a3gyx"; depends=[dielectric Rcpp RcppArmadillo statmod cubature reshape2 plyr]; }; + planor = derive { name="planor"; version="0.1-12"; sha256="1mcas42i39p9sr9x38x97ki7269x27pmac6xhss2h56clc0safqb"; depends=[conf_design biganalytics bigmemory]; }; + PlayerRatings = derive { name="PlayerRatings"; version="1.0-0"; sha256="0hjb05bdha00ggcpp3n4f86dxjlhzmlpwgsbbx3mhyv3qq1g32ky"; depends=[]; }; + playitbyr = derive { name="playitbyr"; version="0.2-1"; sha256="0pi0kji32ha6csff5w2xl8f76clrxlkwws60lzqzc83avrb0930n"; depends=[csound]; }; + playwith = derive { name="playwith"; version="0.9-54"; sha256="1zmm8sskchim3ba3l0zqfvxnrqfmiv94a8l6slcf3if3cf9kkzal"; depends=[lattice cairoDevice gWidgetsRGtk2 RGtk2 gWidgets gridBase]; }; + plfm = derive { name="plfm"; version="1.1.1"; sha256="0vsbva2clkjn8ddinmihq1gzd8g8yjiwd11rl7xzbyabjxkp95n1"; depends=[sfsmisc abind]; }; + plgp = derive { name="plgp"; version="1.1-5"; sha256="04kxiixm6p9s42fs775lrh8112v2m7akjp78r46l0rd8fzp3zyiq"; depends=[mvtnorm tgp]; }; + plink = derive { name="plink"; version="1.3-1"; sha256="1g8n4fy7yx3386kgvc0kgh8gd390yl4fxs09whdl1mzz5q9sx4wp"; depends=[lattice MASS statmod]; }; + PLIS = derive { name="PLIS"; version="1.1"; sha256="0b81s7677wglqvv1b5lx8k2iaks09kz0wrl07245a7j2pk9nxv7p"; depends=[]; }; + plm = derive { name="plm"; version="1.4-0"; sha256="13y9s7gyrgqmnzafhn4c1zkz6gdawc8nr5nbrx0pn2mbw3fqfrjh"; depends=[Formula MASS bdsmatrix zoo nlme sandwich]; }; + plmDE = derive { name="plmDE"; version="1.0"; sha256="19xxi0zzpxcrsdrbs0hiwqgnv2aaw1q3mi586wv27zz6lfqcr9lr"; depends=[MASS R_oo]; }; + plmm = derive { name="plmm"; version="0.1-1"; sha256="1dfxd1mqqjy2mf7qc6mh4wx5ya9q8fkqgrf01apisb66xxx5zya7"; depends=[sm Formula nlme]; }; + pln = derive { name="pln"; version="0.2-1"; sha256="09zg7zwmmqpjr1j59lqsjf4blrkya9wfwddgzfm9rr5jxrzvqcv8"; depends=[]; }; + plot2groups = derive { name="plot2groups"; version="0.10"; sha256="00mp82vvx6inlc2zj2cqqnzyglrm9x9im2vrqqk8j2jn0hbgfymy"; depends=[ggplot2]; }; + plot3D = derive { name="plot3D"; version="1.0-1"; sha256="1zvvsl94azz3252c8f485zhzd4x23wfj08x85vq873fj36p82aaf"; depends=[misc3d]; }; + plot3Drgl = derive { name="plot3Drgl"; version="1.0"; sha256="109vsivif4hmw2hk3hi4y703d3snzxbr9pzhn1846imdclkl12yg"; depends=[rgl plot3D]; }; + plotGoogleMaps = derive { name="plotGoogleMaps"; version="2.0"; sha256="1fh3qb06jwklznwrfim4jgii5bjh2zmxf4klbfbd0qrx5qlr1vbq"; depends=[sp rgdal maptools lattice]; }; + plotKML = derive { name="plotKML"; version="0.4-3"; sha256="0rcn4fx8zicazbjrpc6hxhdmv6j92wrinvv8jfmk5r1rhyvq5h5k"; depends=[XML sp raster rgdal spacetime colorspace plotrix dismo aqp pixmap plyr stringr colorRamps scales gstat zoo RColorBrewer RSAGA classInt]; }; + plotMCMC = derive { name="plotMCMC"; version="2.0-0"; sha256="0i4kcx6cpqjd6i16w3i8s34siw44qigca2jbk98b9ligbi65qnqb"; depends=[coda gplots lattice]; }; + plotmo = derive { name="plotmo"; version="1.3-3"; sha256="0xr70di5dfxwy69y60vr88wbrhbxkm55z04qxbvbdf5b04l9lw77"; depends=[]; }; + plotpc = derive { name="plotpc"; version="1.0-2"; sha256="0z73wyhdnz5qv2jy8c0sby6sbjr1q9026h0bk2ykjkjvckggnabc"; depends=[]; }; + PlotRegionHighlighter = derive { name="PlotRegionHighlighter"; version="1.0"; sha256="0n1nkfr3sdaq6f5p9kgx4slrsvhpdbax3rinrkfkb1vnjj4swj77"; depends=[]; }; + plotrix = derive { name="plotrix"; version="3.5-5"; sha256="0dqi4f1k5lrb1nxmlgcycxrjlpfxxy5gg3yf0fw2z2wlm2z42ikm"; depends=[]; }; + plotSEMM = derive { name="plotSEMM"; version="1.0"; sha256="0i94l252m2d6akbwwaxq8j9w9503x6c16lwww3ni3rbimkbf8iqq"; depends=[]; }; + plRasch = derive { name="plRasch"; version="1.0"; sha256="1rnpvxw6pzl5f6zp4xl2wfndgvqz5l3kiv9sh4cpvhga0gl8zjaw"; depends=[survival]; }; + PLRModels = derive { name="PLRModels"; version="1.1"; sha256="0dwnzfw7a1cxz9s00kxf19jmjsc8cy6cc9q2mjqf8z7690wrg7hb"; depends=[]; }; + pls = derive { name="pls"; version="2.4-3"; sha256="114ka4766x8fx0zvvr7cylky1jsy542nj6s7sb2dwv8zjhbclkhn"; depends=[]; }; + plsdepot = derive { name="plsdepot"; version="0.1.17"; sha256="1i00wxr451xpfy6dnvcm11aqf9106jsh5hj7gpds22ysgm4iq5w4"; depends=[]; }; + plsdof = derive { name="plsdof"; version="0.2-6"; sha256="1gdc6ck2l8k4i275lj1kvpqbzgm5a5db21zc828hz56aqfj28fm9"; depends=[MASS]; }; + plsgenomics = derive { name="plsgenomics"; version="1.2-6"; sha256="0f0pns20hd8hfc3v9m9vb8sng8qib6cry1k49nqs9gn09hhh26w9"; depends=[MASS]; }; + plspm = derive { name="plspm"; version="0.4.1"; sha256="00ibz69vhf0x3c73khkg57mzw49c3vq20yiqdqm9cpkdr9fczn2n"; depends=[amap diagram tester turner]; }; + plsRbeta = derive { name="plsRbeta"; version="0.1.8"; sha256="1gfwl659pmwjkif8n1vz7ljij3r8akzrlf389qwmhy57d6lhyb6w"; depends=[mvtnorm boot Formula plsdof MASS plsRglm betareg]; }; + plsRcox = derive { name="plsRcox"; version="0.9.999"; sha256="1w4zdmb28hh98zasbagvnqp6ykk3468c576qz61v91gyjar03z9c"; depends=[boot plsRglm lars survival pls kernlab mixOmics]; }; + plsRglm = derive { name="plsRglm"; version="0.8.3"; sha256="00wl6cqgb0f6qpa3ynlj15qrylp3ir74qh6lqr1543dld6avr4p0"; depends=[mvtnorm boot bipartite]; }; + plugdensity = derive { name="plugdensity"; version="0.8-3"; sha256="1jdmq4kbs8yzgkf9f5dc7c8c52ia68fgavw7nsnc2hnz5ylw1qy9"; depends=[]; }; + plumbr = derive { name="plumbr"; version="0.6.9"; sha256="1avbclblqfy57pd72ximvj3zq92q1w8vszvyf6fw75j5rfwdaibk"; depends=[objectSignals]; }; + plus = derive { name="plus"; version="1.0"; sha256="1l7lvnq7vahj8m7knmr4q3wj00ar7iq89j45a2dqn2bh0qyj68ls"; depends=[]; }; + plusser = derive { name="plusser"; version="0.4-0"; sha256="1g100dh8cvn9q09j0jbkw4xmwjdp1lm4651369975fm99nrlp1j9"; depends=[RCurl RJSONIO lubridate plyr]; }; + plyr = derive { name="plyr"; version="1.8.1"; sha256="0f2an3pr7flpng9y9mmrmyh08g3nivi6gdkfnw54arn0wxhkqfcm"; depends=[Rcpp]; }; + PMA = derive { name="PMA"; version="1.0.9"; sha256="11qwgw4sgzl3xhrm468bsza83h3mfn89157nfwnrassl7qr42xkq"; depends=[plyr]; }; + pmcgd = derive { name="pmcgd"; version="1.1"; sha256="1pybzvyjmzpcnxrjsas06diy3x83i1r5491s6ccyr63l56hs55d5"; depends=[mixture mnormt]; }; + pmclust = derive { name="pmclust"; version="0.1-6"; sha256="05zjx4psvk5zjmr0iwwwig990g6h04ajn5wi0xi8bqv046r47q3h"; depends=[rlecuyer pbdMPI MASS]; }; + pmg = derive { name="pmg"; version="0.9-42"; sha256="16jkkhpjiwpk5gszr7fc133l3y50dfwqxb45flzihxvp1x42d70y"; depends=[lattice MASS proto foreign gWidgets gWidgetsRGtk2]; }; + pmlr = derive { name="pmlr"; version="1.0"; sha256="1z3hbw4wabpai1q8kbn77nzxqziag8y04cidlfiw7z969s4pkmgl"; depends=[]; }; + pmml = derive { name="pmml"; version="1.4.1"; sha256="173d1wznc99gl5n1nxzcjd03pmc5aahs5ny6kn79g0wlyqxdqyrn"; depends=[XML survival]; }; + pmmlTransformations = derive { name="pmmlTransformations"; version="1.2.1"; sha256="11i75dy9rci1jajirnq00mr24y36wss6w2krf1v63g5h0rbm3gmh"; depends=[]; }; + pmr = derive { name="pmr"; version="1.2.3"; sha256="1f6s9n7bffsf0w82i6mgainbgllpvbmc1l5l05mqgybpa90mdl2y"; depends=[]; }; + png = derive { name="png"; version="0.1-7"; sha256="0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"; depends=[]; }; + pnmtrem = derive { name="pnmtrem"; version="1.3"; sha256="0053gg368sdpcw2qzydpq0c5v2cxdlwgf5k68cbw0yx41csjgvz0"; depends=[MASS]; }; + pnn = derive { name="pnn"; version="1.0.1"; sha256="1s6ib60sbdas4720hrsr5lsszsa474kfblqcalsb56c84gkl42ka"; depends=[]; }; + pocrm = derive { name="pocrm"; version="0.7"; sha256="043jdsc34mvlsckwkqaz3w5rbpczm3mx85nxyksj09yxn04j14sr"; depends=[dfcrm nnet]; }; + POET = derive { name="POET"; version="1.0"; sha256="0drn9530b14hindim8si1828yabyqc85b0qi900ahi5rv1p38v82"; depends=[]; }; + poibin = derive { name="poibin"; version="1.2"; sha256="12dm1kdalbqy8k7dfldf89v6zw6nd0f73gcdx32xbmry2l2976sa"; depends=[]; }; + PoiClaClu = derive { name="PoiClaClu"; version="1.0.2"; sha256="1j593sc344h9iy7if1ppihx2qd73dv32d77d8ckac43i7b2lig24"; depends=[]; }; + poilog = derive { name="poilog"; version="0.4"; sha256="0bg03rd5rn4rbdpiv87i8lamhs5m7n7cj8qf48wpnirg6jpdxggs"; depends=[]; }; + PoisNor = derive { name="PoisNor"; version="1.0"; sha256="147ma6qg6nwxzp022jm5mpijhg3jz489qclr9g2mli5mhgm31f8j"; depends=[mvtnorm corpcor Matrix]; }; + poisson_glm_mix = derive { name="poisson.glm.mix"; version="1.2"; sha256="0328m279jfa1fasi9ha304k4wcybzr7hldww7wn0cl7anfxykbv8"; depends=[]; }; + PoissonSeq = derive { name="PoissonSeq"; version="1.1.2"; sha256="1hhx0gv06cp6hm6h36mqy411qn9x15y45crpzbyf8crfs85c6gbg"; depends=[combinat]; }; + poistweedie = derive { name="poistweedie"; version="1.0"; sha256="18992fafypds3qsb52c09fasm3hzlyh5zya6cw32wnhipmda643m"; depends=[]; }; + poLCA = derive { name="poLCA"; version="1.4.1"; sha256="0bknnndcxsnlq6z9k1vbhqiib1mlzlx4badz85kc7a3xbrdrfs9f"; depends=[scatterplot3d MASS]; }; + pollstR = derive { name="pollstR"; version="1.0-0"; sha256="1nmhvbpfb64cbh317k09dran38410qcfhk4rl37rch3bz6vv17rd"; depends=[httr plyr jsonlite]; }; + polspline = derive { name="polspline"; version="1.1.9"; sha256="1n08dhwpf53slk1zib491kii54x9h16g3jgr2kxxpyc5xfv4yj26"; depends=[]; }; + polyaAeppli = derive { name="polyaAeppli"; version="2.0"; sha256="0kyz3ap92xz7aqyviyrpggfmicy1gybrx7y19djsmixcwz53zqch"; depends=[]; }; + polyapost = derive { name="polyapost"; version="1.1-6"; sha256="1wk85nl2p9plnaavjdr4bqxxhjc84ynv53bh2v1rmq87jymw40b1"; depends=[boot]; }; + polyclip = derive { name="polyclip"; version="1.2-0"; sha256="1rcygs7907r75hndfs3yyh0yfcw3q5dyfps57r3ygkq1rjl6pchb"; depends=[]; }; + polycor = derive { name="polycor"; version="0.7-8"; sha256="0hvww5grl68dff23069smfk3isysyi5n2jm4qmaynrk0m3yvhxwn"; depends=[mvtnorm sfsmisc]; }; + polyCub = derive { name="polyCub"; version="0.4-3"; sha256="08m1nmc8g8s69lpnah9aisva4himymv659kxw73xzh7rma50r415"; depends=[sp spatstat statmod]; }; + polynom = derive { name="polynom"; version="1.3-8"; sha256="05lng88c8cwj65cav31hsrca9nbrqn5rmcz79b17issyk2j0g86p"; depends=[]; }; + PolynomF = derive { name="PolynomF"; version="0.94"; sha256="006ds50ivq91v2jyhgpm5rfaipxbzsnljrki6fjplcw07g0frz71"; depends=[]; }; + polysat = derive { name="polysat"; version="1.3-2"; sha256="1h1ixxa4z6qr3ixpphy70axd3kf4gnwiw1i22qzm4m06h4bdchva"; depends=[combinat]; }; + polySegratio = derive { name="polySegratio"; version="0.2-4"; sha256="05kvj475zhlrmp7rm691cfs28igp4ac2cn2xxf7axx09v1nq33db"; depends=[gdata]; }; + polySegratioMM = derive { name="polySegratioMM"; version="0.6-3"; sha256="1y4kzb1p3aw7ng8mv1hszpvb5hwwxy4vg34mhhk705ki4jy8jgvp"; depends=[polySegratio gtools coda lattice]; }; + polytomous = derive { name="polytomous"; version="0.1.6"; sha256="137qcnncih1lm2wshwrznlcr0k552n0sqhiy73iwis59lg854caa"; depends=[MASS Hmisc lme4]; }; + polywog = derive { name="polywog"; version="0.4-0"; sha256="0wl9br0g4kgi3nz2fq28nsk6fw0ll0y715v4vz8lv3pvfwc7518j"; depends=[miscTools foreach Formula glmnet iterators Matrix ncvreg Rcpp stringr]; }; + pom = derive { name="pom"; version="1.1"; sha256="02jv19apn0kmp1ric2cxajlaad2fmsz4nm4izd2c3691vzas7l83"; depends=[matrixcalc]; }; + Pomic = derive { name="Pomic"; version="1.0.2"; sha256="1i3zsz7gc4n4vid3yi3srrv04qk1678wqyyw303pfibiyfd4m80q"; depends=[]; }; + PoMoS = derive { name="PoMoS"; version="1.1.1"; sha256="0j3iw6bcsr3rzwh15afcw3rglddq9bj7470xpnlpfpmd9nk0s18d"; depends=[RGtk2 cairoDevice igraph]; }; + pomp = derive { name="pomp"; version="0.49-2"; sha256="0prhingisbg5j36qawxnhjwarxfrldghd95gxc963d1rvvq8xgg9"; depends=[mvtnorm subplex nloptr deSolve]; }; + pooh = derive { name="pooh"; version="0.2-1"; sha256="1h8b5zwawhvq6h29dfznnhdb33al06hkvy05dphsmycd1lsha0jm"; depends=[]; }; + popbio = derive { name="popbio"; version="2.4"; sha256="12hvxkgbr6snypplxv404sj0ass6ab9i969bb00ipy10gny1w4ww"; depends=[quadprog]; }; + PopED = derive { name="PopED"; version="0.1.0"; sha256="081sjx15fhaw4a04mf12g9430djgjkzd66ncqjwj9asrhzsy0pdc"; depends=[ggplot2 MASS mvtnorm]; }; + popgen = derive { name="popgen"; version="1.0-3"; sha256="00rgfwmmiharfxqlpy21n3jbxwr5whzdg8psqylkjf83ls2myqzm"; depends=[cluster]; }; + PopGenKit = derive { name="PopGenKit"; version="1.0"; sha256="0l4mbm0cyppgvcw2cbimrv29aiciyj00k8wfwcj5zr8sh7fgfhs4"; depends=[]; }; + PopGenome = derive { name="PopGenome"; version="2.0.6"; sha256="1zykgf68fgbj83x26dvsh34izc02ic8rg9gh7r01bks3q5hqmlj0"; depends=[ff]; }; + PopGenReport = derive { name="PopGenReport"; version="1.8"; sha256="0jzakqjbmbs3f67vhnzxwvc2xf0q2i83a8y73c5ysbv5gyl0q1sf"; depends=[adegenet mmod knitr lattice RgoogleMaps gap calibrate xtable plyr dismo reshape ggplot2 R_utils ade4 pegas genetics rgdal gdistance vegan sp raster]; }; + popgraph = derive { name="popgraph"; version="1.3"; sha256="064nxda90qrm8pzmnshwqrda91nmwb4sg2pyk7k9q6kpvqq7pjs6"; depends=[ggplot2 MASS sp igraph Matrix]; }; + poppr = derive { name="poppr"; version="1.0.6"; sha256="0dbkvdjh4f81kj6xv2civhhhfymjc16imnx0vf0cbc4hyqfgqnpp"; depends=[adegenet vegan ggplot2 phangorn ape igraph pegas]; }; + popRange = derive { name="popRange"; version="1.1.1"; sha256="1n8swfhnxk757n6nxsmn8dzx2h01xdr2s64wy2m4xq7wpdp9lajq"; depends=[]; }; + popReconstruct = derive { name="popReconstruct"; version="1.0-3"; sha256="1m4gj43bzsz8y4jay0bc5mvdfwqx5agha4l2r0svm6qg8cfl4lza"; depends=[coda]; }; + popsom = derive { name="popsom"; version="2.3"; sha256="0hdg1nx8mlpqw9aj2q08sb20frsc5jnbvqpfalf5kyvlygnhxdlc"; depends=[som fields]; }; + portes = derive { name="portes"; version="2.1-1"; sha256="0kj35cr85j7fv6viy0q62jcplrs4rnryrb9kw8g3mhszh4da8ld2"; depends=[]; }; + portfolio = derive { name="portfolio"; version="0.4-6"; sha256="0kaaincyzc2f4dm7n08y3vs1yd1r7pd997gf2wvfjydw7wkc5pin"; depends=[lattice nlme]; }; + portfolioSim = derive { name="portfolioSim"; version="0.2-7"; sha256="1vf46882ys06ia6gfiibxx1b1g81xrg0zzman9hvsj4iky3pwbar"; depends=[lattice portfolio]; }; + postCP = derive { name="postCP"; version="1.7.2"; sha256="1zi3ns202rsfbjkblsmk3vzlygixgm81cp9kga64q1xgk40vq657"; depends=[MASS Segmentor3IsBack]; }; + POT = derive { name="POT"; version="1.1-3"; sha256="0s8ifnvk2h3blw7m0widp9q10hik58y02v7rl8lqpppnd5y868vz"; depends=[]; }; + potts = derive { name="potts"; version="0.5-2"; sha256="1q4kvknxkrd8qbv8l3vmwrppgzq5bsysnqgm029lx7iys73x4fck"; depends=[]; }; + PottsUtils = derive { name="PottsUtils"; version="0.2-3"; sha256="0mnly1xlpwzk3ryvgl2m0m6ygvx0i7k7gk3fdf4vmw5llyd6xg3s"; depends=[miscF]; }; + powell = derive { name="powell"; version="1.0-0"; sha256="160i4ki3ymvq08szaxshqlz7w063493j5zqvnw6cgjmxs7y0vj8y"; depends=[]; }; + PoweR = derive { name="PoweR"; version="1.0.1"; sha256="1m6y7f89kjhdmrdw1xb59cly0xjz79b1krhywkg9m7z73k1yx9h9"; depends=[]; }; + Power2Stage = derive { name="Power2Stage"; version="0.0-8"; sha256="0ni7pp7wc22v01f2anp0932glxwvikwj57laq6f5vs6v12gz3wkv"; depends=[PowerTOST]; }; + powerAnalysis = derive { name="powerAnalysis"; version="0.2"; sha256="15ff3wnn37sjkiyycgh16g7gwl3l321fbw12kv621dad5bki14jl"; depends=[]; }; + powerGWASinteraction = derive { name="powerGWASinteraction"; version="1.0.0"; sha256="0ij843g95ypxc7cfhvi3pm57b5ry1xr2x0f944l9ncyy8d15jxc4"; depends=[]; }; + poweRlaw = derive { name="poweRlaw"; version="0.20.2"; sha256="0nw52gwk9504i55852dik1kqqk6zg3wjgckc9rmw8gh2pz8i9nla"; depends=[VGAM]; }; + powerMediation = derive { name="powerMediation"; version="0.1.7"; sha256="1nysqyz5rbpn25k1pi9g7gwiarm8ncyw5xxal972wv8c70lsn4ir"; depends=[]; }; + powerpkg = derive { name="powerpkg"; version="1.5"; sha256="0mbk2fda2fvyp1h5lk5b1fg398xybbjv0z6kdx7w7xj345misf7l"; depends=[]; }; + powerSurvEpi = derive { name="powerSurvEpi"; version="0.0.6"; sha256="1jsbrj35m296mkk47zcpb2haain6bf23k0xzphnb4sq8f06cmq1p"; depends=[survival]; }; + PowerTOST = derive { name="PowerTOST"; version="1.1-11"; sha256="0b2qnz1wivi2190gq2cwcnbk9cnrsj23zv41jaqs8p5319gr76jh"; depends=[mvtnorm]; }; + PP = derive { name="PP"; version="0.2-1"; sha256="0qrmlfjfsaj1jxbpzzbh1lnsw5c9b631b7q5jxrzvg675m0wy2mr"; depends=[]; }; + ppcor = derive { name="ppcor"; version="1.0"; sha256="18l5adjysack86ws61xh89z5xfr83v932a0pn6ad8i8py3nd85fj"; depends=[]; }; + ppiPre = derive { name="ppiPre"; version="1.5"; sha256="1d1567h2j0y4f8jkaiszxkq13xkxq9jb3bf0rmjmy1z263nnl4a1"; depends=[igraph e1071]; }; + ppls = derive { name="ppls"; version="1.6-0"; sha256="0jd80sfsg7j2540sz5v9n43pni9713sb1nvb5h1azbr3mnwqsri5"; depends=[MASS]; }; + ppmlasso = derive { name="ppmlasso"; version="1.0"; sha256="0f5wld45r874rmi5bvhiqhpi5jqgrg5lwqazfhkv1md0ac2klkqj"; depends=[spatstat]; }; + pps = derive { name="pps"; version="0.94"; sha256="0sirxpagqc2ghc01zc6q4dk691six9wkgknfbwaqxbxvda3hcmyq"; depends=[]; }; + ppstat = derive { name="ppstat"; version="0.9"; sha256="1mnlvdzvayz30sbiq95wm0ywmzc168lqx0l33397jadiq5zbsbkn"; depends=[processdata reshape2 ggplot2 Matrix]; }; + PPtree = derive { name="PPtree"; version="2.2.0"; sha256="0pbfda0ab56ji1ms35msnpjxj7zrj9vif6vvsdajmlnnhncm757q"; depends=[MASS penalizedLDA]; }; + pqantimalarials = derive { name="pqantimalarials"; version="0.1"; sha256="0q7knygxcv9s7lnpzn165dqvgff6zsz25ld44rh4fddgfzlwynn8"; depends=[shiny rms reshape2 RColorBrewer plyr]; }; + prabclus = derive { name="prabclus"; version="2.2-4"; sha256="1p4hhs002cyrmnmfc2s11zia2jcnafidmy41dl3bd8mqyq3d193z"; depends=[MASS mclust]; }; + pracma = derive { name="pracma"; version="1.6.4"; sha256="0kqpz4pszcs0wh08cpwb19ahnbz1qnv423sl9dk9ii1j79n7rh7x"; depends=[]; }; + PracTools = derive { name="PracTools"; version="0.0-1"; sha256="06xgyxpfczxs0vzjib6jpabj3ar143wkhi1q15c3nzjn8r33zi4h"; depends=[]; }; + pragma = derive { name="pragma"; version="0.1.3"; sha256="1n30a346pph4d8cj4p4qx2l6fnwhkxa8yxdisx47pix376ljpjfx"; depends=[]; }; + praktikum = derive { name="praktikum"; version="0.1"; sha256="0kkydgglvqw371fxh46fi86fmdndhwq1n8qj0ynbh2gz1cn86aw1"; depends=[]; }; + predfinitepop = derive { name="predfinitepop"; version="1.0"; sha256="1x5ri1kvd1rd9bjp2ygqwl68yp6hyb6aly22bs5kdwv2vn9nlq9w"; depends=[]; }; + PredictABEL = derive { name="PredictABEL"; version="1.2-1"; sha256="18fmafl1d4nwf7mya9gh1rlv5936zzr2jm3fwn5r2m5fc034qqjx"; depends=[Hmisc ROCR epitools PBSmodelling]; }; + PredictiveRegression = derive { name="PredictiveRegression"; version="0.1-4"; sha256="15vkisj3q4hinc3d537s8inhj3wk62q67qhy050xmp9j563ainmd"; depends=[]; }; + predmixcor = derive { name="predmixcor"; version="1.1-1"; sha256="0v99as0dzn0lqnbbzycq9j885rgsa1cy4qgbya37bbjd01b3pykd"; depends=[]; }; + prefmod = derive { name="prefmod"; version="0.8-31"; sha256="19yglrj4nqsknhan9v2qyjbfwx0c796a0qn2sjnjwlc4vf9d94fn"; depends=[gnm colorspace]; }; + PReMiuM = derive { name="PReMiuM"; version="3.0.24"; sha256="1i6bsp3bmzhb17nrxi6jj22s8rpck3ix7l6g1cx094im4hhgnb2k"; depends=[Rcpp ggplot2 cluster plotrix]; }; + PresenceAbsence = derive { name="PresenceAbsence"; version="1.1.9"; sha256="17qn4ggkr5aqml45nkihj1j35y479ywkm1xcfkb2g8ky66jb0c0s"; depends=[]; }; + PResiduals = derive { name="PResiduals"; version="0.1-0"; sha256="0g3div2i5sr4fbc7l6zzvaw72nbs80lkc1yv7p32w6g2cmyjhy7c"; depends=[Formula]; }; + prettyGraphs = derive { name="prettyGraphs"; version="2.1.5"; sha256="19jag5cymancxy5lvkj5mkhdbxr37pciqj4vdvmxr82mvw3d75m4"; depends=[]; }; + prettyR = derive { name="prettyR"; version="2.0-7"; sha256="0ic0s8sqjlyn21s2zzrq2hrncsxqmgnl2xyvlicd5pvx3gfggjdi"; depends=[]; }; + prevalence = derive { name="prevalence"; version="0.2.0"; sha256="0yab4ig0hwyr10fgcw50hs63hbdpch83500xws05h1srsd2kiq8f"; depends=[rjags coda]; }; + prevR = derive { name="prevR"; version="2.9"; sha256="1h0v52pwhrb9ib61wjqdcand5prc1h205nd2rl5qiiqcnq4xn582"; depends=[sp gstat GenKern rgdal fields]; }; + prim = derive { name="prim"; version="1.0.13"; sha256="114n002jfiz99als8jny356frg6jamzfbrc2cqxl3fjjxijiy6hi"; depends=[]; }; + primer = derive { name="primer"; version="1.0"; sha256="0vkq794a9qmz9klgzz7xz35msnmhdaq3f91lcix762wlchz6v7sg"; depends=[deSolve lattice]; }; + primerTree = derive { name="primerTree"; version="1.0.0"; sha256="127i14bgb5kkd91yvd50bsib73lm01az80x3lm4d0fqirv7l715i"; depends=[directlabels gridExtra ggplot2 XML ape httr lubridate plyr scales stringr foreach]; }; + princurve = derive { name="princurve"; version="1.1-12"; sha256="19fprwpfhgv6n6ann978ilwhh58qi443q25z01qzxml4b5jzsd7w"; depends=[]; }; + prinsimp = derive { name="prinsimp"; version="0.8-8"; sha256="074a27ml0x0m23hlznv6qz6wvfqkv08qxh3v1sbkl9nxrc7ak4vn"; depends=[]; }; + PRISMA = derive { name="PRISMA"; version="0.2-1"; sha256="09hpplm86d8f0v11jijj3nl4iaqbzhmz4wjdm81idmnfna83mmk0"; depends=[Matrix gplots ggplot2]; }; + PrivateLR = derive { name="PrivateLR"; version="1.1-69"; sha256="0harlkccxa51k75if5z1h29lnis1dinh2zsk2liicwyjxcnmx0ml"; depends=[]; }; + prLogistic = derive { name="prLogistic"; version="1.2"; sha256="1abwz7nqkz2qbyqyr603kl9a3rkad3f4vxhck6a9kl80xrmfrj9s"; depends=[boot lme4 Hmisc]; }; + prob = derive { name="prob"; version="0.9-5"; sha256="05skjqimzhnk99z864466dc8qx58pavrky320il91yqyr8b98j8b"; depends=[combinat fAsianOptions hypergeo VGAM]; }; + ProbForecastGOP = derive { name="ProbForecastGOP"; version="1.3.2"; sha256="0fnw3g19lx4vs8vmn4qdirvybkiy2cxkhwkn9qa3phz45iixnvx4"; depends=[RandomFields fields]; }; + probsvm = derive { name="probsvm"; version="1.00"; sha256="1k0zysym7ncmjy9h7whwi49qsfkpxfk7chfdjrydl6hn6pscis37"; depends=[kernlab]; }; + pROC = derive { name="pROC"; version="1.7.2"; sha256="13yb6wypw1k34hddshwf67l72mkpqflbicy4c6pifq7m3jjz5v3w"; depends=[plyr Rcpp]; }; + processdata = derive { name="processdata"; version="0.8.2"; sha256="1rdb3chpm7c2acx5r262gcg5w02mplh6xgxlld070kb91i7drahj"; depends=[ggplot2 reshape2]; }; + ProDenICA = derive { name="ProDenICA"; version="1.0"; sha256="04gnsnd0xzw3bfbssdp06bar0lk305ry2c97pmwxgiz3ay88dfsj"; depends=[gam]; }; + prodlim = derive { name="prodlim"; version="1.4.3"; sha256="0y18ngb1gy8zdk4dfakb57pyjll8937acbaz2lynwhbabd6kg66l"; depends=[survival KernSmooth lava]; }; + PROFANCY = derive { name="PROFANCY"; version="1.0"; sha256="11a0fpsv1hy0djv36x2i2hv2j50ryy0x7g7nn7vv76m1sl6q6r4b"; depends=[Matrix lattice igraph]; }; + profdpm = derive { name="profdpm"; version="3.3"; sha256="07lhjavrx4fa5950w928mfpddmmnmvdapl5n6mv49m8h3bxs4nmy"; depends=[]; }; + ProfessR = derive { name="ProfessR"; version="2.1"; sha256="1khgb3bbq44mskhrcni9yfg6cs35fdpgfakznna8d9rqy8wmw7ff"; depends=[RPMG]; }; + ProfileLikelihood = derive { name="ProfileLikelihood"; version="1.1"; sha256="16cdp1nimhg1sd2x0qbffm7clgk54p0838y688z8lnsrjaggmb0x"; depends=[nlme MASS]; }; + profileModel = derive { name="profileModel"; version="0.5-9"; sha256="1p9b9jr5842im195d60ja82pp7vbk85vs8b0r3fnf62j4b92aky9"; depends=[]; }; + profileR = derive { name="profileR"; version="0.2-1"; sha256="1hcydy7hqjac9mvbaim2g75ab1ziyvpbrkb4k21966m54zjk9kka"; depends=[ggplot2 MASS RColorBrewer reshape plyr]; }; + profr = derive { name="profr"; version="0.3.1"; sha256="1w06mm89apggy6wc273b2nsp95smajr8sf3dwshykivv7mhkxs5d"; depends=[stringr plyr]; }; + proftools = derive { name="proftools"; version="0.1-0"; sha256="1wzkrz7zr2pjw5id2sp6jdqm5pgrrh35zfwjrkr6mac22lniq4bv"; depends=[]; }; + ProgGUIinR = derive { name="ProgGUIinR"; version="0.0-3"; sha256="1k441a5wmqhkmlm8cffvblp99c8sqq4z64qmb6a3mflkv89wd5si"; depends=[ggplot2 svMisc ggplot2 MASS]; }; + prognosticROC = derive { name="prognosticROC"; version="0.7"; sha256="0lscsyll41hpfzihdavygdzqw9xxjp48dmy4i17qsx5h01jl1h4i"; depends=[survival]; }; + proj4 = derive { name="proj4"; version="1.0-8"; sha256="06r3lavgixrsa52d1v31laqcbw6fb9xn23akv39hvaib78diglv9"; depends=[]; }; + ProjectTemplate = derive { name="ProjectTemplate"; version="0.5-1"; sha256="0fi5i9icac2rjrpmgvb9glqr6z5fr880bn8hz6djgi1n1bn2v1g8"; depends=[]; }; + propagate = derive { name="propagate"; version="1.0-3"; sha256="1kg29c72r6yz8asm6zdjxiwkrkz8dh92iybcxmiwzifhshv4gg34"; depends=[MASS tmvtnorm Rcpp ff minpack_lm]; }; + PropCIs = derive { name="PropCIs"; version="0.2-5"; sha256="0wnc5h4390w4rglr7gjh6827f5r7gdhajx1iwp5fggdlm808hgq7"; depends=[]; }; + PropClust = derive { name="PropClust"; version="1.4-2"; sha256="13ac895i7ljayyqcjjmwvwar6wf1j0qssazcb5nlz8rw155qwavs"; depends=[flashClust dynamicTreeCut]; }; + PropScrRand = derive { name="PropScrRand"; version="1.1"; sha256="0cj62dzg4zm8d1g8h7qmviiwm93cwplppbi0p674fmmf1wy84v9s"; depends=[]; }; + prospectr = derive { name="prospectr"; version="0.1.3"; sha256="18lh03xg6bgzsdsl56bjd63xdp16sqgr3s326sgifkkak8ffbv7q"; depends=[RcppArmadillo foreach iterators Rcpp]; }; + proteomicdesign = derive { name="proteomicdesign"; version="2.0"; sha256="01s47pgwxy4xx10f3qmbfv59gbaj0qw017kpkpsn33s8w7ad63r0"; depends=[MASS]; }; + protiq = derive { name="protiq"; version="1.2"; sha256="00hv6hmfba4is2q1s9h5csx42s7ry2qdmi7vasgcafp8s4fc999l"; depends=[mvtnorm]; }; + proto = derive { name="proto"; version="0.3-10"; sha256="03mvzi529y6kjcp9bkpk7zlgpcakb3iz73hca6rpjy14pyzl3nfh"; depends=[]; }; + protoclass = derive { name="protoclass"; version="1.0"; sha256="17d2m6r1shgb47v8mwdg1a7f5h29m5l7f5m0nsmv0xc90s9cpvk8"; depends=[class]; }; + protoclust = derive { name="protoclust"; version="1.3"; sha256="01ri32w2l9w8k72hi22i8rwrzl2q1d14ikvzdkpysnr17sp00c1m"; depends=[]; }; + PROTOLIDAR = derive { name="PROTOLIDAR"; version="0.1"; sha256="0bz3071b0wlcvh40vl3dyiiixk5avsj6kjjnvlvx264i5g08rij4"; depends=[]; }; + protr = derive { name="protr"; version="0.2-1"; sha256="0kjvq7w2pg8vdv0f7lsc6f1ksbv9f9x7p61aqfzqignz9nh792dd"; depends=[]; }; + protViz = derive { name="protViz"; version="0.1.76"; sha256="1zbi0h8vlgfpni3a10p6102llzpsx1yp0k8dnnbjcc357jj73zkk"; depends=[Rcpp]; }; + proxy = derive { name="proxy"; version="0.4-12"; sha256="1hjbx94c4m2v22fswdd2jkb43ixfv6qivx8qiyzm23g1965ynvii"; depends=[]; }; + PSAboot = derive { name="PSAboot"; version="1.0"; sha256="1ddlxyvfcq186njqkxr8nbdssc6qnlq0c3gghsn87zc4jf9v83fi"; depends=[ggplot2 PSAgraphics Matching MatchIt modeltools party psych reshape2 rpart TriMatch]; }; + PSAgraphics = derive { name="PSAgraphics"; version="2.1.1"; sha256="05c0k94dxddyrhsnhnd4jcv6fxbbv9vdkss2hvlf3m3xc6jbwvh9"; depends=[rpart]; }; + psbcGroup = derive { name="psbcGroup"; version="1.0"; sha256="1l28sy0jys1g3nyfls9nl9vx9b6qh405a2nhx0qgxwb24l67x56n"; depends=[bayesm LearnBayes SuppDists mvtnorm]; }; + PSCBS = derive { name="PSCBS"; version="0.40.4"; sha256="0hz0pw3ph0b03kqqpiwsg2vh6ia5k7wd0hxbx3kyg0cx4l0mmzwf"; depends=[R_methodsS3 R_oo R_utils R_cache matrixStats]; }; + pscl = derive { name="pscl"; version="1.04.4"; sha256="0mm8qak7cq8qks60wx6lslii79wnkh58a31izgns35wwlflg8g6n"; depends=[MASS mvtnorm coda gam vcd lattice]; }; + psd = derive { name="psd"; version="0.4-1"; sha256="1knfpgvmhrispfvlv94rnpbrjkyggqrmng65bjdjjigq83hhzywm"; depends=[fftw RColorBrewer signal zoo]; }; + psData = derive { name="psData"; version="0.1.2"; sha256="0w8kzivqrh1b6gq803rfd10drxdwgy0cxb5sff273m6jxzak52f2"; depends=[countrycode DataCombine foreign xlsx]; }; + pse = derive { name="pse"; version="0.3.3"; sha256="0cr9bjh12qhglqygdnx7fx6wfdxq591vpck0g490svrh35bdbd5s"; depends=[Hmisc boot]; }; + pseudo = derive { name="pseudo"; version="1.1"; sha256="0dcx6b892cic47rwzazsbnsicpgyrbdcndr3q5s6z0j1b41lzknd"; depends=[KMsurv geepack]; }; + psgp = derive { name="psgp"; version="0.3-5"; sha256="0w1pvx227fr897isl8ffampnz7rw8jsmmi24ily1nzb0xvrzhp0i"; depends=[intamap automap gstat]; }; + pSI = derive { name="pSI"; version="1.1"; sha256="0cvw38dqqlyx7cpl27hq33f5xns2d0019lyr98pwndcnbp09mx0b"; depends=[gdata]; }; + psidR = derive { name="psidR"; version="1.2"; sha256="14cpxk7z0inrpvhsdb3z6r5nrpyb4v8bv77mygxcf51rxihigzvj"; depends=[data_table RCurl foreign SAScii]; }; + PSM = derive { name="PSM"; version="0.8-10"; sha256="1s60fr85xn3ynpvsbc3nw7vgz6h6jxy3yii1w6jpkw3iwl4bgn84"; depends=[MASS numDeriv deSolve ucminf]; }; + PSMix = derive { name="PSMix"; version="1.1.1"; sha256="0g9s7v05jjc7vq08fj5bb2wg03isnyr1ql1rciiihqi5w4dwx6w7"; depends=[]; }; + pso = derive { name="pso"; version="1.0.3"; sha256="0alar695c6kc1rsvwipsrvlxc93f3sy9l0yhp0mggyqgxkkvy406"; depends=[]; }; + pspearman = derive { name="pspearman"; version="0.3-0"; sha256="1l5mqga7b5nvm6v9gbl1xsspdqsjqyhhdn4gc4qlz6ld7fqfq6cx"; depends=[]; }; + pspline = derive { name="pspline"; version="1.0-16"; sha256="170apwfv2lbf2rggzzynrf9vi2mr0y15sm4zy8djxxpzv217iaf7"; depends=[]; }; + PST = derive { name="PST"; version="0.84.1"; sha256="10cwlj8957sj5dag43v01fbq9lmcasfxp0lgllj0iv0lbfzd4g02"; depends=[TraMineR]; }; + PsumtSim = derive { name="PsumtSim"; version="0.4"; sha256="0079kb1bgsxs4cwmn33rbbk2jgq39rdjfgz9k9hc64iyzz0i6na3"; depends=[EffectsRelBaseline boot]; }; + psy = derive { name="psy"; version="1.1"; sha256="027whr670w65pf8f7x0vfk9wmadl6nn2idyi6z971069lf01wdlk"; depends=[]; }; + psych = derive { name="psych"; version="1.4.4"; sha256="0ljb4xi9x2gpr8na1swa1ri855r8prxv669bmw4vnri4qrc7ijck"; depends=[]; }; + psychometric = derive { name="psychometric"; version="2.2"; sha256="1b7cx6icixh8k3bv60fqxjjks23qn09vlcimqfv2x3m3nkf8p1s9"; depends=[multilevel nlme multilevel nlme]; }; + psychomix = derive { name="psychomix"; version="1.1-0"; sha256="1sw5w2na9pgmi63mqiv06v1lr7vlin8912dsy75yjxl9zrm3wavi"; depends=[flexmix psychotools lattice Formula modeltools]; }; + psychotools = derive { name="psychotools"; version="0.2-0"; sha256="13zpg4xi5hmr8yzjsri4kn0dy39ns5razdmchh4nwfr9gjn0h29b"; depends=[]; }; + psychotree = derive { name="psychotree"; version="0.13-0"; sha256="1jwya7glgaz4zb81i37bvxnm712b1y34dh5s3y64lms2bd98wc4b"; depends=[party psychotools modeltools sandwich strucchange]; }; + psyphy = derive { name="psyphy"; version="0.1-9"; sha256="1ndc6sy662wj2qfx7r97crlqjd8fdkfvfy59qmf34bcbzbg33riz"; depends=[]; }; + psytabs = derive { name="psytabs"; version="0.5"; sha256="0jcsv771ndf0fv76982rbv099ii4l55a8bj1mhgr54838ins0gg7"; depends=[psych plyr rtf R2HTML mokken lavaan semTools]; }; + pt = derive { name="pt"; version="1.0"; sha256="0hjijfmc9dip3ys8xg44w0fwvyzyjyjl9hpwm7j2nzg3plv6i1fz"; depends=[]; }; + PTAk = derive { name="PTAk"; version="1.2-6"; sha256="06b59qmlz7n6nydb7d2nbv2ggfam0092qzavshgfa6p8r5vzxcj6"; depends=[tensor]; }; + PTE = derive { name="PTE"; version="1.0"; sha256="10if2hh69yysi2y82m7is74hmzw2xpxijgb8bhy1d4g9n9lqidfs"; depends=[doParallel]; }; + ptinpoly = derive { name="ptinpoly"; version="2.1"; sha256="0l16hvg3b7km0kh2wqzcvnn6jydvvh5mm089j15in4s1wsjn173k"; depends=[misc3d]; }; + PtProcess = derive { name="PtProcess"; version="3.3-1"; sha256="0qh673i00z8x07zjhwazambz1myw5q342zfqfgm2f5z59v1j7m48"; depends=[]; }; + ptw = derive { name="ptw"; version="1.0-7"; sha256="195pa6hj3y9spyc7yxfgr8alkp48a7ccnyp64r6fyjwj6ds08b64"; depends=[]; }; + PubBias = derive { name="PubBias"; version="1.0"; sha256="0dr5dhfx57knrs05pbx9ngg4k2937n8gjzsgd0jfqd8dfxhy051k"; depends=[rmeta R_utils]; }; + pubmed_mineR = derive { name="pubmed.mineR"; version="1.0.1"; sha256="0d288hx98j5k4nmzj1vc3sfjwh9i4cljfgi6vklrsvgn5sx39x91"; depends=[RCurl XML NCBI2R boot R2HTML]; }; + PubMedWordcloud = derive { name="PubMedWordcloud"; version="0.3"; sha256="1vqgd34hr0p2dm8mlnqw0ff26nszqrii0gxzi3pa01yvdr0bi4fd"; depends=[XML stringr RCurl wordcloud tm GOsummaries RColorBrewer]; }; + pumilioR = derive { name="pumilioR"; version="1.3"; sha256="1zmcdp978p73bh9fdshxlrzgfg18j007xgxgr439rq90bwiwva6j"; depends=[XML RCurl]; }; + PurBayes = derive { name="PurBayes"; version="1.3"; sha256="0nbm4cyrwfbwwbjbjkylr86cshaqbvbif6dkp4fag8kbcgyyx5qh"; depends=[rjags]; }; + pushoverr = derive { name="pushoverr"; version="0.1.1"; sha256="0ybvrb406s0i8kr11187dkbpryw2gjz1h8k6f5bsxwhfhzxmfri1"; depends=[httr]; }; + PVAClone = derive { name="PVAClone"; version="0.1-1"; sha256="1nscnh4ynijflvch0vp40a4hjdz34h58p61lpgda6b4rjaw6a7dy"; depends=[dcmle dclone]; }; + pvar = derive { name="pvar"; version="1.0.9"; sha256="01bkva4kna1vfjlsss16s6501l8x2s95a5wh7wsmwq3spdgp1i2r"; depends=[]; }; + pvclass = derive { name="pvclass"; version="1.0"; sha256="0zp2si1hby13s5qqkqzwmf3qi7fm2sghkiphdp1cp9r5h6zkdp13"; depends=[Matrix]; }; + pvclust = derive { name="pvclust"; version="1.2-2"; sha256="152qwvk4lpdsrv96148bc3z51jqdaa7p95ql2zhpb7a2fvzs5ad5"; depends=[]; }; + PVR = derive { name="PVR"; version="0.2.1"; sha256="1p87pj9g0qlc8ja6xdj2amny9pbkaqb34x2y9nkl1nj1pkwjq2s5"; depends=[ape splancs]; }; + pvsR = derive { name="pvsR"; version="0.1.1"; sha256="0bx8jbyr5d3p1x74z7zidw0dr61rcf3fsh3hxjx10m3ppd1lafvf"; depends=[XML nnet]; }; + pwr = derive { name="pwr"; version="1.1.1"; sha256="1is6kqqjf3bzsddj4advj8qcp30rz2zlqc0g98072m96nmq5ywgn"; depends=[]; }; + PwrGSD = derive { name="PwrGSD"; version="2.000"; sha256="0qxvws9mfrnqw5s24qhqk6cbffjm13z7awyxdmnilazghpiq1p7s"; depends=[survival]; }; + pwt = derive { name="pwt"; version="7.1-1"; sha256="0926viwmwldmzlzbnjfijh00wrhgb0h4h0mlrls71pi5pjfldifa"; depends=[]; }; + pwt8 = derive { name="pwt8"; version="8.0-0"; sha256="12cgyban6waj0cxz9gb35s5v0v29rmx67ipzalzdnrjp5nsmy431"; depends=[]; }; + pxR = derive { name="pxR"; version="0.40.0"; sha256="08s62kzdgak7mjzyhd32qn93q5l7sj01vhsk7fjg9nxjvm78xxka"; depends=[stringr reshape2 RJSONIO plyr]; }; + pyramid = derive { name="pyramid"; version="1.3"; sha256="1jmcqzgxqwvfa9aidayjx6j1s9f3kwqvivwldwpkf780i9wkdig9"; depends=[]; }; + qat = derive { name="qat"; version="0.72"; sha256="0vs7xc32h9s5p7486cafzzll7xaby7lbqmmpnshkn8mq021xlxkg"; depends=[ncdf gplots XML gdata moments boot fields]; }; + QCA = derive { name="QCA"; version="1.1-2"; sha256="0fqhxwa7vjizis273sj8r6ssi1fx0kbchf3nrvvs7hhypnw39969"; depends=[lpSolve]; }; + QCA3 = derive { name="QCA3"; version="0.0-7"; sha256="0i9i2i633sjnzsywq51r2l7fkbd4ip217hp0vnkj78sfl7zf1270"; depends=[lpSolveAPI]; }; + QCAGUI = derive { name="QCAGUI"; version="1.9-6"; sha256="020ngni02j2w2ylhyidimm51d426pym2g1hg7gnpb7aplxx67n6x"; depends=[abind QCA]; }; + qcc = derive { name="qcc"; version="2.3"; sha256="1hrv8ar58af4h0mkvx2l7kfmix3y91d158h8llbcfl5idffy8551"; depends=[MASS]; }; + QCGWAS = derive { name="QCGWAS"; version="1.0-8"; sha256="1wn1kddgfmqv326pihnavbgsbd2yxrlq5s2xgi6kbprssxvj8bk1"; depends=[]; }; + qdap = derive { name="qdap"; version="1.3.5"; sha256="1y05p93b1khagwsjqzfnhs4j9gfkvm574gyaizz9kxnmaamj32nf"; depends=[ggplot2 qdapDictionaries RColorBrewer chron gdata gridExtra igraph RCurl openNLP NLP plotrix reports reshape2 scales tm venneuler wordcloud xlsx XML]; }; + qdapDictionaries = derive { name="qdapDictionaries"; version="0.0.4"; sha256="05a1w9hdwxnl7hzjnz2bn8krz60a2wayw5q9jv1pjb691rlsqqx1"; depends=[]; }; + qdapTools = derive { name="qdapTools"; version="0.0.3"; sha256="0gvgb9xs8wz723ggv4xgn52ijcr28mf2dcqzmkacl8xap9ma392i"; depends=[chron RCurl]; }; + qfa = derive { name="qfa"; version="0.0-10"; sha256="1c6yh5fa45fk3g9hi905b2cjswn6gmn53f0gb5v5byb9gr9bjf7s"; depends=[sp DEoptim]; }; + qgraph = derive { name="qgraph"; version="1.2.4"; sha256="1dvw6ykprp9j5g62iimbr7nrabfvhag81031i57g6hk9jn3gjnyr"; depends=[psych ellipse lavaan sem plyr Hmisc igraph jpeg png colorspace BDgraph Matrix sna corpcor]; }; + qiimer = derive { name="qiimer"; version="0.9.2"; sha256="08625hz2n7yk9zk1k9sa46n2ggbw5qs0mlqkmzyjjh3qlnb1354a"; depends=[pheatmap]; }; + qLearn = derive { name="qLearn"; version="1.0"; sha256="1ilxmgazm8gjz8c1hhbp4fccibnvnalxrag8b0rn081zsqmhf094"; depends=[]; }; + qlspack = derive { name="qlspack"; version="2.2"; sha256="0b9sqvnvldhd8vymajrbql0vn70rml13jgsq5ihm6skzq5qms7y6"; depends=[geepack]; }; + qmap = derive { name="qmap"; version="1.0-2"; sha256="1hb8bl51103fzyfcmz5bmf5aqqw2db8523li3ffw5asa9j9vhjwm"; depends=[fitdistrplus]; }; + qmrparser = derive { name="qmrparser"; version="0.1.4"; sha256="1lw8sn4qsdv4bxf5p7gnkm0vmiymyj03svbl232zyyb0fh97i7nk"; depends=[]; }; + qp = derive { name="qp"; version="0.3-2"; sha256="1964bj2ggmpaqz0rnmc2zx5hyrzawlmawz3mh046cx1pdzlsqfwh"; depends=[]; }; + qpcR = derive { name="qpcR"; version="1.3-7.1"; sha256="09vyhj144b1hs0kmyvh4r7zjasqas47jhacg86mkxgkcrzgzf1vf"; depends=[MASS minpack_lm rgl robustbase]; }; + qPCR_CT = derive { name="qPCR.CT"; version="1.1"; sha256="19j41fsd2m7p2nxi2h2mj43rjxx6sz2jpf4sk0bfvl1gyj0iz3hi"; depends=[RColorBrewer]; }; + qrfactor = derive { name="qrfactor"; version="1.4"; sha256="0f02lh8zrc36slwqy11x03yzfdy94p1lk5jar9h5cwa1dvi5k8gm"; depends=[mvoutlier mgraph pvclust cluster maptools]; }; + QRM = derive { name="QRM"; version="0.4-9"; sha256="0ibkwkmlf3qvi6l46802y07v1zp0wkhn0vxki95kkir6fbbz4ndr"; depends=[gsl Matrix mvtnorm numDeriv timeSeries mgcv]; }; + qrnn = derive { name="qrnn"; version="1.1.2"; sha256="01wsz9qcdiayi7gsyy2y09jyyapanyhlc4pdyman2f7z5nl9yv9i"; depends=[]; }; + QSARdata = derive { name="QSARdata"; version="1.3"; sha256="0dhldnh0jzzb4assycc0l14s45ymvha48w04jbnr34lrwgr9krh4"; depends=[]; }; + qtbase = derive { name="qtbase"; version="1.0.4"; sha256="02yilvywkcqn3y9ayix18cgkwhi0gh69fl3fcw28fs2zxf1hqy75"; depends=[]; }; + qtl = derive { name="qtl"; version="1.31-9"; sha256="1pwmq7viwxa8g1f3iclfggz6ny006vlzvknbdrb37p8198x83xy3"; depends=[]; }; + qtlbim = derive { name="qtlbim"; version="2.0.7"; sha256="0nm7ky5bkzhmfr41fs1pvl51i2df1fz11j55q74ma2wzki5adfps"; depends=[qtl lattice coda MASS]; }; + qtlbook = derive { name="qtlbook"; version="0.18-1"; sha256="09b4w7kqdlmpf0vsjgwbi9sraafzchvk18yzrx72gs151v03nxlm"; depends=[qtl]; }; + qtlDesign = derive { name="qtlDesign"; version="0.941"; sha256="138yi85i5xiaqrns4v2hw46b731bdgnb301wg2h4cfrxvrw4l0d5"; depends=[]; }; + qtlhot = derive { name="qtlhot"; version="0.9.0"; sha256="1043rksqqzgmr7q03j18wxgm706prqxq9ki9b9p2dxvc62vfcfih"; depends=[qtl lattice corpcor mnormt]; }; + qtlmt = derive { name="qtlmt"; version="0.1-3"; sha256="01ql0fr2mxl8a8nd6lpig5j8vznv594ygn6bj6d31gj15r5rs8fs"; depends=[]; }; + qtlnet = derive { name="qtlnet"; version="1.3.6"; sha256="044a2p3mpp203kb85s2fr3qiyypm461lrzxkfi0hnzq44qqba169"; depends=[qtl igraph sem pcalg]; }; + QTLRel = derive { name="QTLRel"; version="0.2-14"; sha256="05x56a8fjr6xk38dphdzh77y520cr6zykjp3qlx27drk9s5z06cs"; depends=[gdata]; }; + qtpaint = derive { name="qtpaint"; version="0.9.0"; sha256="06yqakg134mks8q7a40f5knjpcm1k2wdzchs0ywvfpwvpwgwig01"; depends=[qtbase qtbase]; }; + qtutils = derive { name="qtutils"; version="0.1-3"; sha256="018k9v3mab1mfcjh4mv1a1iish50fwdhb51mqn17k6fyrrrv7vs5"; depends=[qtbase qtbase]; }; + QuACN = derive { name="QuACN"; version="1.7.4"; sha256="1bcvnzycw7xvnms41rqsnfvggvcmpaw6byrsdzqmg7z0q754b1j4"; depends=[combinat Rmpfr igraph]; }; + quadprog = derive { name="quadprog"; version="1.5-5"; sha256="0jg3r6abmhp8r9vkbhpx9ldjfw6vyl1m4c5vwlyjhk1mi03656fr"; depends=[]; }; + quadrupen = derive { name="quadrupen"; version="0.2-4"; sha256="0gs565zi5qkccr9f65smvzgq2d97p7i5inksp2492bjvqhsbagxj"; depends=[Rcpp ggplot2 Matrix reshape2 scales]; }; + qualityTools = derive { name="qualityTools"; version="1.54"; sha256="0qrxf47fv56c86p0mmg3l3qvx8p3rvapffwhaw4yn4kbp7yiap5d"; depends=[]; }; + qualV = derive { name="qualV"; version="0.3"; sha256="0cr3jlp0y83nk6i965bd6v86sl8pjx47z1y20lcygrf5cb6m4ifw"; depends=[KernSmooth]; }; + Quandl = derive { name="Quandl"; version="2.3.2"; sha256="0dx6myf5gw7dvhglsc60hwq8nsj73zz3gcqcad1z3d27acv2q7m0"; depends=[RCurl RJSONIO zoo xts]; }; + quantchem = derive { name="quantchem"; version="0.13"; sha256="1ga5xa7lsk04flfp1syjzpnvj3i2ypzh1m49vq1xkdwpm6axdy8n"; depends=[MASS outliers]; }; + QuantifQuantile = derive { name="QuantifQuantile"; version="0.1"; sha256="031plwf801rwczg4zprgpmsapvyf4mylrnbrxjkbza9dgddhwwy0"; depends=[rgl]; }; + quantmod = derive { name="quantmod"; version="0.4-0"; sha256="12411ykj1f1ni5y00ma3kr5h5fsi0rqkshz7501wykj926js9v5j"; depends=[Defaults xts zoo TTR]; }; + QuantPsyc = derive { name="QuantPsyc"; version="1.5"; sha256="1i9bh88r8zxndzjqsj14qw64gnvm5a9kvhjhzk3qsrvl3qzjgh93"; depends=[boot MASS]; }; + quantreg = derive { name="quantreg"; version="5.05"; sha256="07djmdlmij9add2sgdsb1p6521hlnsfmll8lqs3x0z9gmr2wyx4f"; depends=[SparseM]; }; + quantregForest = derive { name="quantregForest"; version="0.2-3"; sha256="06c73f66nnw3vd2dv8h5skzyxbr89i3pyprbb0if721h5d7pm0s7"; depends=[randomForest]; }; + quantregGrowth = derive { name="quantregGrowth"; version="0.1-2"; sha256="1lisnslvfhx1iyqiidw87a1gmqx5wwdzq2134jq01yiahp05kifj"; depends=[quantreg]; }; + quantspec = derive { name="quantspec"; version="1.0-0"; sha256="1z2r9iq3pccba3k871cbbvssnrls0p2w2ax21nmy2z3g7n3fbwq7"; depends=[quantreg testthat abind zoo rje snowfall]; }; + QuasiSeq = derive { name="QuasiSeq"; version="1.0-4"; sha256="1vpk1l7dhbfdywncdfg1c29qpj3x0m5ddpyh13d0d3ic8rzhdivf"; depends=[Matrix mgcv]; }; + questionr = derive { name="questionr"; version="0.4"; sha256="023q2d1p32p11pn1w37q5ax13sks462b5i1mmg7wwd7sjkmjq9f5"; depends=[shiny highr]; }; + queueing = derive { name="queueing"; version="0.2.2"; sha256="1db8w9pzy4krgcc4xahfs9aw45gvvyl6kqm1hkklw21pfc0ka09f"; depends=[]; }; + QUIC = derive { name="QUIC"; version="1.1"; sha256="021bp9xbaih60qmss015ycblbv6d1dvb1z89y93zpqqnc2qhpv3c"; depends=[]; }; + quint = derive { name="quint"; version="1.0"; sha256="19dxrssy4dw7v3s4hhhy6yilbc7zb6pvcnh3mm1z6vv5a1wfr245"; depends=[partykit Formula rpart]; }; + quipu = derive { name="quipu"; version="1.9.0"; sha256="1py1qpbwp2smr5di8b3zmzxxhchfmr5qfhqkdiqig28mcnqcmp5n"; depends=[agricolae stringr pixmap shiny xtable]; }; + qvcalc = derive { name="qvcalc"; version="0.8-8"; sha256="0xmbn6p7ryr43yf978pqpdnlxdq84v965hxbff8dviqhxwgqv4aq"; depends=[]; }; + QZ = derive { name="QZ"; version="0.1-4"; sha256="1k657i1rf6ayavn0lgfvlh8am3kzypgb1jhf2by147gv103izkrz"; depends=[]; }; + R0 = derive { name="R0"; version="1.2-4"; sha256="1gg5jlmb20lqa4nismchffc65b02n0qmbsk8nwzkkl2zxkm9kx3k"; depends=[MASS]; }; + R1magic = derive { name="R1magic"; version="0.2"; sha256="07kqpdpf2grmgkv609l79f3w6ljkldfsyrn9l1yg6birzp3p69v1"; depends=[]; }; + R2admb = derive { name="R2admb"; version="0.7.10"; sha256="0rjrd1wpr1f4l800mccnwsa121g93rrr7q9dq0xxvkl3lsbn6f2s"; depends=[]; }; + R2BayesX = derive { name="R2BayesX"; version="0.3-1"; sha256="1qsg4lvzxpbn2jli58kncn5kjlv7ccmmkrj1m9jakbbzx51qc1rj"; depends=[BayesXsrc colorspace mgcv]; }; + R2Cuba = derive { name="R2Cuba"; version="1.0-11"; sha256="1kgcxqn83yskh0dv6vyz66d0z32qy55par36jj987qglpl25zmax"; depends=[]; }; + r2d2 = derive { name="r2d2"; version="1.0-0"; sha256="1zl0b36kx49ymfks8rm33hh0z460y3cz6189zqaf0kblg3a32nsi"; depends=[KernSmooth MASS sp]; }; + r2dRue = derive { name="r2dRue"; version="1.0.4"; sha256="1apdq7zj5fhs349wm9g6y06nn33x24pg3gdp4z1frd18qlacf8z5"; depends=[rgdal sp matrixStats]; }; + R2G2 = derive { name="R2G2"; version="1.0-2"; sha256="05d5vybvsi4pyr099916nk1l8sqszs9gaj2vhsx1jxxks8981na7"; depends=[]; }; + R2GUESS = derive { name="R2GUESS"; version="1.3"; sha256="1jqzh2f9qwwmcf16hjgnl3rgp49zx6m090r750p3n4ds3qr96zx7"; depends=[fields MCMCpack mixOmics mvtnorm snowfall]; }; + R2HTML = derive { name="R2HTML"; version="2.2.1"; sha256="11p0mg6b39z2w7k76j21hy09r8fm3rwkiby2lmhx5cgvnvxgrqf1"; depends=[]; }; + R2jags = derive { name="R2jags"; version="0.04-01"; sha256="1df9663cn2hv02v7b3i3j38ajh66106fl8p175z116dz0byzk2z6"; depends=[rjags abind coda R2WinBUGS]; }; + r2lh = derive { name="r2lh"; version="0.7"; sha256="1kkyjv9x2klrjnaaw4a16sxdfqmpp9s5mlclzlczlqjypbf2aa6d"; depends=[]; }; + R2OpenBUGS = derive { name="R2OpenBUGS"; version="3.2-2.2"; sha256="0hnp46linvpnzifhyb3r13xmwvdc3psabs53xl6qxxm4snrl4bnd"; depends=[coda boot]; }; + R2STATS = derive { name="R2STATS"; version="0.68-38"; sha256="1v8mvkvs4fjch0dpjidr51jk6ynnw82zhhylyccyrad9f775j2if"; depends=[proto Matrix lattice lme4 cairoDevice gWidgets gWidgetsRGtk2 RGtk2Extras MASS latticeExtra statmod]; }; + r2stl = derive { name="r2stl"; version="1.0.0"; sha256="18lvnxr40cm450s8qh09c3cnkl1hg83jhmv1gzsv6nkjrq4mj5wh"; depends=[]; }; + R2SWF = derive { name="R2SWF"; version="0.8"; sha256="125r4drgl79cwda00g42m0l0dzqmi2n8p5cikx70jz67giq5blw2"; depends=[sysfonts]; }; + R2WinBUGS = derive { name="R2WinBUGS"; version="2.1-19"; sha256="03bvxv46lhhnbfjq3w5ig50icncwn1bdq7lsh6w1szdk90ah2zgh"; depends=[coda boot]; }; + R330 = derive { name="R330"; version="1.0"; sha256="01sprsg7kph62abhymm8zfqr9bd6dhihrfxzgr4pzi5wj3h80bjm"; depends=[s20x leaps rgl lattice]; }; + R4CDISC = derive { name="R4CDISC"; version="0.1"; sha256="0sf57gx5sxsr958mjvmiggkfb6yyk2fwvqhpmagw8d54d6qxsl36"; depends=[XML]; }; + R4CouchDB = derive { name="R4CouchDB"; version="0.4"; sha256="15177dwwnhl6mfvb78knhmjqi34pb74dcgb9rf9j0rvy85vznzzm"; depends=[bitops RCurl RJSONIO]; }; + R4dfp = derive { name="R4dfp"; version="0.2-4"; sha256="02crzjphlq4hi2crh9lh8l0acmc1rgb3wr1x8sn56cwhq4xzqzcb"; depends=[]; }; + r4ss = derive { name="r4ss"; version="1.20"; sha256="1nrxyqm570w5g9k7f9mj9rvv6pvwd00pansrrdfik2ciwcriyzz8"; depends=[coda gtools maps]; }; + race = derive { name="race"; version="0.1.59"; sha256="13jprlnngribgvyr7fbg9d36i8qf3cax85n71dl71iv0y24al1cy"; depends=[]; }; + RAD = derive { name="RAD"; version="0.3"; sha256="0nmgsaykxavq2bskq5x0jvsxzsf4w2gqc0z80a59376li4vs9lpj"; depends=[mvtnorm MASS]; }; + RADami = derive { name="RADami"; version="1.0-3"; sha256="0rg07dsh2rlldajcj0gq5sgsl1i3qa28bsrmq88xcljg5hnr4iqn"; depends=[ape geiger phangorn]; }; + RadioSonde = derive { name="RadioSonde"; version="1.3"; sha256="1bvy281v278dni7ms4mq963463mwsj1bys9n2lvn6y8p7jhqvhdj"; depends=[]; }; + RadOnc = derive { name="RadOnc"; version="1.0.7"; sha256="05d6fd4qj8crx0jip13ixqqra1l9y7j1nijzfq6w8hxhan7cgys7"; depends=[rgl geometry oro_dicom ptinpoly]; }; + rags2ridges = derive { name="rags2ridges"; version="1.1"; sha256="0rvl9ygqxshlzgg1xlg91bximq5ws0vbzw4spf5hi9z718kj2ika"; depends=[expm GeneNet reshape ggplot2 igraph]; }; + RAHRS = derive { name="RAHRS"; version="1.0.1"; sha256="068alq0mrfgcmpa5gfrrqgixpdadva11s9ammg7p6g9lfrjx6gcc"; depends=[pracma RSpincalc]; }; + rainbow = derive { name="rainbow"; version="3.2"; sha256="043qbbyb1i7b8n3vspr6rdwlpqg3wdn31rsq3hmlahvwrfqma70n"; depends=[MASS pcaPP hdrcde cluster colorspace ks]; }; + raincpc = derive { name="raincpc"; version="0.1"; sha256="0l8b4s64ql3jj9m4mc4w21igq8pr7ky9ixzlgr76lhrbjnr7z7ig"; depends=[]; }; + rAltmetric = derive { name="rAltmetric"; version="0.3"; sha256="0jq5w5yd1cps4npbm9wmrjb5vc36y89ib986ggqycd9jalmshxjd"; depends=[plyr RCurl reshape2 png ggplot2 RJSONIO]; }; + Rambo = derive { name="Rambo"; version="1.1"; sha256="1yc04xsfkc54y19g5iwambgnlc49ixjjvfrafsgis2zh5w6rjwv8"; depends=[sna]; }; + RAMpath = derive { name="RAMpath"; version="0.3.8"; sha256="1p1l6iirb314n5246kyyz0r3ja4v05xb5a6aq9k26wsb5m42x85k"; depends=[lavaan ellipse]; }; + ramps = derive { name="ramps"; version="0.6-12"; sha256="128lqfkgmcbcfvs210j14h54spqjcr4jdhk2rqgrwcjp5wjv209w"; depends=[coda maps Matrix nlme fields]; }; + randaes = derive { name="randaes"; version="0.3"; sha256="14803argy0xdd8mpn4v67gbp90qi2is4x6na9zw7i9pm504xji1x"; depends=[]; }; + random = derive { name="random"; version="0.2.2"; sha256="0h3vmd581i0srf9lfdgjv8kkinxf1kjg8aia0dhr5adghqvf5dck"; depends=[]; }; + RandomFields = derive { name="RandomFields"; version="3.0.10"; sha256="02cvsyv5lfmm8axrhwmhhzcidhrj8bnkyas0vjsf51mzyfm0a9iv"; depends=[sp]; }; + randomForest = derive { name="randomForest"; version="4.6-7"; sha256="02xyaz1rbvbsw6zl9kqv3qv32ni6rkgig38l1z0yy1rc4j5yh1l2"; depends=[]; }; + randomForestSRC = derive { name="randomForestSRC"; version="1.4"; sha256="1a70i63l3iycns4zgbfrawchr5ysshy6ipbibh5wyc31yfjdlbsl"; depends=[]; }; + randomGLM = derive { name="randomGLM"; version="1.02-1"; sha256="031338zxy6vqak8ibl2as0l37pa6qndln0g3i9gi4s6cvbdw3xrv"; depends=[MASS foreach doParallel]; }; + randomizationInference = derive { name="randomizationInference"; version="1.0.1"; sha256="1l4h9d0r199z775da0la30qijm8xikmbfnl7av7h1ar305ph6r2v"; depends=[permute matrixStats]; }; + randomizeBE = derive { name="randomizeBE"; version="0.3-1"; sha256="06hj614wp9lb348qwyqgw5zk2vn0m81bkwz4jprgjd72kpy8kv1h"; depends=[]; }; + randomLCA = derive { name="randomLCA"; version="0.8-7"; sha256="1xs2jh0parvqjm88cs2w2yb8r4ld6643fn84w35v8jsffbs98522"; depends=[lattice nlme boot]; }; + randomNames = derive { name="randomNames"; version="0.0-6"; sha256="18fyxpqj6xv933nyv4s59wv7pgl4wra123qmf0fa68gk1zj9l153"; depends=[data_table]; }; + random_polychor_pa = derive { name="random.polychor.pa"; version="1.1.3.6"; sha256="0qcy3f8r31k57ylcmg7a45h9fhg7llc8jqxvdxfxnsm5wx20vxvg"; depends=[psych nFactors mvtnorm MASS sfsmisc]; }; + randomSurvivalForest = derive { name="randomSurvivalForest"; version="3.6.4"; sha256="1k08q43rxlz822rqzz3nvy40646764c8ds25ylsvg6daan2qzzmv"; depends=[]; }; + randtests = derive { name="randtests"; version="0.3"; sha256="0v5hbbmx7cl1q8bfgk9141hqbimch5fkhcbr9xfxidydxyl9jqln"; depends=[]; }; + randtoolbox = derive { name="randtoolbox"; version="1.14"; sha256="1pcbd626vkqakirzrvnz13k2h462hvf4ra7wvy1xx7k2vcm0ch78"; depends=[rngWELL]; }; + RandVar = derive { name="RandVar"; version="0.9.2"; sha256="04hw4v2d9aa8z9f8wvwbzhbfy8zjl5q8mpl9b91q86fhh1yq5cz4"; depends=[distr distrEx]; }; + rangeMapper = derive { name="rangeMapper"; version="0.2-6"; sha256="1p4i677s7hc74snsk0vwswxp493ijwynsfmzjkrslzk819ng7zii"; depends=[RSQLite rgdal sp raster maptools RSQLite_extfuns lattice RColorBrewer classInt]; }; + RankAggreg = derive { name="RankAggreg"; version="0.4-3"; sha256="0m9wndpfgiy9cf2ss1vk7f09yl0qiqhx48kn1qid69vhv73nsyf3"; depends=[gtools clValid]; }; + Rankcluster = derive { name="Rankcluster"; version="0.92"; sha256="0rlha3l588k9f4d24pb5vgd6q44ycb3qpjl6zk9llmi8x42wf5s2"; depends=[Rcpp]; }; + rankhazard = derive { name="rankhazard"; version="1.0"; sha256="1kylg8yjrixbv86i2ffhhn8f5shsj8kvi66k202ari0li92y7dsg"; depends=[survival]; }; + RankResponse = derive { name="RankResponse"; version="3.0.3"; sha256="0bl0w8dzwn73psiln4bkilq1l1bn1jnh4mmvblvb3wnms8srhrpv"; depends=[]; }; + RANN = derive { name="RANN"; version="2.3.0"; sha256="1f23zs5wd214pvvd2na4kc2nxrqrx8q1ij6ga8whs7qgyc8072fm"; depends=[]; }; + RAP = derive { name="RAP"; version="1.1"; sha256="18dclijs72p6gxawpg8hk7n512ah4by5jfg2jnrp8mz79ajmdgir"; depends=[]; }; + RapidPolygonLookup = derive { name="RapidPolygonLookup"; version="0.1"; sha256="0m6r11ksryzcfcm265wr9fhwb867j9ppfhalvvygzig5j85sg92k"; depends=[sp RANN PBSmapping RgoogleMaps]; }; + RAPIDR = derive { name="RAPIDR"; version="0.1"; sha256="06lhsjy7s71p5bcpln999smvr6n1fp5qfbr7i8wjcn4p1ddcfdcm"; depends=[data_table PropCIs]; }; + RApiSerialize = derive { name="RApiSerialize"; version="0.1.0"; sha256="0gm2j8kh40imhncwwx1sx9kmraaxcxycvgwls53lcyy2ap344k9j"; depends=[]; }; + RAppArmor = derive { name="RAppArmor"; version="1.0.1"; sha256="06j7ghmzw2rrlk8nsarmpk1ab2gg88qs52zpw37rhqchpyzwwkfb"; depends=[]; }; + rapport = derive { name="rapport"; version="0.51"; sha256="1qn45nrcawr8d9pkdnpmm37dg31l28gfbnwjl62fs7y691187cqp"; depends=[lattice plyr pander yaml reshape]; }; + rapportools = derive { name="rapportools"; version="1.0"; sha256="1sgv4sc737i12arh5dc3263kjsz3dzg06qihfmrqyax94mv2d01b"; depends=[reshape plyr pander]; }; + RArcInfo = derive { name="RArcInfo"; version="0.4-12"; sha256="1j1c27g2gmnxwslff4l0zivi48qxvpshmi7s9wd21cf5id0y4za4"; depends=[RColorBrewer]; }; + Rarity = derive { name="Rarity"; version="1.2-1"; sha256="16ds0s396f42qqmn4xrnmfk1j6v917p27dgi9iji976hn2q463hh"; depends=[]; }; + rARPACK = derive { name="rARPACK"; version="0.5-0"; sha256="0d4kd4fi6rvdamj5kvyba6zm0250ldm7nqrgnmapnc2q0wv0hik8"; depends=[Rcpp Matrix]; }; + RaschSampler = derive { name="RaschSampler"; version="0.8-6"; sha256="1ap5r8k4ydnsxqz5hvnnp9cbp0mdnx5bn8pn2wh0rp42897mfm4i"; depends=[]; }; + rasclass = derive { name="rasclass"; version="0.2.1"; sha256="04g2sirxrf16xjmyn4zcci757k7sgvsjbg0qjfr5phbr1rssy9qf"; depends=[car nnet RSNNS e1071 randomForest]; }; + raster = derive { name="raster"; version="2.2-31"; sha256="0i0a6d8g3qxxlmp897q80lw2k3ccidrfm236l0pd9nwydy0bqpl1"; depends=[sp]; }; + rasterVis = derive { name="rasterVis"; version="0.28"; sha256="0pq47ldjnihi1mgy5g9ymgvfm5hkpivhcz8qk3kn24cp7j06n0xh"; depends=[raster lattice latticeExtra hexbin sp zoo RColorBrewer]; }; + rateratio_test = derive { name="rateratio.test"; version="1.0-2"; sha256="1a2v12z2dr893ha80fhada1820z5ih53w4pnsss9r9xw3hi0m6k5"; depends=[]; }; + raters = derive { name="raters"; version="1.1"; sha256="0djpax59qvvqklph847wh4m2231y3zrzv2i7maq43pr8pyw9f2md"; depends=[]; }; + rationalfun = derive { name="rationalfun"; version="0.1-0"; sha256="15949vs9pdjz7426zhgqn7y87xzn79ikrpa2vyjnsid1igpyh0mp"; depends=[polynom]; }; + RAtmosphere = derive { name="RAtmosphere"; version="1.1"; sha256="0mk43bq28hlrjwaycsxca458k8xf00q58czgc17d8yx3kz17a5i0"; depends=[]; }; + rattle = derive { name="rattle"; version="3.0.2"; sha256="19mscdb3snpj9z9zl8wg2zpr44l1x2agy108c086zqv8p1s7b8pv"; depends=[]; }; + rAverage = derive { name="rAverage"; version="0.3-6"; sha256="005gjk8bifvncl1yfazj4bs8l4k2pgygwdyfrkkd4xvcywar0p73"; depends=[foreign]; }; + rAvis = derive { name="rAvis"; version="0.1.1"; sha256="0iyhc24xm2655wc1dhg8vhd5yr7zx6hywpxczkfs0a7pifckfy4g"; depends=[stringr XML RCurl scrapeR gdata scales rgdal maptools raster sp]; }; + rawFasta = derive { name="rawFasta"; version="1.0.0"; sha256="0krvs8d1r8hggjg84n7g3ncdkifa3hipbma98f49kf81fzn2npip"; depends=[]; }; + rbamtools = derive { name="rbamtools"; version="2.6.0"; sha256="1iank7vr6haczgrv2pkcpvg24c78m8fmh9y982bnb8zjq8q4wwwn"; depends=[]; }; + rbefdata = derive { name="rbefdata"; version="0.3.5"; sha256="12mcqz0pqgwfw5fmma0gwddj4zk0hpwmrsb74dvzqvgcvpfjnv98"; depends=[XML RCurl rjson wordcloud rtematres RColorBrewer]; }; + rbenchmark = derive { name="rbenchmark"; version="1.0.0"; sha256="010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"; depends=[]; }; + RBerkeley = derive { name="RBerkeley"; version="0.7-4"; sha256="0jslac7d0dyqxpy4lcg1i7kz9hdidnlxhf982lnsl5kx5fl0nmxi"; depends=[]; }; + rBeta2009 = derive { name="rBeta2009"; version="1.0"; sha256="0ljzxlndn9ba36lh7s3k4biim2qkh2mw9c0kj22a507qbzw1vgnq"; depends=[]; }; + rbhl = derive { name="rbhl"; version="0.1.0"; sha256="1m2n1qczhhdlv9pkmw9dlqi2wmdw8wac8d557c4rk0vnzwzgpgpi"; depends=[httr XML RJSONIO plyr]; }; + RbioRXN = derive { name="RbioRXN"; version="1.1"; sha256="1q7nznv54s9wmma82pisbrwsx6b23v4ncrvh6l145ah1qfxp3r8c"; depends=[gdata CHNOSZ hash foreach]; }; + rbiouml = derive { name="rbiouml"; version="1.4"; sha256="03zpchcwq4sn8cymcrzw6r6fkxh85b8mivy42jkd0knm6i7f9aa6"; depends=[RCurl RJSONIO]; }; + rbison = derive { name="rbison"; version="0.3.2"; sha256="04j0cq56b46d2nvvdl2sg49ffydbqv0bdzf9ccbh21y9z05s195a"; depends=[plyr httr mapproj ggplot2 gridExtra maptools sp data_table rjson]; }; + Rbitcoin = derive { name="Rbitcoin"; version="0.9"; sha256="1l9k0pkxsdfm7aay47755zgx6k2b3pwnwxbzn80q5q27s1062pjv"; depends=[data_table RJSONIO RCurl digest]; }; + rbmn = derive { name="rbmn"; version="0.9-2"; sha256="1zy832y399cmfmhpyfh7vfd293fylf1ylmp8w8krkmzkmyfa80f2"; depends=[MASS]; }; + rbounds = derive { name="rbounds"; version="2.0"; sha256="19xxz5dzzh706pp9391fq4v0g1fsd442x6mqqdvhkm51a9x0ih3p"; depends=[Matching]; }; + rbugs = derive { name="rbugs"; version="0.5-9"; sha256="1kvn7x931gjpxymrz0bv50k69s1x1x9mv34vkz54sdkmi08rgb3y"; depends=[]; }; + RC = derive { name="RC"; version="1.0.2.13"; sha256="0rhbmmihsk09k1nhxkbq0kgxnynl4wfz4lq2jc9cvq8afirxi7wx"; depends=[igraph bitops]; }; + RCA = derive { name="RCA"; version="1.4.5"; sha256="0s200s28a6gh3dggad52dgqnf0k2jsfrqv1hbg8w2529v4s3dc5i"; depends=[igraph]; }; + R_cache = derive { name="R.cache"; version="0.9.0"; sha256="0a2x42rq2q0wzq2grwzc6ngs9hmw2lvz3nj1a4b3zh1r69qcn2vc"; depends=[R_methodsS3 R_oo R_utils]; }; + RCALI = derive { name="RCALI"; version="0.2-6"; sha256="01zaks9mdgi9hcwsfvg3dwkihmb5ay5ilgg10fqcz2cssldj9x7x"; depends=[splancs]; }; + Rcapture = derive { name="Rcapture"; version="1.3-1"; sha256="1k6w5pyml5y2sdfjc1xpl2d5p6d8zj98kwndgir56hyrrrm7nxgx"; depends=[]; }; + rCarto = derive { name="rCarto"; version="0.8"; sha256="08813l4xfahjyn0jv48q8f6sy402n78dqsg01192pxl2dfc2i9ry"; depends=[RColorBrewer maptools classInt]; }; + RCassandra = derive { name="RCassandra"; version="0.1-3"; sha256="0xa241s81cyw6lfjb522f2mlyrd0gav9yz3z5jab9hpdpgg9ri38"; depends=[]; }; + rcdd = derive { name="rcdd"; version="1.1-8"; sha256="09bb92rp44palx9dvc9pb0gdmb1g22289xjk8p9s918lalc6i9aw"; depends=[]; }; + rcdk = derive { name="rcdk"; version="3.2.3.2"; sha256="0av5g1yhixx4px8xadg0645a31rgzbpfk2gpf8szxjlb16yvb7cs"; depends=[fingerprint rJava rcdklibs png iterators]; }; + rcdklibs = derive { name="rcdklibs"; version="1.5.4"; sha256="0ffqvyrawr3n7y6yfag3lpqaz4z2v8ng3kr9h4qfmmab317njwwn"; depends=[rJava]; }; + RCEIM = derive { name="RCEIM"; version="0.1"; sha256="1z9vp5x4zsc2rg6b080aw88p57gg5xl88psmk0dvy30l39wm4qx5"; depends=[]; }; + Rcell = derive { name="Rcell"; version="1.2-6"; sha256="0wly2wgm7506a9f26jbq2b0v9wlh2wyp086r2vi6bia9j8sxhi0c"; depends=[proto plyr reshape ggplot2 digest]; }; + Rcgmin = derive { name="Rcgmin"; version="2013-02.20"; sha256="1y6095vapb3r8p9i5hqa14gfpl4q3g2n82nb64429kl6w3mlfk8f"; depends=[numDeriv]; }; + Rchoice = derive { name="Rchoice"; version="0.1"; sha256="030x42jq6dd25g7isk5m9s0v9rfqkkj7i7286i9as1mpn73nlyz5"; depends=[maxLik Formula sandwich ggplot2 plotrix car lmtest]; }; + rChoiceDialogs = derive { name="rChoiceDialogs"; version="1.0.4"; sha256="12gzfw0r1ljk81j7hglgsmdm7xwa2n2w2f56sg684l26jyqsaw1z"; depends=[rJava]; }; + RCircos = derive { name="RCircos"; version="1.1.2"; sha256="0j7ww2djnhpra13vjr6y772sg64ikdmw1z68lpp9i7d0shlc3qx9"; depends=[]; }; + RClimMAWGEN = derive { name="RClimMAWGEN"; version="1.1"; sha256="0icy560llfd10mxlq0xmc6lbg6a030za9sygw1rpz8sk5j0lvb84"; depends=[climdex_pcic RMAWGEN]; }; + rClinicalCodes = derive { name="rClinicalCodes"; version="1.0.0"; sha256="1cnrs2znd105fvrcsf8bylmwlwhdrrgxkkkqzjyry1n36cf8q7jk"; depends=[stringr RCurl XML rjson tm]; }; + Rclusterpp = derive { name="Rclusterpp"; version="0.2.3"; sha256="02s5gmmmd0l98wd1y884pjl3h289dyd9p9s7dh7yl2zaslqs2094"; depends=[Rcpp RcppEigen]; }; + rCMA = derive { name="rCMA"; version="1.0.0"; sha256="16d3cdxiaq65lwbvq8wjcp89vrfdp9kwrdl2jy9fynsg0v2lasvp"; depends=[rJava]; }; + Rcmdr = derive { name="Rcmdr"; version="2.0-4"; sha256="0py5qfr1zk83hgp06xvypz5b9nml5km5xwp2hzy3cf4fd2xjkl3q"; depends=[tcltk2]; }; + RcmdrPlugin_BCA = derive { name="RcmdrPlugin.BCA"; version="0.9-7"; sha256="1r4mib6r6qdhkbysxjs7s49j2l1qivlksaixzyz321jwsilpl411"; depends=[BCA car Rcmdr]; }; + RcmdrPlugin_coin = derive { name="RcmdrPlugin.coin"; version="1.0-21"; sha256="10fapjk74fpknym3pf2c0g25c4sk0pkfkakfy2c5fw9nw4a1j71f"; depends=[Rcmdr coin survival multcomp]; }; + RcmdrPlugin_depthTools = derive { name="RcmdrPlugin.depthTools"; version="1.3"; sha256="09mjn5jn4rdj1lh515vr3xlnk615flg13kcwbpk0an2si4xkgm9h"; depends=[Rcmdr depthTools]; }; + RcmdrPlugin_doBy = derive { name="RcmdrPlugin.doBy"; version="0.1-3"; sha256="0nza4y8px90fbhqs9wyjy9302cjavvk72kr1553ljcyh16hjwmmr"; depends=[Rcmdr doBy]; }; + RcmdrPlugin_DoE = derive { name="RcmdrPlugin.DoE"; version="0.12-2"; sha256="19axgapk8scqi1ky3r3m2dn942z1q6licsaym6ky7a6lygs52k4z"; depends=[DoE_base FrF2 DoE_wrapper relimp Rcmdr]; }; + RcmdrPlugin_doex = derive { name="RcmdrPlugin.doex"; version="0.2.0"; sha256="0l3c8vwifyl8a7qkfaqxm7cws2cg1g501qa93w5svcgp03yf98mj"; depends=[Rcmdr multcomp]; }; + RcmdrPlugin_EACSPIR = derive { name="RcmdrPlugin.EACSPIR"; version="0.2-1"; sha256="0fn12acbjh0n402hn9whhhyij3jlwmvlawyfi9myimnb4wyaqgwb"; depends=[R2HTML abind ez nortest reshape Rcmdr]; }; + RcmdrPlugin_EBM = derive { name="RcmdrPlugin.EBM"; version="1.0-3"; sha256="189q5k7lr9laq4s10hhjnd4mfdrdjqxf7sn2q1gq9nfglcpkwql6"; depends=[Rcmdr epiR abind]; }; + RcmdrPlugin_epack = derive { name="RcmdrPlugin.epack"; version="1.2.5"; sha256="1577qhac4rldifax5x3l39cddan6dhq2dv4iv2n64nadgrl0259w"; depends=[Rcmdr TeachingDemos tseries abind MASS xts forecast]; }; + RcmdrPlugin_EZR = derive { name="RcmdrPlugin.EZR"; version="1.24"; sha256="1zcpj1xcbmcyrbsr0gsndm5p6qls57zrkjcidk8y27pyd6gim2zj"; depends=[Rcmdr]; }; + RcmdrPlugin_HH = derive { name="RcmdrPlugin.HH"; version="1.1-40"; sha256="0i85bbzy46jk8568d7mx1fwq9zk51iq1jjwr2mnik4zh6914f9h5"; depends=[HH lattice latticeExtra rgl Rcmdr multcomp leaps]; }; + RcmdrPlugin_IPSUR = derive { name="RcmdrPlugin.IPSUR"; version="0.1-8"; sha256="1xgirbwcc2jz16da9fw553phxd2i4ky5jqzspdccj1i7fd4l625m"; depends=[Rcmdr]; }; + RcmdrPlugin_KMggplot2 = derive { name="RcmdrPlugin.KMggplot2"; version="0.2-0"; sha256="1w4n7r3sp6h87wxhrzg500w90p8dzr43j28p8p1r2y0v0i0v6mk5"; depends=[ggplot2 ggthemes gtable plyr Rcmdr RColorBrewer scales survival tcltk2]; }; + RcmdrPlugin_lfstat = derive { name="RcmdrPlugin.lfstat"; version="0.7"; sha256="009yj9c5cr34k8qa16q19sp7c5iwv95g9swbm004nr18mfah8x9w"; depends=[lfstat Rcmdr]; }; + RcmdrPlugin_MA = derive { name="RcmdrPlugin.MA"; version="0.0-1"; sha256="1l4nvwa0gq83ndkc190l7lba76d9gnf52k4p1z5jfpc9p9s6c20k"; depends=[MAd metafor Rcmdr]; }; + RcmdrPlugin_mosaic = derive { name="RcmdrPlugin.mosaic"; version="1.0-7"; sha256="0k6xaz2dfm9ch9lxqsh19jm8d4bbyjj2ffmjjxl57kanb3pvrrwv"; depends=[ENmisc vcd Hmisc Rcmdr]; }; + RcmdrPlugin_MPAStats = derive { name="RcmdrPlugin.MPAStats"; version="1.1.4"; sha256="1ir0qh4gqa4zwhqvikak38gsxm0l4r63i0szvv6vgifmpj6sx008"; depends=[Rcmdr ordinal]; }; + RcmdrPlugin_NMBU = derive { name="RcmdrPlugin.NMBU"; version="1.7.1"; sha256="1lvq7qmxjk5n78yjr5dj7dkv9d7kc8qzyrcapsxq8pydvva2223d"; depends=[mixlm MASS pls Rcmdr]; }; + RcmdrPlugin_orloca = derive { name="RcmdrPlugin.orloca"; version="4.1"; sha256="19qj6llr5sfw267dgbn2jvrsisb54qbjhgaiigfzymk6px33wwmg"; depends=[orloca orloca_es Rcmdr]; }; + RcmdrPlugin_plotByGroup = derive { name="RcmdrPlugin.plotByGroup"; version="0.1-0"; sha256="10wc7lnihsrldsynq2s0syr1aqmvfnj9rhgwh1nkk7jlrwcgj0z6"; depends=[Rcmdr lattice]; }; + RcmdrPlugin_pointG = derive { name="RcmdrPlugin.pointG"; version="0.6.6"; sha256="0sc3akbpdys353va05b40g3rq8qihw0pmhvv0kckkhsgrbr8mc07"; depends=[Rcmdr RColorBrewer]; }; + RcmdrPlugin_qual = derive { name="RcmdrPlugin.qual"; version="2.2.6"; sha256="00wznh0k909cd9vwdj1ag3224xkqnwjsad1bfkgxbszsx0w6xvy9"; depends=[Rcmdr]; }; + RcmdrPlugin_sampling = derive { name="RcmdrPlugin.sampling"; version="1.1"; sha256="0fx0s63wq0si1jydl9xyj9ny7iglg91zpvkyrnc05i5pan9l3xd9"; depends=[lpSolve sampling MASS Rcmdr]; }; + RcmdrPlugin_SCDA = derive { name="RcmdrPlugin.SCDA"; version="1.0"; sha256="0z43hhp798kga70xmiq4wzp5iad553rndn17g3va3dh6lz1k3y3h"; depends=[SCVA SCRT SCMA Rcmdr]; }; + RcmdrPlugin_seeg = derive { name="RcmdrPlugin.seeg"; version="1.0"; sha256="105c2rl3mrcv7r3iqa9d2zs6cys7vfpyydylkg2cggfqkghxgr95"; depends=[Rcmdr seeg spatstat sgeostat]; }; + RcmdrPlugin_SLC = derive { name="RcmdrPlugin.SLC"; version="0.2"; sha256="1nwpzmgfla1y05dxf81w0wmvvmvcq5jn5k8phlq30920ia7ybs8g"; depends=[SLC Rcmdr]; }; + RcmdrPlugin_SM = derive { name="RcmdrPlugin.SM"; version="0.3.1"; sha256="10sjh2x02kb6yaxbvd9ihc6777j4iv6wi6k42gyl3k7i2c39fyn3"; depends=[Rcmdr car RColorBrewer colorspace vcd]; }; + RcmdrPlugin_sos = derive { name="RcmdrPlugin.sos"; version="0.3-0"; sha256="1r9jxzmf5ks62b5jbw0pkf388i1lnld6i27xhfzysjqdxcnzdsdz"; depends=[sos Rcmdr tcltk2]; }; + RcmdrPlugin_StatisticalURV = derive { name="RcmdrPlugin.StatisticalURV"; version="1.0-1"; sha256="04pqqgy12rnhwm8l0752hb9p5h4l11mm7flm6n9kkcvbkvagsbrz"; depends=[agricolae multcomp car Rcmdr]; }; + RcmdrPlugin_survival = derive { name="RcmdrPlugin.survival"; version="1.0-4"; sha256="03rgr9klf2d1ml8i2avf9lncjr3bfcb4v7mcwg800wwdjzkwqkql"; depends=[survival date Rcmdr]; }; + RcmdrPlugin_TeachingDemos = derive { name="RcmdrPlugin.TeachingDemos"; version="1.0-7"; sha256="0d473p0df99x9a3jfwb49gxsrcvslcw9yandramwq82cwy3sdcxw"; depends=[rgl TeachingDemos Rcmdr]; }; + RcmdrPlugin_temis = derive { name="RcmdrPlugin.temis"; version="0.6.2"; sha256="08ahxx2gw5bp647wh53vsq54l4p4sbyac3xv24gfq2gyqh6ad9qm"; depends=[tm slam zoo lattice Rcmdr ca R2HTML RColorBrewer latticeExtra]; }; + RcmdrPlugin_UCA = derive { name="RcmdrPlugin.UCA"; version="1.0-2"; sha256="11a8jaz5vycq8hnpxzrbv1g8vyh0ic1y48952ah633b2j1m1ay8i"; depends=[Rcmdr]; }; + Rcolombos = derive { name="Rcolombos"; version="1.5.0"; sha256="139ayyc94m6srbcccw1j8p4by5nxy7s52ahvdq2ag183hk91gjq4"; depends=[httr]; }; + RColorBrewer = derive { name="RColorBrewer"; version="1.0-5"; sha256="0y4ficfdjzrd7lkcaafjrdqr5r3jiha7rvg76h8m5yak396c9has"; depends=[]; }; + Rcplex = derive { name="Rcplex"; version="0.3-1"; sha256="1z0kjrd6m8sas9vllwv3dvmc1f8ix5b4j45jp8qparzcqfkjj9yk"; depends=[slam]; }; + RCPmod = derive { name="RCPmod"; version="1.4"; sha256="1psn1w8ws0n96jqvd98l0wl0l46w0691c5vm9aarql2pqnc73lw9"; depends=[numDeriv gtools]; }; + Rcpp = derive { name="Rcpp"; version="0.11.1"; sha256="1ccsvdij6yym9dziqsjf5gr37968imz8i81334vi2fc69z5xzf30"; depends=[]; }; + Rcpp11 = derive { name="Rcpp11"; version="3.1.0.1"; sha256="17ymlnpyq2pdc9jbd31hzdrc69rp7ccj4kg6k793chq322y12bfx"; depends=[]; }; + RcppBDT = derive { name="RcppBDT"; version="0.2.3"; sha256="0gnj4gz754l80df7w3d5qn7a57z9kq494n00wp6f7vr8aqgq8wi1"; depends=[Rcpp]; }; + rcppbugs = derive { name="rcppbugs"; version="0.1.4.1"; sha256="0wb5mzw1sdrr7lc6izilv60k5v0wcvy8q31a863b63a9jvh16g8d"; depends=[Rcpp]; }; + RcppClassic = derive { name="RcppClassic"; version="0.9.5"; sha256="193nsplyqd1fb7hwxsk0s7dz6rm6rw7lp04jff08mswcjdkh69g4"; depends=[Rcpp]; }; + RcppClassicExamples = derive { name="RcppClassicExamples"; version="0.1.1"; sha256="0shs12y3gj5p7gharjik48dqk0fy4k2jx7h22ppvgbs8z85qjrb8"; depends=[Rcpp RcppClassic]; }; + RcppCNPy = derive { name="RcppCNPy"; version="0.2.3"; sha256="1baz9272vwc44yab7xb6ig0gd2gj8idrhywir2zq77q8bfhqc9gh"; depends=[Rcpp]; }; + RcppDE = derive { name="RcppDE"; version="0.1.2"; sha256="0ji5csfygqvrcahgx5gxy7dddpykckzw8hmqslsdl7l68wj60qkc"; depends=[Rcpp RcppArmadillo]; }; + RcppEigen = derive { name="RcppEigen"; version="0.3.2.1.2"; sha256="010a27jby8c61mgw2qb47zkln1v33gj0xcn8lf7sw0kb2mdh58yl"; depends=[Matrix Rcpp]; }; + RcppExamples = derive { name="RcppExamples"; version="0.1.6"; sha256="1jnqh9nii5nncsah0lrkls8dqqcka9fnbvfg8ikl4cqjri17rpbv"; depends=[Rcpp]; }; + RcppGSL = derive { name="RcppGSL"; version="0.2.0"; sha256="0qdm5igjrifw8a0m36k9xrbnaj11j18236a1gvdz689vy6a4hfqz"; depends=[Rcpp]; }; + RcppOctave = derive { name="RcppOctave"; version="0.14.1"; sha256="0fdljr0jdnardcm2qm29ibz16xymal8xac3p4grscipa44vm1w0b"; depends=[Rcpp pkgmaker digest stringr]; }; + RcppProgress = derive { name="RcppProgress"; version="0.1"; sha256="1gvj51gadljaakm1nxdwgxzh723vv3ypzpzsgacsppxpj4rivxq4"; depends=[Rcpp]; }; + RcppRoll = derive { name="RcppRoll"; version="0.1.0"; sha256="0xwm64z7pr2cjmq4kri7zzhy7wvq7aj9lq3xm2g830fn71qvj8x3"; depends=[Rcpp RcppArmadillo]; }; + RcppSMC = derive { name="RcppSMC"; version="0.1.4"; sha256="1gcqffb6rkw029cpzv7bzsxaq0a5b032zjvriw6yjzyrpi944ip7"; depends=[Rcpp]; }; + RcppXts = derive { name="RcppXts"; version="0.0.4"; sha256="143rhz97qh8sbr6p2fqzxz4cgigwprbqrizxpkjxyhq8347g8p4i"; depends=[Rcpp xts]; }; + RcppZiggurat = derive { name="RcppZiggurat"; version="0.1.2"; sha256="05ai6s2j025fvr4znpmsvhxj4x7xyw2wsb9j3c5sv7aw1byfs0bb"; depends=[Rcpp]; }; + rcqp = derive { name="rcqp"; version="0.3"; sha256="0vxcgchnxdsdamclcshjbkn00ysmfmqp586a36wsyv3zqrd6rg7p"; depends=[plyr]; }; + Rcsdp = derive { name="Rcsdp"; version="0.1.53"; sha256="0x91hyx6z9f4zd7djxlq7dnznmr9skyzwbbcbjyid9hxbcfyvhcp"; depends=[]; }; + rCUR = derive { name="rCUR"; version="1.3"; sha256="1f38xbc5n91k2y88cg0sv1z2p4g5vl7v2k1024f42f7526g2p2lx"; depends=[MASS Matrix lattice]; }; + RCurl = derive { name="RCurl"; version="1.95-4.1"; sha256="1bphxniirak797rb2hjnv83i1sskdzcf3bl15lym171f79kx80w3"; depends=[bitops pkgs.curl]; }; + Rd2roxygen = derive { name="Rd2roxygen"; version="1.4"; sha256="09dxgp65zac5b9mxbjrvy3ihdwski98xva5afq659b8yfvkviq4g"; depends=[roxygen2 formatR]; }; + rda = derive { name="rda"; version="1.0.2-2"; sha256="1g2q7c0y138i9r7jgjrlpqznvwpqsj6f7vljqqfzh2l6kcj43vjj"; depends=[]; }; + rdatamarket = derive { name="rdatamarket"; version="0.6.4"; sha256="16a1yxvf841505a8gh7jf09fx6ipysymrpvsd4b07xdg5hvbzx25"; depends=[zoo RCurl RJSONIO]; }; + rdd = derive { name="rdd"; version="0.56"; sha256="1x61ik606mwn46x3qzgq8wk2f6d5qqr95h30bz6hfbjlpcxw3700"; depends=[sandwich lmtest AER Formula]; }; + rdetools = derive { name="rdetools"; version="1.0"; sha256="0pkl990viv7ifr7ihgdcsww93sk2wlzp2cg931wywagfp8dijd02"; depends=[]; }; + R_devices = derive { name="R.devices"; version="2.8.2"; sha256="0qnprgdihp1nzpbqzwg1l5snqyd7hzx49k8sbcl55jhcssdi3rym"; depends=[R_methodsS3 R_oo R_utils base64enc]; }; + RDIDQ = derive { name="RDIDQ"; version="1.0"; sha256="09gincmxv20srh4h82ld1ifwncaibic9b30i56zhy0w35353pxm2"; depends=[]; }; + RDieHarder = derive { name="RDieHarder"; version="0.1.3"; sha256="0wls7b0qfbi6hsq9xdywi4mdhim5b6mrzhvyrm9dxp9z1k7imz6m"; depends=[]; }; + Rdistance = derive { name="Rdistance"; version="1.1"; sha256="1rgjiks4s5l0vdj4svik9zz6kwwxsh9nj6q2ng7iblny6iqm6kbd"; depends=[]; }; + rDNA = derive { name="rDNA"; version="1.30.1"; sha256="12h83zirv55sryc1zww97ws8kvsym1z7p7y5d4w43nam8mi3fpcd"; depends=[rJava]; }; + Rdpack = derive { name="Rdpack"; version="0.4-14"; sha256="19vscr9l63c074n76b6a6jbl956sphjhz0d50yiwp3cvqf28yssf"; depends=[gbRd bibtex]; }; + Rdrools = derive { name="Rdrools"; version="0.0.2"; sha256="0iwik7nx07vvn9im0p1lz7y7602jccrrwkgaab2qrlmfmh9cf3pm"; depends=[rJava Rdroolsjars rJava Rdroolsjars]; }; + Rdroolsjars = derive { name="Rdroolsjars"; version="0.0.1"; sha256="108smksx7bm3dzyznv4h6vjgfh938wci787az0z0ba6mjm3za74c"; depends=[rJava rJava]; }; + rdryad = derive { name="rdryad"; version="0.1.1"; sha256="0mqpkmwkznyxj0nn1v389p741dlc66dixcvljsn2rvg0q6p75fkj"; depends=[XML RCurl OAIHarvester ape gdata plyr stringr RJSONIO]; }; + RDS = derive { name="RDS"; version="0.5"; sha256="1lr59lwblv7rr6s8bgzsyh45fa1qkid2njx1chzm5y5ddn8cwlqa"; depends=[ggplot2 gridExtra igraph scales reshape2]; }; + Rdsm = derive { name="Rdsm"; version="2.0.2"; sha256="1wzfc72zjvqdffkyp19zflab88r9yb3qrd0d96k8453dgmz8aygp"; depends=[bigmemory]; }; + RDSTK = derive { name="RDSTK"; version="1.1"; sha256="07vfhsyah8vpvgfxfnmp5py1pxf4vvfzy8jk7zp1x2gl6dz2g7hq"; depends=[plyr rjson RCurl]; }; + rDVR = derive { name="rDVR"; version="0.1.1"; sha256="19a4f9k65bd49vkn3sxkjdmcpwyawk7gwmvancvqr745gfgs0wzg"; depends=[RCurl]; }; + rdyncall = derive { name="rdyncall"; version="0.7.5"; sha256="0w7dwjswf8dx2w1piyrqr1wixmmlkgzlfwnnxvbiy2mfy1lwd04r"; depends=[]; }; + ReacTran = derive { name="ReacTran"; version="1.4.1"; sha256="01k3w6iffql198na968dmqgzsqgd1kwrjb34yw7mzppyisjcyv0k"; depends=[rootSolve deSolve shape]; }; + readbitmap = derive { name="readbitmap"; version="0.1-2"; sha256="11cha65hl5r8h143pnf54mxa0lpqphzi9l0n4bg24bjpdz15cppi"; depends=[bmp jpeg png]; }; + readBrukerFlexData = derive { name="readBrukerFlexData"; version="1.7"; sha256="0ajahma356aicl0jpwpdynf35yrh74z8zwjhav4h7v57zlvwhh1f"; depends=[]; }; + reader = derive { name="reader"; version="1.0.1"; sha256="1320kmysri660p54l86n260nrxskpfrwn4zbbwvp7w9fcqa09zyn"; depends=[NCmisc]; }; + readMLData = derive { name="readMLData"; version="0.9-6"; sha256="15rb8hm60fc30xgxjwxl7v5blzf02s6cb8pk0p26cgn9liiavjhb"; depends=[XML]; }; + readMzXmlData = derive { name="readMzXmlData"; version="2.7"; sha256="1c4q2ghp7mr1i3547vdq3mhvhqz0y2il5za5milrwb72wpq1cdfi"; depends=[base64enc digest XML]; }; + reams = derive { name="reams"; version="0.1"; sha256="07hqi0y59kv5lg0nl75xy8n48zw03y5m71zx58aiig94bf3yl95c"; depends=[leaps mgcv]; }; + Rearrangement = derive { name="Rearrangement"; version="1.0"; sha256="0biyg2m0ip2x4fwfw7c1ynidzb5cvdlr0gycx90w319jlz3rxqz0"; depends=[quantreg]; }; + REBayes = derive { name="REBayes"; version="0.40"; sha256="0pvwxw3f1mn6ky3gxxvrvl37mqmhxbjxplxwa5v2y53vrw8p2sdk"; depends=[Rmosek Matrix SparseM]; }; + rebird = derive { name="rebird"; version="0.1.1"; sha256="0s8wmp2sghs56ppca57fjfab7wngszmy1g8rd3hiwx6br0sjidcg"; depends=[RJSONIO httr RCurl plyr]; }; + rebmix = derive { name="rebmix"; version="2.5.1"; sha256="1g1kjh48ssj2wvch8m0cgr10bd9wh1mmi1zf52pyrgsf7w75r985"; depends=[]; }; + reccsim = derive { name="reccsim"; version="0.9-1"; sha256="17nsp91xq20vfwjfwav80qjs2wc7gwpmrdnwv7lc61baq0kkcs7k"; depends=[]; }; + ReCiPa = derive { name="ReCiPa"; version="3.0"; sha256="019vlvgxnqqlwghxygfqggzp2b4x2pqzdrbhaa703zdhm58k0n1g"; depends=[]; }; + recluster = derive { name="recluster"; version="2.5"; sha256="1hyq3nxbkah9jmly9a7ykzrf72r8yyd5ra5hf6d8fcprg15h8gg2"; depends=[vegan ape picante phangorn phytools cluster]; }; + recommenderlab = derive { name="recommenderlab"; version="0.1-4"; sha256="0ays9y3l7nj4vcbdraqv627lv0vf3wiqfszcqrh74h8jz9nnx78d"; depends=[Matrix registry arules proxy]; }; + recommenderlabBX = derive { name="recommenderlabBX"; version="0.1-0"; sha256="0dl79cxarsfp8l4nxnns05jwnjygigjhwpjrr4lzx4nvsfxmgsr2"; depends=[recommenderlab]; }; + recommenderlabJester = derive { name="recommenderlabJester"; version="0.1-0"; sha256="1m5jg8gs16cwwwcnjzqkyzwyip8fshrwhmqz8g7nlf6g3p9347rl"; depends=[recommenderlab]; }; + RecordLinkage = derive { name="RecordLinkage"; version="0.4-1"; sha256="0q5wb8p4w3xc6p9z8vdv1vdq4rnq69vi37b1m2cqsp2n9mmg1wfb"; depends=[e1071 rpart ada ipred evd RSQLite data_table ff ffbase]; }; + Records = derive { name="Records"; version="1.0"; sha256="08y1g2m6bdrvv4rpkhd5v2lh7vprxy9bcx9ahp1f7p062bn2lwji"; depends=[]; }; + RECSO = derive { name="RECSO"; version="1.0"; sha256="1ipjfxk58wkrq6a0nqrg9b734xj1qa8xnr44xigbpjrpdqd5j3lm"; depends=[]; }; + REdaS = derive { name="REdaS"; version="0.9.0"; sha256="0xs27ryiy1rvj23w2p9ms87knq5hz4sqmxm0lqikbap3knm2n7zb"; depends=[]; }; + REEMtree = derive { name="REEMtree"; version="0.90.3"; sha256="01sp36p12ky8vgsz6aik80w4abs70idr9sn4627lf94r92wwwsbc"; depends=[nlme rpart]; }; + ref = derive { name="ref"; version="0.99"; sha256="0f0yz08pqpg57mcm7rh4g0rbvlcvs5fbpjkfrq7fmj850z1ixvw0"; depends=[]; }; + referenceIntervals = derive { name="referenceIntervals"; version="1.0"; sha256="0s0wxnykzp4ysg3x9jhyvpwv0wnldggs44aiqi1rm7774vgnla9h"; depends=[boot extremevalues]; }; + RefFreeEWAS = derive { name="RefFreeEWAS"; version="1.2"; sha256="1xa75nigk683084f4c43v1gvlgpdhzw58ij1rs78m45y5hbsmagn"; depends=[isva]; }; + refGenome = derive { name="refGenome"; version="1.2.0"; sha256="038v9pwh8fra31l14bwb2kyilmc9kqbvb9s1c0d79yxkx6znjc49"; depends=[RSQLite doBy]; }; + RefManageR = derive { name="RefManageR"; version="0.8.1"; sha256="0rih1g7kw7c5cg37qh704wwniyi6ralrr2pqg8qwalq3pxc3y1qz"; depends=[XML RCurl RJSONIO plyr bibtex lubridate stringr]; }; + refund = derive { name="refund"; version="0.1-9"; sha256="0yrjw2s1z8qa2zzasbiklvzs34zrhkj7iygi7bnp617fwvfj7jqs"; depends=[lattice boot mgcv fda MASS glmnet magic nlme wavethresh Matrix gamm4 matrixStats lme4 RLRsim]; }; + RegClust = derive { name="RegClust"; version="1.0"; sha256="1d9w74phw4fgafglc18j7dpmln96fvxnf1kdc9zddgj90p8yfx63"; depends=[]; }; + REGENT = derive { name="REGENT"; version="1.0.5"; sha256="1id1bkrr0q1nwja8y7glb5wsq1hkx6gf1d09vbmfl62hslqblqn8"; depends=[]; }; + registry = derive { name="registry"; version="0.2"; sha256="1ifv9sql70kylfj12cdb1j1zpk3ix728m8qj46sf1zyc5mhll01s"; depends=[]; }; + reglogit = derive { name="reglogit"; version="1.2-2"; sha256="0nq60s8l860z6nd52l6c77vamis7hl2j667gkxry0jir2pxsk4jp"; depends=[mvtnorm boot Matrix]; }; + regpro = derive { name="regpro"; version="0.1.0"; sha256="0d47ffsqx1633pmf3abi7wksyng2g71mz2z9nb2zqdak794l1n44"; depends=[denpro]; }; + regress = derive { name="regress"; version="1.3-10"; sha256="1vfy8ynxcpans2xw74iax5gxfdj9ql41cbcp2rcp1q0zq099hhh1"; depends=[]; }; + regRSM = derive { name="regRSM"; version="0.4"; sha256="1rg74jqj8rw69q6my0n4alflx7mgfwng35ff72bxwjhn9ghhj347"; depends=[]; }; + regsubseq = derive { name="regsubseq"; version="0.12"; sha256="0879r4r8kpr8jd6a3fa9cifm7cv0sqzz8z1alkm1b2fr1625md3g"; depends=[]; }; + regtest = derive { name="regtest"; version="0.05"; sha256="1wrrpp2hvkas0yc512gya3pvd0v97pn4v51k5jxkwyd1pp68zd1q"; depends=[]; }; + rehh = derive { name="rehh"; version="1.11"; sha256="1fvcwi9ijj886aswphblkxzgivmk76gr1m3s6zqblcbybxypm5cg"; depends=[gplots]; }; + rela = derive { name="rela"; version="4.1"; sha256="00ksm7zh1mpd2d5c5d823id3sxj0h3x0ccg6a40fadibvr1ay3ny"; depends=[]; }; + relaimpo = derive { name="relaimpo"; version="2.2-2"; sha256="1rxjg2yw2gyshaij98w83cshxwscnq3ql7bg13n7v4nbjsi1l6zh"; depends=[MASS boot survey mitools corpcor]; }; + relations = derive { name="relations"; version="0.6-3"; sha256="1hw6g297h2az5f97q2rr3f6mb9d681wrgl9p8f2q1z3ww39b5vgw"; depends=[cluster slam sets]; }; + RelativeRisk = derive { name="RelativeRisk"; version="1.1-1"; sha256="0ag7mdkrzixf334jfrkhkdzhsh90zzx013yih0fw3fywmy5h7lfk"; depends=[]; }; + relax = derive { name="relax"; version="1.3.15"; sha256="0cgvxw3pmy9kx8p81bb5n5nnbn6l9hm07k6hdy7p2j2gl15xxnpq"; depends=[]; }; + relaxnet = derive { name="relaxnet"; version="0.3-2"; sha256="1l83rk7r4vkcxbfljmibzm8lzpx0vf406hv4h5cy9x0k3rz2bfh0"; depends=[glmnet]; }; + relaxo = derive { name="relaxo"; version="0.1-2"; sha256="1rzmq7q3j271s6qwwrmwidv0vxcjpgjhyiqgr6fkczkai2lbnd8x"; depends=[lars]; }; + reldist = derive { name="reldist"; version="1.6-2"; sha256="0f5l74jmk8jxi43jyjxjv9cklk8359drjkjipz7972dm3a7i4rmw"; depends=[]; }; + relevent = derive { name="relevent"; version="1.0-3"; sha256="054x4kmc0h0s6a4svjqawy52sllzmaca46q6abnr5qhdzzmfh21n"; depends=[trust sna]; }; + Reliability = derive { name="Reliability"; version="0.0-2"; sha256="12zsicgbjqih3grbs62pw37x8wlkmnyc7g0yz6bqnfb4ym2yb7fg"; depends=[]; }; + ReliabilityTheory = derive { name="ReliabilityTheory"; version="0.1.1"; sha256="0sfwax1qhjrwc5cy2yiycpppkzgs36wils23x3k6hjpzi3ybspn1"; depends=[igraph sfsmisc combinat FRACTION mcmc PhaseType actuar HI]; }; + reliaR = derive { name="reliaR"; version="0.01"; sha256="000nafjp386nzd0n57hshmjzippiha6s6c4nfrcwl059dzmi088i"; depends=[]; }; + relimp = derive { name="relimp"; version="1.0-3"; sha256="1isn2ns3qiz985wrg7992dmmqxwdq75a9yhfqnb64xhnzzpcpszq"; depends=[]; }; + relSim = derive { name="relSim"; version="0.1-47"; sha256="13asl14f3547nl50jwrk72pbm2vx140k27gz3b38j28cpmvi03mz"; depends=[DNAtools]; }; + relsurv = derive { name="relsurv"; version="2.0-4"; sha256="1da3sj7hks5azm18m23fh8r2g02p0nivgilayndxwwvd1i70ycrx"; depends=[survival date MASS]; }; + remix = derive { name="remix"; version="2.1"; sha256="0s1gaf7vj08xd4m7lc9qpwvk0mpamabbxk71970mfazx6hk24dr0"; depends=[plyr survival Hmisc ascii]; }; + rEMM = derive { name="rEMM"; version="1.0-8"; sha256="1d8nwranqfvr9c0g2ny7akawgqk5hjnr1mclk87gmbmwn9iwik34"; depends=[proxy MASS clusterGeneration igraph]; }; + remMap = derive { name="remMap"; version="0.1-0"; sha256="03jbrnk8nbaj6l8g428il5h6p2sszndd2bl4rvg8347pw7cp4kk1"; depends=[]; }; + Renext = derive { name="Renext"; version="2.1-0"; sha256="19920kb3qd97vm285zbxqarpq8dyyrx1k6sks990xjbgpy7vyj3y"; depends=[evd numDeriv]; }; + RenextGUI = derive { name="RenextGUI"; version="1.0-2"; sha256="0ghs8bwb6qdyvhghxvdy51cibylgm7bdbzgqsn1nbxam39yhvfv9"; depends=[gWidgets gWidgetstcltk Renext]; }; + rentrez = derive { name="rentrez"; version="0.2.3"; sha256="0z25wbsf435izmhrsrrjc5dhx583x0ayhmp3398jqd3k9y0i7saz"; depends=[RCurl XML]; }; + Reol = derive { name="Reol"; version="1.55"; sha256="0147x3fvafc47zd2chgv3b40k480pcjpji8vm1d741i1p6ml448p"; depends=[XML RCurl ape]; }; + Reot = derive { name="Reot"; version="0.1.0"; sha256="0kpp5mg7dpfas77mw95ryfknjvdx7vwah42dip1kgyy7sxqqhn3h"; depends=[Rcpp raster foreach]; }; + RepeatedHighDim = derive { name="RepeatedHighDim"; version="2.0.0"; sha256="1n9w4jb25pm0mmsahlfhkp9jmhgp5b21l1g85gm2wbxqkjsg7g0g"; depends=[MASS nlme]; }; + repfdr = derive { name="repfdr"; version="1.0"; sha256="1rscfbnq739al5pac1y9szjw2g6f9z6qimkvhrkn9xfchjw3jvky"; depends=[locfdr]; }; + repmis = derive { name="repmis"; version="0.2.8"; sha256="0g3k886x14hb0vih3rwv1rm1fjblsb21i7ixghj5c36h2a6d9a6q"; depends=[digest httr plyr R_cache]; }; + repolr = derive { name="repolr"; version="2.0"; sha256="10wg07sfxcxzswf3zh5sx2cm9dxjx11zymy82a4q9awnacb5gp9b"; depends=[gee]; }; + ReporteRs = derive { name="ReporteRs"; version="0.5.2"; sha256="0jigylskv8k7610qpwchf60bf50bcxpdziw8dpqmff41q24wwj1h"; depends=[ReporteRsjars rJava base64 highlight]; }; + ReporteRsjars = derive { name="ReporteRsjars"; version="0.0.1"; sha256="0y2kzlyw2yf65jvawrvwwqhwwp0yw3ssx8y4jwkcyqn66b6gzh8j"; depends=[rJava]; }; + reportr = derive { name="reportr"; version="1.1.2"; sha256="0lxnmay9vgg7dsa3scszx3v4lb6m3bv6kjl0dk7hrl7bd67azdrk"; depends=[]; }; + reportRx = derive { name="reportRx"; version="1.0"; sha256="0npiflql0lq8sqp6xgydxbw7xdr0zdxj1s2h4bnpmn4clc05r7m4"; depends=[reshape survival xtable aod cmprsk geoR stringr]; }; + reports = derive { name="reports"; version="0.1.2"; sha256="14w9dlhvk4080sq03ad3dhcww7c213f8ygbnxm7kxcpk36j71yjn"; depends=[knitr knitcitations]; }; + reporttools = derive { name="reporttools"; version="1.1.1"; sha256="0cnxzq679f860z063j3pbm2c5qcaz45g73khj9rdp3if0cci8ikj"; depends=[xtable]; }; + REPPlab = derive { name="REPPlab"; version="0.2"; sha256="1d3mb4mi17xlvyw9dgrcad6gfnyk0v1s0safxqyarm4xmh1bppzw"; depends=[rJava lattice]; }; + represent = derive { name="represent"; version="1.0"; sha256="0jvb40i6r1bh9ysfqwsj7s1g933d7z5fq9d618yjrqr6hbbqsvac"; depends=[]; }; + REQS = derive { name="REQS"; version="0.8-12"; sha256="049glqhc8h8gf425kmj92jv70917dsigpm37diby0c6hb4jrg8ka"; depends=[gtools]; }; + resample = derive { name="resample"; version="0.2"; sha256="1p6hyd0wi037bsz0xd9gkw28sp4nkj1zmqs9h0lzkxbspn6h0q7j"; depends=[]; }; + resemble = derive { name="resemble"; version="1.1.1"; sha256="0mz5mxm6p1drfx2s9dx35m2bnvirr8lkjjh5b4vdk9p2cdv1qkkv"; depends=[RcppArmadillo foreach iterators pls Rcpp]; }; + reshape = derive { name="reshape"; version="0.8.5"; sha256="08jm9fb02g1fp9vmiqmc0yki6n3rnnp2ph1rk8n9lb5c1s390f4k"; depends=[plyr]; }; + reshape2 = derive { name="reshape2"; version="1.4"; sha256="0i3bim4clwyfdwwrmszsn9ga5gm4a2sh1i0jmpji3afbxc151yjp"; depends=[plyr stringr Rcpp]; }; + reshapeGUI = derive { name="reshapeGUI"; version="0.1.0"; sha256="0kb57isws8gw0nlr6v9lg06c8000hqw0fvhfjsjyf8w6zwbbq3zs"; depends=[reshape2 plyr gWidgets gWidgetsRGtk2]; }; + ResistorArray = derive { name="ResistorArray"; version="1.0-28"; sha256="055zr4rybgrvg3wsgd9vhyjpvzdskrlss68r0g7rnj4yxkix0kxz"; depends=[]; }; + ResourceSelection = derive { name="ResourceSelection"; version="0.2-3"; sha256="0mhm8klc9bgf443gmx7zrc3vlclsygmb2al6glp2yd2awzfnn27a"; depends=[]; }; + restlos = derive { name="restlos"; version="0.1-2"; sha256="14nbi8xqjs9plkzamg0ja1mx7klpbnnglk7p2nipz551b0nmzn7i"; depends=[som rgl ade4 geometry nnclust]; }; + restorepoint = derive { name="restorepoint"; version="0.1.5"; sha256="0xmpxprirnd1yavwk3vkc0cp715d187mn0amppya7kd47iw10wsy"; depends=[]; }; + retimes = derive { name="retimes"; version="0.1-2"; sha256="019sllyfahlqnqry2gqw4w5cy4cavrqnwpwrbb25cgjpdb19raja"; depends=[]; }; + reutils = derive { name="reutils"; version="0.1.2"; sha256="0f2c6zxk6x2plq649b1ml6b112j6y8ys074pn30yw35ncg3h86fa"; depends=[assertthat RCurl XML]; }; + review = derive { name="review"; version="2.5"; sha256="0qk4n6g0hp49rjqhpipgja777namdafk6yf4kcxdld1cghdikw31"; depends=[XML Hmisc]; }; + reweight = derive { name="reweight"; version="1.2.1"; sha256="0fv7q1zb3f4vplg3b5ykb1ydwbzmiajgd1ihrxl732ll8rkkfa4v"; depends=[]; }; + rexpokit = derive { name="rexpokit"; version="0.24.1"; sha256="143zi6qb0l8vbx87jf58v1zfxqmvv6x4im1knd6q4dpp9gffqs22"; depends=[SparseM Rcpp]; }; + Rfacebook = derive { name="Rfacebook"; version="0.4"; sha256="0f5wbd16a7wsw1fpficz6i2vrwyw3n75a1qm4dv5181jr6ik492p"; depends=[httr rjson]; }; + rFerns = derive { name="rFerns"; version="0.3.3"; sha256="0d0zkqqqv9l71a5bjps1m69mrpqxkzs77zlf6kbg70b053dzhiph"; depends=[]; }; + RFGLS = derive { name="RFGLS"; version="1.1"; sha256="13ggxj74h5b2hfhjyc50ndxznkvlg18j80m78hkzwh25d3948fsk"; depends=[bdsmatrix Matrix]; }; + rfigshare = derive { name="rfigshare"; version="0.3-1"; sha256="10vjw3r4jwbbk3z9cm83k3hkg9vr6kh41d9h7cbxdw7v6d2mlc7f"; depends=[RJSONIO httr plyr yaml ggplot2 XML]; }; + R_filesets = derive { name="R.filesets"; version="2.4.0"; sha256="1970x41g7wxspslfijmx021z06s3lfw5wz0mr8h5bk1y8sj0gsvk"; depends=[R_oo R_methodsS3 R_utils R_cache digest]; }; + RFinanceYJ = derive { name="RFinanceYJ"; version="0.3.1"; sha256="0qhmzsch7c2p0zckjkspsajzh8m10cf75ixjlgd0nj8rm41fngm3"; depends=[XML xts]; }; + rfishbase = derive { name="rfishbase"; version="0.2-2"; sha256="09pa5zpw9rclf5pqj1wjjhdcblca9sm9xcs9ka3xfa7azj7n9ljd"; depends=[XML RCurl]; }; + rfisheries = derive { name="rfisheries"; version="0.1"; sha256="1g0h3icj7cikfkh76yff84hil23rfshlnnqmgvnfbhykyr2zmk61"; depends=[httr data_table assertthat ggplot2 rjson]; }; + Rfit = derive { name="Rfit"; version="0.17"; sha256="1gl7hf5qdk0s9pb2wwzwyn81wyw7vk2d892ppnaf3c076b7gfvjh"; depends=[quantreg]; }; + RFLPtools = derive { name="RFLPtools"; version="1.5"; sha256="0j3cdjibmdhg1qsmbpw7zbw9jz6gy662z28849xsr7gppzm08xbw"; depends=[RColorBrewer]; }; + RfmriVC = derive { name="RfmriVC"; version="1.0.4"; sha256="15bzpwi01gb580wl0flvp7pwqf1sgk6fsdmfq4cqaprb979js79f"; depends=[mvtnorm mgcv Rniftilib]; }; + RFOC = derive { name="RFOC"; version="3.3-3"; sha256="101d7nf4zjni5kdk54w3afdaqnjzl7y90zygybkqpd0vi82q602b"; depends=[RPMG GEOmap RSEIS MASS splancs]; }; + RForcecom = derive { name="RForcecom"; version="0.7"; sha256="0rjav2rwanzqgi1yasbm9lj18f0mfxwd8w8x41skf656gfcpi0i4"; depends=[XML RCurl plyr]; }; + rforensicbatwing = derive { name="rforensicbatwing"; version="1.1"; sha256="0nfqjnnky8gc4i9sfnnkxhc1n82hcbl9k68d8x8pclk57mbsqggi"; depends=[Rcpp]; }; + rfPermute = derive { name="rfPermute"; version="1.5.2"; sha256="0pgi603c9izlhvadjw32sf4z449fnd4lbdszn3x24cvzpy4p94wg"; depends=[randomForest ggplot2 gridExtra]; }; + RFreak = derive { name="RFreak"; version="0.3-0"; sha256="1dmllxb6yjkfkn34f07j2g7w5m63b5d10lh9xsmxyfk23b8l3x0x"; depends=[rJava]; }; + rgabriel = derive { name="rgabriel"; version="0.7"; sha256="1c6awfppm1gqg7rm3551k6wyhqvjpyidqikjisg2p2kkhmyfkyzx"; depends=[]; }; + rgam = derive { name="rgam"; version="0.6.3"; sha256="0mbyyhhyr7ijv2sq9n7g0vaxivngwf4nbb5398xpsh7fxvgw5zdw"; depends=[Rcpp]; }; + rGammaGamma = derive { name="rGammaGamma"; version="1.0.12"; sha256="1051ah6q11qkxj1my4xybbzc8xcqkxfmps8mv2his5cyfllwidbs"; depends=[gsl]; }; + rgauges = derive { name="rgauges"; version="0.2.0"; sha256="0p42hh32wcjcchsalpsan52kvz6nd1gw28xnydqgfzkzcqkl22dd"; depends=[ggplot2 lubridate plyr httr reshape2 gridExtra scales data_table]; }; + rgbif = derive { name="rgbif"; version="0.6.2"; sha256="1833f7zks2sbsavpzn0b1npyhxx07486ns3d28g2id9q4yhz5zan"; depends=[XML RCurl plyr ggplot2 maps httr maptools rgdal rgeos RJSONIO data_table stringr assertthat]; }; + Rgbp = derive { name="Rgbp"; version="1.0.6"; sha256="1j4j7g9z7p592f82k0yvibrydynkd9v1ldil2vf3ikc650bn2l02"; depends=[sn]; }; + RGCCA = derive { name="RGCCA"; version="2.0"; sha256="0mcp51z5jkn7yxmspp5cvmmvq0cwh7hj66g7wjmxsi74dwxcinvg"; depends=[MASS]; }; + rgcvpack = derive { name="rgcvpack"; version="0.1-4"; sha256="1vlvw9slrra18qaizqk2xglzky0i6z3bsan85x908wrg8drss4h5"; depends=[]; }; + rgdal = derive { name="rgdal"; version="0.8-16"; sha256="17qk7kd0l0l52nyf6drr0gv4b0ibkggyn6g3ky9flsjy05b3wg8j"; depends=[sp]; }; + RGENERATE = derive { name="RGENERATE"; version="1.0"; sha256="17i9d4imv9fb2g2hvm2k35rhywym923niqy9fq4i88rfahn1c3j0"; depends=[RMAWGEN]; }; + RGenetics = derive { name="RGenetics"; version="0.1"; sha256="0x5sspd67hh08qm62whlnnd838m0np29q3bfzgwp6j85lhil3jrx"; depends=[]; }; + rgenoud = derive { name="rgenoud"; version="5.7-12"; sha256="17gzkn4laylnksy8h2w8c0whcxpchsx7bwjzk1q5sfqxswclqq0g"; depends=[]; }; + rgeos = derive { name="rgeos"; version="0.3-4"; sha256="13r09ihjlwg6scg0by79b73zcqac59x654azms1m80pg0gs30lsr"; depends=[sp]; }; + rgexf = derive { name="rgexf"; version="0.14.3.11"; sha256="16mil1csyzkaywcdrjzz5r60n4xhhinxawg30skc7d9awkf26qfa"; depends=[XML Rook igraph]; }; + rggobi = derive { name="rggobi"; version="2.1.20"; sha256="1a7l68h3m9cq14k7y96ijgh0iz3d6j4j2anxg50pykz20lnykr9g"; depends=[RGtk2]; }; + RGIFT = derive { name="RGIFT"; version="0.1-5"; sha256="1745fs4bq0ss39fiwljspvrmnkgbbpc1fjvhvcrsmp2iizq12sgn"; depends=[]; }; + rgl = derive { name="rgl"; version="0.93.996"; sha256="1p0yx1iwfqcppb5ndwg97wki8jcj370afrpp33bk9fdl6nqvhlhc"; depends=[]; }; + Rglpk = derive { name="Rglpk"; version="0.5-2"; sha256="1wvg5gv9qjkj22sn1y2ipizs89537n5wd8m0mh4y3w5g4n6rr02j"; depends=[slam]; }; + Rgnuplot = derive { name="Rgnuplot"; version="1.0.1"; sha256="1yag6ip2ppclhnpfc3mn6bsaylv2lk2k3jr8wgrgzrb7z22p7dk8"; depends=[]; }; + RgoogleMaps = derive { name="RgoogleMaps"; version="1.2.0.6"; sha256="1kd77617j2dz3dqjskv71vj8xv0yjgcysrpw7a615s0ys2hs91wp"; depends=[png RJSONIO]; }; + rgp = derive { name="rgp"; version="0.4-0"; sha256="0qm1vwx06076i5xywkxdi5c7i58rv94xkkl1dxsb3dg1syssv422"; depends=[emoa]; }; + rgpui = derive { name="rgpui"; version="0.1-1"; sha256="0hp1z00n6jzi45j61hlp5qj26wpjvbzjz3nvpxvmcjdmkk3vjfyp"; depends=[rgp shiny emoa]; }; + rgr = derive { name="rgr"; version="1.1.9"; sha256="1fs8f0g1wm6virwjzlgabp1i89n8jpdiwnkvk5w1lggs36xc8q59"; depends=[MASS fastICA]; }; + RGraphics = derive { name="RGraphics"; version="2.0-7"; sha256="0xf67gqfz41zp3474rq4v64nsyzxc001yzlgq754ps25c4w525nc"; depends=[lattice ggplot2]; }; + rgrs = derive { name="rgrs"; version="0.3"; sha256="19whlp3i0jps4pdif03h6z79zliw4shiqh7ackhk2gwq5c28jsql"; depends=[questionr]; }; + RGtk2 = derive { name="RGtk2"; version="2.20.27"; sha256="12ks3j1q8qzp4k4gyn34zzy5ac3rbdimagrkxb46qb4s3hn4x3b5"; depends=[]; }; + RGtk2Extras = derive { name="RGtk2Extras"; version="0.6.1"; sha256="19gjz2bk9dix06wrmlnq02yj1ly8pzhvr0riz9b08vbzlsv9gnk2"; depends=[RGtk2]; }; + RH2 = derive { name="RH2"; version="0.1-2.12"; sha256="1ig9yxpaza7lm0b20sp7jr024hp284c0zs3k06k3k1vw1dyw60fj"; depends=[chron RJDBC]; }; + rHealthDataGov = derive { name="rHealthDataGov"; version="1.0.0"; sha256="15qk52bf389hlv9aihwc8398s989gw0r48909g45ipdhxala4a8a"; depends=[bit64 httr jsonlite]; }; + Rhh = derive { name="Rhh"; version="1.0.2"; sha256="0blxim8yrb0qnbkc1z2q24q6ryakggq2zhaa223swla99ahmsny3"; depends=[]; }; + RHive = derive { name="RHive"; version="2.0-0.0"; sha256="0r49irdwigxxqniidx7i3j7si8bw7zklw3n4zvhcmzfkvx0al91n"; depends=[rJava]; }; + RHmm = derive { name="RHmm"; version="2.0.3"; sha256="1mnsqkg419d1z0kyxpjj9md3aammvw0xfrd7dwymii2ql050v47b"; depends=[MASS nlme]; }; + rhosp = derive { name="rhosp"; version="1.05"; sha256="1d1a4dc8hgvjmfb21s7j19yadbi1a9qp06prd80izbhvj2hni573"; depends=[]; }; + Rhpc = derive { name="Rhpc"; version="0.14-78"; sha256="136xld0k99nlgmg6p5dcr882f2r11b0bahh57swwcfi9nfqw3zaz"; depends=[]; }; + RhpcBLASctl = derive { name="RhpcBLASctl"; version="0.14-72"; sha256="0417d8lvwhnfniq41wlcl642z01nv3mhzj9fyb5hlg5vafqpmp8n"; depends=[]; }; + rHpcc = derive { name="rHpcc"; version="1.0"; sha256="0096z90mmf1j2xpb9034a5ph52m8z6n6xjh3km2vrhw63g3cpwap"; depends=[RCurl XML]; }; + RHRV = derive { name="RHRV"; version="4.0"; sha256="16xmmmw8gsqalbqf59xwpkd2bkfwxrdx8bwdn875bizx7mn0bql7"; depends=[tkrplot waveslim nonlinearTseries]; }; + RHT = derive { name="RHT"; version="1.0"; sha256="1gxf8nhj3y92h8al7l3fxa45wc568kb3cykrbdjlsy2zjacf7fcc"; depends=[]; }; + R_huge = derive { name="R.huge"; version="0.8.0"; sha256="00iiz1q6a5ywsidiwy6lnxjw0ig75ri914dqr7cbfccdf66fb840"; depends=[R_methodsS3 R_oo R_utils]; }; + ri = derive { name="ri"; version="0.9"; sha256="00y01n9cx95bjhdpnh7vi0xd5p6al3sxbjszbyxafn7m9mygmnhv"; depends=[]; }; + rich = derive { name="rich"; version="0.3"; sha256="122xb729xlm8gyb7b3glw4sdvrh98wh89528kcbibpx83bp3frc0"; depends=[boot vegan permute]; }; + ridge = derive { name="ridge"; version="2.1-3"; sha256="0pdmybygf730dw73a5ncl9fw3kjnnpqqkanqxi97aj9n4cfcjn7z"; depends=[]; }; + RidgeFusion = derive { name="RidgeFusion"; version="1.0-2"; sha256="1izhq9vqj9kca3ddk91f5h8351qr3cnwig9i7d76rhlzawrl7ch9"; depends=[mvtnorm]; }; + Ridit = derive { name="Ridit"; version="1.1"; sha256="02cni6hzf1bsns7vi8vklnhc0pfb5vwqhjnnfnjnnaxpzpsbvdfn"; depends=[]; }; + RIFS = derive { name="RIFS"; version="0.1-5"; sha256="0705dhirh7bhy2yf3b1mpk3m7lggg4pwy640lvaspwaxkd6zac5w"; depends=[]; }; + RIGHT = derive { name="RIGHT"; version="0.1.2"; sha256="047g6gymrfzccnp56pvvk3s2r19p1czm9pjmpdn3fnx13d8lalaz"; depends=[shiny]; }; + RImageJROI = derive { name="RImageJROI"; version="0.1"; sha256="06x8p8wpzmsc6f2330m74x4dmh21dn0gqicand2l198knahp3kf7"; depends=[spatstat]; }; + RImpala = derive { name="RImpala"; version="0.1.2"; sha256="0gg71zw9silq4j6zhhqzj5qvxv12mm6s7bl5kjn1i7ds93ixbfxn"; depends=[rJava]; }; + rinat = derive { name="rinat"; version="0.1.1"; sha256="148hi13ax8fl853k3chv63aq5l2a3k5m0midyii3l9nfzqrc5g8n"; depends=[httr plyr jsonlite ggplot2 maps]; }; + rindex = derive { name="rindex"; version="0.12"; sha256="1k9zihvrp955c4lh70zjlsssviy2app8w6mv5ln4nawackbz0six"; depends=[regtest]; }; + ringbuffer = derive { name="ringbuffer"; version="1.1"; sha256="1jj6zdvqlkc30bnxapg0sjl5ci5kq76611smqc4jc8adzhzwrh3f"; depends=[]; }; + ringscale = derive { name="ringscale"; version="0.1.2"; sha256="1gnnapkvxmkfws8dw41gj9h3svy3h6mi4zv413aykg9vrmy7d3rp"; depends=[FITSio]; }; + RInside = derive { name="RInside"; version="0.2.11"; sha256="09j4dpv30pp0q3h129ig15xxlp8yzxnk122iica4nv88niabjcaa"; depends=[Rcpp]; }; + RInSp = derive { name="RInSp"; version="1.0"; sha256="154ibjx5xyibaw8hhdh4hw5rbmwp340bplvz1174n6svg2dpl542"; depends=[]; }; + rio = derive { name="rio"; version="0.1.2"; sha256="0h80msbj1qcc9m4408qcckw238ydqdzzgr9frlmmc7qi4dyba4i4"; depends=[stringr foreign testthat]; }; + rioja = derive { name="rioja"; version="0.8-5"; sha256="0x5384v523mmqj012c32nna6lznbj6pl1n4wdkx19r07liwjg5y4"; depends=[vegan]; }; + risaac = derive { name="risaac"; version="0.1"; sha256="1ndqxlq4l48iiaghx897bhr7q56csbia7y1a98fic8hzfp03811r"; depends=[]; }; + riskRegression = derive { name="riskRegression"; version="0.0.8"; sha256="0bjxwj4wrlcqkm1zf25p39h3jwf0f11zspzsk4b41axr3adlvmdw"; depends=[prodlim rms pec rms cmprsk survival]; }; + risksetROC = derive { name="risksetROC"; version="1.0.4"; sha256="1fh0jf8v536qzf1v3awx3f73wykzicli4r54yg1z926ccqb4h80l"; depends=[survival MASS]; }; + RISmed = derive { name="RISmed"; version="2.1.2"; sha256="1hi22sf6g047m2bq9yh6bwvi1x8bjw12vslfp6iyrim0w2pk96m1"; depends=[]; }; + Ritc = derive { name="Ritc"; version="1.0.1"; sha256="1h41s4jihzj0yj8xyan0zhhyyiq8m5567vw4gvmmr81p1qfzvva8"; depends=[minpack_lm]; }; + rite = derive { name="rite"; version="0.3.1"; sha256="0z12jxbmis9l82y0l98gf8hyxfwasj5lpznkmi8kwvvya3jw5ypf"; depends=[tcltk2 RCurl]; }; + RItools = derive { name="RItools"; version="0.1-11"; sha256="08fhyzxszfpsdf3mfk3damwzf2rz5x470jaxsr0fk48c5gps57bj"; depends=[lattice SparseM xtable]; }; + riv = derive { name="riv"; version="2.0-4"; sha256="1c9k62plqgxcgcm2j1s26hqvgww96n6bfjz2yk7m3p2wf8gkkyam"; depends=[MASS rrcov quantreg]; }; + riverplot = derive { name="riverplot"; version="0.2"; sha256="160xy3q7a7qfabambhq0h3mrx8wbiv88xvcfzkya3fkq5nac22c5"; depends=[]; }; + rivervis = derive { name="rivervis"; version="0.38.3"; sha256="1zyw9z66j5ylikxd955b2r9f3176j565is3z52xsx64gwdc1sd4a"; depends=[]; }; + Rivivc = derive { name="Rivivc"; version="0.9"; sha256="0gl3040pp9nqm4g2ympnx80z64zfnn1hfsxka8ynd2cqhjn3b5i1"; depends=[signal]; }; + RJaCGH = derive { name="RJaCGH"; version="2.0.2"; sha256="1fy8wsnv7diwg2w7j61scm6vd35a5jb36i9pzh5m7jz6yqsank50"; depends=[]; }; + rjags = derive { name="rjags"; version="3-13"; sha256="0npfyphi8z25h7w4frplbyjgib1gawz7ib9gz5w6h2i0pricm53r"; depends=[coda]; }; + rJava = derive { name="rJava"; version="0.9-6"; sha256="008g6s6rcb5lnz5y2a2rs4iq85a4nl522g714s1w1r153qcc0jz0"; depends=[]; }; + rJavax = derive { name="rJavax"; version="0.3"; sha256="0sv2fjinp4wmdfvcpgm4hv8v3fkiiv84ywqyr4hz86j50ncd79km"; depends=[rJava]; }; + RJDBC = derive { name="RJDBC"; version="0.2-3"; sha256="189cps0lvk756pcjx1xcigkchvahzp074f8973nx36q5s52pry0q"; depends=[DBI rJava]; }; + rje = derive { name="rje"; version="1.7"; sha256="0p94nbcy0v83k0xbmqzg907iy4hkyjlnjm5v8d5b6asxwp3775r4"; depends=[]; }; + Rjms = derive { name="Rjms"; version="0.0.5"; sha256="0bb07wynvk07p8i5x87hlxfavjs5wf5gasfggyjxycr54sphlg6z"; depends=[rJava Rjmsjars rJava Rjmsjars]; }; + Rjmsjars = derive { name="Rjmsjars"; version="0.0.1"; sha256="0xi42p1wgp7f15j3b74zisf0xrz86kgyn5anq3x5ahyb9cfrnmqx"; depends=[rJava rJava]; }; + rJPSGCS = derive { name="rJPSGCS"; version="0.2-6"; sha256="1x6mwy6232kjl8ssvkbamhfvxsc3rqbjsrlrprj0bprssm3pcr2g"; depends=[rJava]; }; + Rjpstatdb = derive { name="Rjpstatdb"; version="0.1"; sha256="0iwgsp3mblp7bsx88wfpqn09y1xrkingfkm3z9jsi2bwrnrjc2iv"; depends=[RCurl XML]; }; + rjson = derive { name="rjson"; version="0.2.13"; sha256="0p04rlqn8y8ibk7r2f5q4hzapmqmphkf2hlsd1fjj8mj4ppr7kr4"; depends=[]; }; + RJSONIO = derive { name="RJSONIO"; version="1.2-0.2"; sha256="1rg74ja9v6apwbk5fn8f91yfgz7ffdcs3fbcxbvqsjzqm7pcc7mq"; depends=[]; }; + RJSONLD = derive { name="RJSONLD"; version="1.0.3"; sha256="17myzigzmn6hd0fbzm7h4n65aiighklrzfr3irg1520aa35s6214"; depends=[RJSONIO formula_tools stringr lmtest]; }; + rJython = derive { name="rJython"; version="0.0-4"; sha256="13fpcw37cca738v9idqgi3gv9avfkfwfacxj54p2c4wyg46ghnah"; depends=[rJava rjson]; }; + RKEA = derive { name="RKEA"; version="0.0-3"; sha256="0srjb8n2q2hv246q2mg9fzki121rk56sgxc6qk35bszy80f8yr5j"; depends=[rJava tm]; }; + rknn = derive { name="rknn"; version="1.2"; sha256="1c92cv3462f00p237fkh06hl66j912ssiav4hpc4jphvs01g30kz"; depends=[gmp]; }; + Rknots = derive { name="Rknots"; version="1.2.1"; sha256="1qv7l4c3n3zyz2s5whl5chi5yfb1j67kihk1c8gpjl291axmmi8w"; depends=[rgl rSymPy]; }; + rkt = derive { name="rkt"; version="1.3"; sha256="0d82id22xac84l5iqls0mlg1g9yn4hhkmf4ln7xlp0zinmmhym9m"; depends=[]; }; + Rlab = derive { name="Rlab"; version="2.15.1"; sha256="1pb0pj84i1s4ckdmcglqxa8brhjha4y4rfm9x0na15n7d9lzi9ag"; depends=[]; }; + Rlabkey = derive { name="Rlabkey"; version="2.1.123"; sha256="0jz8x3n6byxmb10jcrcyznyj3zwab3bkp2g52n707w2jv0xvn8l5"; depends=[RCurl rjson]; }; + rLakeAnalyzer = derive { name="rLakeAnalyzer"; version="1.3"; sha256="0f014z005nw0gr6h3k44v5446mqmvy6x90x1fis5rf0jviqhxwc3"; depends=[]; }; + rlecuyer = derive { name="rlecuyer"; version="0.3-3"; sha256="1n0vny3k5s5152y0ggz9vfn4bqay9ncbdzkw9g4703pszrbwq7xh"; depends=[]; }; + rLindo = derive { name="rLindo"; version="8.0.1"; sha256="05qyc4wvpjgw8jxmwn2nwybi695fjn0cdilkprwmjg07c82f0q5n"; depends=[]; }; + rlme = derive { name="rlme"; version="0.2"; sha256="1r92405mksiix3ngbjqxmbbxghacg1lwdmlv500k73aj336xs44i"; depends=[MASS quantreg nlme mgcv stringr magic]; }; + RLRsim = derive { name="RLRsim"; version="2.1-3"; sha256="1cvvr33pgcdrmia1ixdbq9bnfbd9kwa70zwxkqgh68192bgaizv9"; depends=[mgcv]; }; + RM2 = derive { name="RM2"; version="0.0"; sha256="1v57nhwg8jrpv4zi22fhrphw0p0haynq13pg9k992sb0c72dx70a"; depends=[msm]; }; + rmaf = derive { name="rmaf"; version="2.0"; sha256="00qhdfzbjvmz83nicl73yhx7w8sv6j7x928j4vd6ll79098x4y84"; depends=[]; }; + RMallow = derive { name="RMallow"; version="1.0"; sha256="0prd5fc98mlxnwjhscmghw62jhq9rj5jk8qf4fnaa2a718yxf9b5"; depends=[combinat]; }; + Rmalschains = derive { name="Rmalschains"; version="0.2-1"; sha256="1s48ryb3k4nakdb3r3qp6r6fykkx0hp57616jwr3256h9vlrar95"; depends=[Rcpp]; }; + RMark = derive { name="RMark"; version="2.1.7"; sha256="1634ajwvqw523w1wpzcs3bci4c68325yi3zvzf53ha6dmk39c3jm"; depends=[snowfall matrixcalc msm coda]; }; + rmatio = derive { name="rmatio"; version="0.9.0"; sha256="05dz0q3hjkfnblsnib5misxkn2fr891g0hsa2c4cxxqsgdzg6hbm"; depends=[Matrix lattice]; }; + R_matlab = derive { name="R.matlab"; version="2.2.3"; sha256="1wzck1shsr62syyq61y3b1mq7r5pgfppprkwvlg110my9x7cgg85"; depends=[R_methodsS3 R_oo R_utils]; }; + RMAWGEN = derive { name="RMAWGEN"; version="1.2.6.1"; sha256="1j8yb37sv2ycg3zgdj6hlxvlrsgvb9rh4yxd40bah2j1xgibr36z"; depends=[chron date vars]; }; + RMC = derive { name="RMC"; version="0.2"; sha256="1sc4nsjmaw2ajm8bka7r4mf73zxqhnvx23kl4v20pfpy9rhgd0h6"; depends=[]; }; + RMediation = derive { name="RMediation"; version="1.1.3"; sha256="07ck74dl1wwb88229fhkh2czlynddff7zvjyhisxk53qmdb0wvmw"; depends=[MASS lavaan e1071]; }; + RMendeley = derive { name="RMendeley"; version="0.1-2"; sha256="10w8gqjm5qw79sfa22r27ykyg3j0sj7qfg478hwspkswans565wy"; depends=[RJSONIO RCurl]; }; + RMessenger = derive { name="RMessenger"; version="0.1.4"; sha256="1y2zvd41rjd7khy4662zkkgy00lrk9kill57gnczrdgsyiwphivz"; depends=[Rcpp]; }; + rmeta = derive { name="rmeta"; version="2.16"; sha256="1s3n185kk0ddv8v6c7mbc7cpj6yg532r7is6pjf9vda7317rxywy"; depends=[]; }; + rmetasim = derive { name="rmetasim"; version="2.0.1"; sha256="18ri1j0ydw1syq33ydjqfk1blyifvg5a36zqhjkgmimdkpa5g1nz"; depends=[ape ade4 gtools]; }; + R_methodsS3 = derive { name="R.methodsS3"; version="1.6.1"; sha256="1c3f64bvnpxfb3k2g7z3a6qms36z0n2hflw5w5952c82jx10cl0x"; depends=[]; }; + rmgarch = derive { name="rmgarch"; version="1.2-6"; sha256="0fwmpadm1zlgdvja0b0ig9b971rzmicyvxi9i3gh2c49h8rg8s5j"; depends=[rugarch Rsolnp MASS Matrix zoo xts Bessel ff fftw shape pcaPP spd Rcpp]; }; + rminer = derive { name="rminer"; version="1.3.1"; sha256="0rwjv5i4lr9611lyq55ps2yna7zzarakdnbj83xfs0kva63xn7fh"; depends=[nnet kknn kernlab rpart plotrix lattice]; }; + Rmisc = derive { name="Rmisc"; version="1.5"; sha256="1ijjhfy3v91fspid77rrkc5dkcb2lav37wc3f4k5lwrn24wzy5y8"; depends=[lattice plyr]; }; + Rmixmod = derive { name="Rmixmod"; version="2.0.2"; sha256="1qv6zymkgsbplrq4aa87lvcsv75dssj8qqq2h9665v31jsgx84lr"; depends=[Rcpp]; }; + rmmseg4j = derive { name="rmmseg4j"; version="0.2-0"; sha256="1icc6a04hbqszzrs7sqp120v44g33rqgz2x926jvxvcishadnd90"; depends=[rJava]; }; + rmngb = derive { name="rmngb"; version="0.3-1"; sha256="04x4fr4zrg7ihx8v76w32g2iaxigmlcr2qbxyq17fq306b4g0m0c"; depends=[]; }; + RMongo = derive { name="RMongo"; version="0.0.25"; sha256="1anybw64bcipwsjc880ywzj0mxkgcj6q0aszdad6zd4zlbm444pc"; depends=[rJava]; }; + rmongodb = derive { name="rmongodb"; version="1.6.5"; sha256="0y7vj1ci5k19qdh7jznm4izsqj2v6hfjarxq31xdmymajwi171rs"; depends=[jsonlite plyr]; }; + Rmosek = derive { name="Rmosek"; version="1.2.5.1"; sha256="1ki28357ijwzzxyb820lsf8l5x2i46shar0v71k15hvf9jn0h7zm"; depends=[Matrix]; }; + rmp = derive { name="rmp"; version="1.0"; sha256="1g0785fwjbwbj82sir3n7sg3idsjzdhrpxc7z88339cv9g4rl7ry"; depends=[]; }; + Rmpfr = derive { name="Rmpfr"; version="0.5-4"; sha256="08mh9gp0cfaiqqds2sl5d1qd687lfby4ag834r5splpjzsx0sxs4"; depends=[gmp]; }; + Rmpi = derive { name="Rmpi"; version="0.6-3"; sha256="16i11bdys39dlfyc4my3dmhr0sw56pzaiz74v0kmlmpfamwdh7cd"; depends=[]; }; + rms = derive { name="rms"; version="4.2-0"; sha256="1kxifrypn6a0v2rbzhn3lch821d5w9qzj9rzvrsgac4fwskis65j"; depends=[Hmisc survival SparseM]; }; + rms_gof = derive { name="rms.gof"; version="1.0"; sha256="1n0h3nrp11f2x70mfjxpk2f3g4vwjaf4476pjjwy49smxxlxwz82"; depends=[]; }; + RMTstat = derive { name="RMTstat"; version="0.2"; sha256="1qp4msw8ikv6zr1j1ahxgwka7878v4av6zfqvj4j9w570v8afxvf"; depends=[]; }; + RMySQL = derive { name="RMySQL"; version="0.9-3"; sha256="1kmsrphzrk7a6f3i0pmpxlpj7w7yb5s2psx72lfv4zyd0aji83n1"; depends=[DBI]; }; + RnavGraph = derive { name="RnavGraph"; version="0.1.6"; sha256="15f4az5wcmg1fv1sl34523lwcqpz6dv63z6yvnhx8hdac5ry9biw"; depends=[]; }; + RnavGraphImageData = derive { name="RnavGraphImageData"; version="0.0.3"; sha256="1mrh0p2ckczw4xr1kfmcf0ri2h2fhp7fmf8sn2h1capmm12i1q8f"; depends=[]; }; + RNCBI = derive { name="RNCBI"; version="0.9.1"; sha256="1gvaizcm7ajblnxkqxvdalg5kws5kfa8186hw5rr7q3dc51gxm0i"; depends=[rJava XML RNCBIEUtilsLibs RNCBIAxis2Libs]; }; + RNCBIAxis2Libs = derive { name="RNCBIAxis2Libs"; version="0.9"; sha256="0lrvpka3bj6x6sqbjqwg8wlfgcjqq53ks4b48afqfzvqg9z8jk4d"; depends=[rJava]; }; + RNCBIEUtilsLibs = derive { name="RNCBIEUtilsLibs"; version="0.9"; sha256="1h1ywx8wxy6n2rbpmjbqw4c0djz29pbncisd0mlbshj1fw226jba"; depends=[rJava]; }; + RNCEP = derive { name="RNCEP"; version="1.0.6"; sha256="0z8fa7hgd6ss2yzpjn3d1ybqakgn76c7hp3h87ma0k03ilawxi09"; depends=[abind maps fields tgp fossil RColorBrewer]; }; + RND = derive { name="RND"; version="1.1"; sha256="1rbnjkfrsvm68xp90l4awixbvpid9nxnhg6i6fndpdmqwly2fwdp"; depends=[]; }; + rneos = derive { name="rneos"; version="0.2-7"; sha256="0vsifj6zfrdij1gjdp1dlh41cckwd04h41q30m7ard4pgyl9n7za"; depends=[RCurl XML]; }; + RNetCDF = derive { name="RNetCDF"; version="1.6.1-2"; sha256="18cdknszrr3wm45vm7wrg32d1mybnfzaka9l45qm860yq13v84r3"; depends=[]; }; + RNetLogo = derive { name="RNetLogo"; version="0.9-7"; sha256="0d7mw1wfid9qs18jr59qsnvw1l96wzbrjwhjz1yyjzdcg2xfs9gm"; depends=[rJava]; }; + rngtools = derive { name="rngtools"; version="1.2.4"; sha256="1fcgfqrrb48z37xgy8sffx91p9irp39yqzxv7nqp1x2hnwsrh097"; depends=[pkgmaker stringr digest]; }; + rngWELL = derive { name="rngWELL"; version="0.10-2"; sha256="1wsmagsssia02b6358mixpfgza32s1656f7s5pbfjgimjf7xwv5i"; depends=[]; }; + rngwell19937 = derive { name="rngwell19937"; version="0.5-4"; sha256="1c6p0v673n328sdynvv780911yqxk2ayimb93k1f1h3ci915pixy"; depends=[]; }; + Rniftilib = derive { name="Rniftilib"; version="0.0-32"; sha256="1ck7ddhm759zha1iazg5razchq3gsfq3rzvfb8ichnl5l15z9ry2"; depends=[]; }; + RNiftyReg = derive { name="RNiftyReg"; version="1.1.2"; sha256="1g74qdx71wzyl0k7liwvl33rzhz7srmn15x55md5gyljxb5rqm6c"; depends=[reportr oro_nifti]; }; + rnoaa = derive { name="rnoaa"; version="0.1.0"; sha256="0fr7s1x40y6fg5cfy6276557gp5c79df304hlk9sr3gssd2fdkw8"; depends=[httr lubridate plyr ggplot2 scales rgdal maptools stringr XML data_table]; }; + rNOMADS = derive { name="rNOMADS"; version="1.3.0"; sha256="1h9rj42nsjnxydqsapg57gy1a1n5gn7y7hkqxfif4pvf3i5wsmhf"; depends=[scrapeR stringr fields XML GEOmap MBA]; }; + ROAuth = derive { name="ROAuth"; version="0.9.3"; sha256="13h0q7dx4xx7fngi3zfm92ws5x4c6cfa2svq7smmci7c0z4kirb2"; depends=[RCurl digest]; }; + RobAStBase = derive { name="RobAStBase"; version="0.9"; sha256="1428xaplcjq6r0migbaqncfj0iz8hzzfabmabm167p44wa2bwbwh"; depends=[rrcov distr distrEx distrMod RandVar]; }; + robCompositions = derive { name="robCompositions"; version="1.8.0"; sha256="19j9x14kganramig349n5680r86f9dc83iz1h6n3626bp9da1j33"; depends=[robustbase rrcov car MASS pls]; }; + robcor = derive { name="robcor"; version="0.1-6"; sha256="1hw8simv93jq8a5y79hblhqz157wr8q9dzgm0xhvvv5nkzyqkpzf"; depends=[]; }; + robeth = derive { name="robeth"; version="2.7"; sha256="03pnwd3xjb9yv8jfav0s4l9k5pgpampp15ak7z0yvkjs20rvfq3d"; depends=[]; }; + robfilter = derive { name="robfilter"; version="4.0"; sha256="1mj50531xjncg9lfidxzlyqrzwjm7pdsky88s3syspf70cjq6mg8"; depends=[robustbase MASS lattice]; }; + RobLox = derive { name="RobLox"; version="0.9"; sha256="1ws6bkzvg1y1cwmls71das0lih6gncx5w3ncd2siznapd4n44p69"; depends=[distrMod RobAStBase lattice RColorBrewer RandVar distr]; }; + RobLoxBioC = derive { name="RobLoxBioC"; version="0.9"; sha256="0ia7vn8x8whyp8kl7mpwd6fd0yv0y3pb1mppnh2329x7xdvcs5j4"; depends=[RobLox lattice RColorBrewer distr]; }; + RobPer = derive { name="RobPer"; version="1.0"; sha256="00x64c6a3qdrcsh25xjnc1sfvlcd1glsb63gbhg06n6s46mpcnyy"; depends=[robustbase quantreg BB rgenoud]; }; + RobRex = derive { name="RobRex"; version="0.9"; sha256="0ii539mjq462n1lbnyv3whl8b1agvhvlz31wwyz911gb40isl639"; depends=[ROptRegTS]; }; + RobRSVD = derive { name="RobRSVD"; version="1.0"; sha256="07z5fw8j5lq7nyxgkvb9i4iwb5inddz2ib4m2bjx6q4c1ricpqz9"; depends=[]; }; + RObsDat = derive { name="RObsDat"; version="13.09-1"; sha256="0iacmxrs2gbv96932ckpy5agzn0fdxw3wi0svm16q7nrsklj8r21"; depends=[xts zoo DBI vwr e1071]; }; + robumeta = derive { name="robumeta"; version="1.1"; sha256="1b1pms0jmyfw1hmw2gllhxica4sds427y92by3w99kf3472im3d5"; depends=[]; }; + robust = derive { name="robust"; version="0.4-15"; sha256="0v2vass0d10jbj2fkw9gdh3gcr746dfk3mhgyj0v9qlvy0p1h8ba"; depends=[fit_models MASS lattice robustbase rrcov robustbase]; }; + RobustAFT = derive { name="RobustAFT"; version="1.2"; sha256="156p5ic91f8qhc2g6zyrbipa58bvwq8xkpbbhnvx9kvrw8k62ibs"; depends=[robustbase survival]; }; + robustbase = derive { name="robustbase"; version="0.91-1"; sha256="1sf6dx2xjhp8ydxgv9hajjp064plr88ykg7fbglcqbl8apx9pr9h"; depends=[DEoptimR]; }; + robustfa = derive { name="robustfa"; version="1.0-5"; sha256="04nk5ipml54snsmiqf5sbhx490i46gnhs7yibf4wscrsj1bh2mqy"; depends=[rrcov]; }; + robustgam = derive { name="robustgam"; version="0.1.7"; sha256="0s1z7jylj757g91najbyi1aiqnssd207jfm9yhias746540qp3kw"; depends=[Rcpp RcppArmadillo mgcv robustbase]; }; + robustHD = derive { name="robustHD"; version="0.5.0"; sha256="14ql2k5880lbwkv1acydrli6jyh6dls32jjhimbz82zzkzfk2cxr"; depends=[ggplot2 perry robustbase MASS]; }; + robustlmm = derive { name="robustlmm"; version="1.4-3"; sha256="09ylilxr7kc4j0j0vhzypbn9sxz2pv155kcrfa3dabd2s0i41iqn"; depends=[lme4 Matrix ggplot2 lattice nlme robustbase xtable]; }; + robustloggamma = derive { name="robustloggamma"; version="0.4-28"; sha256="0wwa7i2qw0fd5fiy45h7qiw7526zyyxx379ll4ha2n593dwhybx3"; depends=[robustbase]; }; + RobustRankAggreg = derive { name="RobustRankAggreg"; version="1.1"; sha256="1pslqyr1lji1zvcrwyax4zg2s81p1jnhfldz8mdfhsp5y7v8iar3"; depends=[]; }; + robustreg = derive { name="robustreg"; version="0.1-3"; sha256="0llnd6yzg0kg3049pcfwjzz4hnd40w06w59kvnh01q47p4c75bkj"; depends=[]; }; + robustX = derive { name="robustX"; version="1.1-4"; sha256="1s2aav2jr22dgrl7xzk09yn9909k76kpiz271w5r1id6hpfprjwc"; depends=[robustbase]; }; + ROC632 = derive { name="ROC632"; version="0.6"; sha256="0vgv4rclvb79mfj1phs2hmxhwchpc5rj43hvsj6bp7wv8cahfg5g"; depends=[survival penalized survivalROC]; }; + rocc = derive { name="rocc"; version="1.2"; sha256="00yxbbphhwkg4sj2h7pd9vw86yavl711nk8yylwmjd3qv39qjml0"; depends=[ROCR]; }; + rockchalk = derive { name="rockchalk"; version="1.8.0"; sha256="17lmvdqk23jrhl8i3ygl7k49p7ckm3j5phvnxrivbnqysbz84pky"; depends=[MASS car]; }; + RockFab = derive { name="RockFab"; version="1.2"; sha256="1b5mhfll5vmqwl4pblmclyx9604vn07jyza02rm0jcsx915ms8sc"; depends=[rgl]; }; + rococo = derive { name="rococo"; version="1.1.1"; sha256="1xmjfgkb2cg77zsi8lzrs67w1h2fsk0b2zhdb8cc31fh7rr1rrq0"; depends=[Rcpp]; }; + rocplus = derive { name="rocplus"; version="1.0-0"; sha256="1abw9fly7kfraf2yw6nrlz92qljy2alzfcm876im4s9sm00h1vlj"; depends=[SuppDists]; }; + ROCR = derive { name="ROCR"; version="1.0-5"; sha256="1zinan5hfvgg24imn0210m2lwqk5jxmmw8gz08l44j988lw8c2iw"; depends=[gplots]; }; + ROCt = derive { name="ROCt"; version="0.8"; sha256="1k0571gq7igg56qxwf9ibk28v763ji0w9183gs6qp95lpbyp5zwr"; depends=[date survival relsurv]; }; + ROCwoGS = derive { name="ROCwoGS"; version="1.0"; sha256="029nramxwhzqim315g1vkg1zsszzkic28w6ahwg9n7bk9d08adzk"; depends=[]; }; + RODBC = derive { name="RODBC"; version="1.3-10"; sha256="0zjvyg522xwd7957vg2gy6hb8bjagn5457250aqh8f1qnpp57c48"; depends=[]; }; + RODM = derive { name="RODM"; version="1.1"; sha256="0cyi2y3lsw77gqxmawla5jlm4vnhsagh3ykdgb6izxslc4j2fszx"; depends=[RODBC]; }; + ROI = derive { name="ROI"; version="0.1-0"; sha256="01za8cxjf721m2lxnw352k8g32pglmllk50l7b8yhjwc49k8rl66"; depends=[registry slam]; }; + ROI_plugin_glpk = derive { name="ROI.plugin.glpk"; version="0.0-2"; sha256="10p3cq59app3xdv8dvqr24m937a36lzd274mdl2a9r4fwny2rssa"; depends=[ROI Rglpk]; }; + ROI_plugin_quadprog = derive { name="ROI.plugin.quadprog"; version="0.0-2"; sha256="0mkjq87rv1xf0bggpqd2r4gabv11spgcds2y94r3vpmh8krf71jf"; depends=[quadprog ROI slam]; }; + ROI_plugin_symphony = derive { name="ROI.plugin.symphony"; version="0.0-2"; sha256="1z4cahz0h38jw54p9363ca6i3qq7dwlm3568dr91gvpqf76b05wd"; depends=[ROI Rsymphony slam]; }; + R_oo = derive { name="R.oo"; version="1.18.0"; sha256="0difa5258i59vb538xp9p1jkzzrbmm8l35gqhpchfxk5dhn2cq9a"; depends=[R_methodsS3]; }; + Rook = derive { name="Rook"; version="1.0-9"; sha256="013d95f2ddp0yngw7fs267k5lyksffqz61g7ngrx5faddbd6y0ym"; depends=[brew]; }; + rootSolve = derive { name="rootSolve"; version="1.6.5"; sha256="0xr6krw9f9cjc38894x4c172vhxdpy3sp6f8sc25mwvmjwidcwrn"; depends=[]; }; + ROptEst = derive { name="ROptEst"; version="0.9"; sha256="0m5czyqcsz42dzrhm3vwfmn046n57cb7x5sqzf2nad1gqgxzxp1d"; depends=[distr distrEx distrMod RandVar RobAStBase]; }; + ROptEstOld = derive { name="ROptEstOld"; version="0.9.2"; sha256="0blf34xff9pjfy983xm7a27xqkh9173nk64ysas6f0g4h31gh8ax"; depends=[distr distrEx RandVar evd]; }; + ROptRegTS = derive { name="ROptRegTS"; version="0.9.1"; sha256="1a8pbn63wh2w2n409yzbwvarvhphcn82rdqjh407ch3k3x6jz3r5"; depends=[ROptEstOld RandVar distr distrEx]; }; + ror = derive { name="ror"; version="1.2"; sha256="0n8mk35rm3rp0c7a3i961kij21a177znh9hkq4snqqlw9vf50hdg"; depends=[rJava ROI ROI_plugin_glpk igraph]; }; + ROracle = derive { name="ROracle"; version="1.1-11"; sha256="0q0sk5xl96s0d9c8jkd9rng0h03vyg98h7yq8x87r279pp1cp5y0"; depends=[DBI]; }; + rorutadis = derive { name="rorutadis"; version="0.1.1"; sha256="1szv0v8dzyzhksc6ks01a5x2qg20vn180nywiih8whi4z2rq81by"; depends=[Rglpk ggplot2 gridExtra]; }; + ROSE = derive { name="ROSE"; version="0.0-2"; sha256="0a7dx6hllrgynfvmp8jcvamr9q70dl0a79jgd4x42ga7alsi1i66"; depends=[]; }; + rotations = derive { name="rotations"; version="1.2"; sha256="13z5ysjqz3qkiw4nrp9dgy55kbmff5j7m3hfp2h0sj8x1saglf66"; depends=[ggplot2 Rcpp]; }; + Rothermel = derive { name="Rothermel"; version="1.1"; sha256="1bfmqw2f0dd4dlvd1v8wr2iq5cd0a48cyrakxl1hy5461gkxvxls"; depends=[GA ftsa]; }; + RoughSets = derive { name="RoughSets"; version="1.0-0"; sha256="1mm1if706phyy48jl9q93ddp8x347i4pxgl2zshk6ijxjdlzryb5"; depends=[]; }; + roxygen = derive { name="roxygen"; version="0.1-3"; sha256="0w2n4p4skwqr0yw49l06fxmncsplfj2q4gapdbc9wpm9w1g267fw"; depends=[digest gsubfn]; }; + roxygen2 = derive { name="roxygen2"; version="4.0.0"; sha256="0y5jmryr7cvk0rafaqrmrxiid90nlm1na9qhm1c8b3g8d32557rb"; depends=[stringr brew digest Rcpp]; }; + royston = derive { name="royston"; version="1.0"; sha256="1hhb1v1aqvvlzirxiyhv6zahz82w2pq4d6yp3rcakq0sw7dhawn6"; depends=[nortest moments]; }; + rpanel = derive { name="rpanel"; version="1.1-3"; sha256="1wm0dcbyvxz4ily8skz2yda44n74x2nmc4pg11ja0yvk038gjfns"; depends=[]; }; + rpart = derive { name="rpart"; version="4.1-8"; sha256="1vhmwvb7hsh75lvmsjmkab2zl136irca1dhr6p57s1yhmpw4cys0"; depends=[]; }; + rpartitions = derive { name="rpartitions"; version="0.1"; sha256="1gklsi4pqhk16xp9s49n1lr9ldm1vx61pvphjqsqkzrlxwcpx3j8"; depends=[hash]; }; + rpart_plot = derive { name="rpart.plot"; version="1.4-4"; sha256="0m7qngc9117yq69jj106svihy6s3f1byqg9qdls0bimj24insyxf"; depends=[rpart]; }; + rpartScore = derive { name="rpartScore"; version="1.0-1"; sha256="15zamlzbf6avir8zfw88531zg5c0a6sc5r9v5cy9h08ypf34xf4y"; depends=[rpart]; }; + RPCLR = derive { name="RPCLR"; version="1.0"; sha256="03kpyszsjb656lfwx2yszv0a9ygxs1x1dla6mpkhcnqw00684fab"; depends=[MASS survival]; }; + Rpdb = derive { name="Rpdb"; version="2.2"; sha256="0gf6qab05a3ky8skbbjiadizi1gs4pcw3zp25qj5gn82lb6382pd"; depends=[rgl]; }; + rpf = derive { name="rpf"; version="0.28"; sha256="1qwxhbpkzxn602bgcwgmlv3805dkgqw6c4ylvkqvifihpym2g863"; depends=[mvtnorm]; }; + rphast = derive { name="rphast"; version="1.5"; sha256="0r6bk0lbqpv60byhiv847ij5bxrflrs0nsla1zrn8ww7371czsgj"; depends=[]; }; + Rphylip = derive { name="Rphylip"; version="0.1-23"; sha256="0kpqmik4bhr74ib8yvaavr10z4v4w3li5vibdhz7lvz35jfirg9r"; depends=[ape]; }; + rPlant = derive { name="rPlant"; version="2.7"; sha256="0gqxb49d6qzkd533s9qp75byvz66v1csdlnmh3m2zg96aw32178r"; depends=[rjson RCurl seqinr knitcitations]; }; + rplos = derive { name="rplos"; version="0.3.6"; sha256="1n9v106hlppizp0r8368vv5lvbbmva3wbn6y6wvv8rg67605a2yr"; depends=[ggplot2 RCurl RJSONIO XML plyr stringr googleVis httr lubridate reshape2]; }; + rplotengine = derive { name="rplotengine"; version="1.0-3"; sha256="1a7s8yih9dywqn013bvayw1dvx6wdjj68fcy21xfscg799cpgshf"; depends=[xtable]; }; + RPMG = derive { name="RPMG"; version="2.1-5"; sha256="1ck6bz72h1kwi7gg8vd0zw1q61pqv23rish84zri2p18z7nd9kvh"; depends=[]; }; + RPMM = derive { name="RPMM"; version="1.10"; sha256="0xhcf0a28zdxd6x495k9xddirkd37bzs8n99jbmsdxza19a7f0vz"; depends=[cluster]; }; + Rpoppler = derive { name="Rpoppler"; version="0.0-1"; sha256="01zsbm538yhwm1cyz5j6x2ngz05yqj16yxyvyxqhn6jp8d0885jh"; depends=[]; }; + rportfolios = derive { name="rportfolios"; version="1.0"; sha256="1zcv5ddmk15l0p03nlffimlhhpcc7l1c05xl2d1xlfk58rkvqns6"; depends=[]; }; + RPostgreSQL = derive { name="RPostgreSQL"; version="0.4"; sha256="0gpmbpiaiqvjzyl84l2l8v2jnz3h41v8jl99sp1qvvyrjrickra2"; depends=[DBI]; }; + RPPanalyzer = derive { name="RPPanalyzer"; version="1.2.2"; sha256="072sag9szrx06g6b0q62am8gk0wx5w1pkfv7yy7pcdsnll4x91vp"; depends=[quantreg lattice gam gplots ggplot2 Hmisc]; }; + RProtoBuf = derive { name="RProtoBuf"; version="0.4.1"; sha256="1992nz0dz4h802gakcri1c9dgacxc5nvg3h5lm2zv6yg748ha6nh"; depends=[Rcpp RCurl]; }; + rpsychi = derive { name="rpsychi"; version="0.8"; sha256="1h40kbqvvwwjkz5hrclj6j22zhav3yyfbbhqahs1whwjkksnam4w"; depends=[gtools]; }; + rpubchem = derive { name="rpubchem"; version="1.5.0.2"; sha256="0lvi7m8jb2izsfia3c0qigsd1k1x9r02gymlwfg29pb8k10lwcjf"; depends=[XML car RCurl RJSONIO]; }; + rpud = derive { name="rpud"; version="0.0.2"; sha256="03xddc6kh39wlcv8dvpnv4h0f5qx5cv327xip26zk7gg7pgrn05x"; depends=[]; }; + rPython = derive { name="rPython"; version="0.0-4"; sha256="18pibmhjvc8aj6awmm1dz3mm2v82cwggrpjqwck9mj43w5fxd4hf"; depends=[RJSONIO]; }; + RQDA = derive { name="RQDA"; version="0.2-5"; sha256="0zcc4l5rl0n7f14yaszadm38shg7lbh5xzvrzfkmmymwbzgjq46h"; depends=[RSQLite gWidgetsRGtk2 RGtk2 DBI igraph gWidgets]; }; + Rquake = derive { name="Rquake"; version="2.2"; sha256="0gkarqqhmiakc968ffwywkwy7npm1ly5gd6bbhr8fjfwdnhjam5n"; depends=[RPMG RSEIS GEOmap MBA minpack_lm rgl]; }; + RQuantLib = derive { name="RQuantLib"; version="0.3.12"; sha256="1ih7lkpa3p0ipgc8hs9miv500rk285ddc7pmn2qv03ibpsdlvjmq"; depends=[Rcpp]; }; + Rramas = derive { name="Rramas"; version="0.1-4"; sha256="191rm2ylvf3ffc9i4wpjvfbsinmw7s1m0wcq24j4qs4fxg8qqzyq"; depends=[diagram]; }; + rrBLUP = derive { name="rrBLUP"; version="4.3"; sha256="0wydh4sx7b6rcrgb3qvqh0z46pixx63711q2nf8s3c32090a5g81"; depends=[]; }; + rrBlupMethod6 = derive { name="rrBlupMethod6"; version="1.3"; sha256="1qwv954mhry46ff2ax48xcmnasygi5alv8d413g3qbk2da6i0d8l"; depends=[]; }; + rrcov = derive { name="rrcov"; version="1.3-4"; sha256="0k2lqwsfb9ir053m4dbz8z57xq6mlfj63i1k64p1h5jdzbpyw1ks"; depends=[robustbase pcaPP mvtnorm]; }; + rrcovHD = derive { name="rrcovHD"; version="0.2-2"; sha256="03b1mpqqhfjxjzz9agx575mcgalb7jrsv843zjqv9jp4wszprs6z"; depends=[rrcov robustbase pcaPP pls spls]; }; + rrcovNA = derive { name="rrcovNA"; version="0.4-4"; sha256="0zrzgnl83wfsaz0rma07hgb5jlmhvqwv06q7zkm65xd6mfsalqv0"; depends=[rrcov robustbase norm]; }; + rrdf = derive { name="rrdf"; version="2.0.2"; sha256="1m1dfxi720c0xyj1x41zc4vc3dhxs9flysm4xri8b7cibx44piyk"; depends=[rJava rrdflibs]; }; + rrdflibs = derive { name="rrdflibs"; version="1.3.0"; sha256="1qhi0diwvlw5icbym0nlg2yy8gibajycw55szsiipdxkjxj5r85l"; depends=[rJava]; }; + rredis = derive { name="rredis"; version="1.6.8"; sha256="01kksak1hdlcc2q32rzs8i45flxb7shzyq785yr0kanr54pd874z"; depends=[]; }; + RRF = derive { name="RRF"; version="1.6"; sha256="1gp224mracrz53vnxwfvd7bln18v8x7w130wslhfgcdl0n4f2d28"; depends=[]; }; + rriskDistributions = derive { name="rriskDistributions"; version="2.0"; sha256="0278426m4v7b8qb9ydzxqncayq8z25b36n4livqg40zpazp3hy85"; depends=[mc2d eha msm tkrplot]; }; + rrlda = derive { name="rrlda"; version="1.1"; sha256="06n9jah190cz25n93jlb5zb0xrx91bjvxgswwdx9hdf0fmwrpkvz"; depends=[pcaPP mvoutlier glasso matrixcalc]; }; + R_rsp = derive { name="R.rsp"; version="0.15.0"; sha256="163i2vl6ds4bqwk41xa44p72198j3b5rdwv4qy3yzm071lxdngaf"; depends=[R_oo R_methodsS3 R_utils R_cache]; }; + rrules = derive { name="rrules"; version="0.1-0"; sha256="0f9msp289akzricjrm8dvfbh2dihfbszr7ms4fld1cr30zssajin"; depends=[]; }; + RSA = derive { name="RSA"; version="0.9"; sha256="167pdll03kbiwc632r83mqc0r50rkmzjfjxawm654zxslfxssbq9"; depends=[lavaan ggplot2 lattice gridExtra plyr RColorBrewer]; }; + RSADBE = derive { name="RSADBE"; version="1.0"; sha256="1nzpm88rrzavk0n8iflsx8r3s1xcry15n80zqdw6jijjycz10w1q"; depends=[]; }; + rsae = derive { name="rsae"; version="0.1-5"; sha256="1f3ry3jwa6vg2vq2npx2pzzvfwadz8m48hjrqjk860nfjrymwgx5"; depends=[]; }; + RSAGA = derive { name="RSAGA"; version="0.93-6"; sha256="0wqiww0rx5fz4rbsb1x6pr2q0wz5dacj5fc0asj70igxwmh5x0p8"; depends=[gstat shapefiles plyr]; }; + RSAP = derive { name="RSAP"; version="0.9"; sha256="1sxirfabhpmfm0yiiazc9h1db70hqwva2is1dql6sjfanpl8qanl"; depends=[yaml reshape]; }; + rSCA = derive { name="rSCA"; version="2.0"; sha256="0xcs1w4a8s83mvjp6hp474fmj9wr5mypa244a1lplx8jjwd0mf5b"; depends=[]; }; + RSclient = derive { name="RSclient"; version="0.7-2"; sha256="04ml4pynjl97295wrclvb61mpwacrkzc9x5pbwyfg1qr3l8hss93"; depends=[]; }; + rscproxy = derive { name="rscproxy"; version="2.0-5"; sha256="1bjdv7drlnffcnyc0j8r22j7v60k1xj58bw8nk9l8wvnmngrjz86"; depends=[]; }; + RSDA = derive { name="RSDA"; version="1.2"; sha256="06sa3x0abm2gnf4i4y3d5mlqj1wl7mzzal27sa1x65awzi6rs2kz"; depends=[sqldf XML scales FactoMineR ggplot2 glmnet abind scatterplot3d]; }; + RSeed = derive { name="RSeed"; version="0.1.31"; sha256="0wljchzkp8800v9zcgjapkbildkb3p2xnkh1m6m7q6qqc9aw8mws"; depends=[sybil]; }; + rseedcalc = derive { name="rseedcalc"; version="1.2"; sha256="1di9bzwxyxm9gs14ks9z6sixi656hz9xwmq3aaqh53cjjr1ka0rc"; depends=[]; }; + RSEIS = derive { name="RSEIS"; version="3.3-3"; sha256="13fb4mx3sgnbrcn1kkxy0a490kikjrq49ii3x14xw2s8ci030wlr"; depends=[RPMG Rwave]; }; + RSelenium = derive { name="RSelenium"; version="1.2.2"; sha256="14fhj04122x3bj7fbaa0m8mcy37hrlpjsw8pypf6s3b7fqjnn5bq"; depends=[RCurl RJSONIO caTools XML]; }; + rsem = derive { name="rsem"; version="0.4.5"; sha256="02vccj03bxisi2jwl31rwi4gw9i26g70aagdgg5gk8z0bys78v4d"; depends=[MASS lavaan]; }; + Rserve = derive { name="Rserve"; version="1.7-3"; sha256="09rha4p86vak7ss721mwp5bm5ig09xam8zlqv63n9wf36v3kdmpn"; depends=[]; }; + rSFA = derive { name="rSFA"; version="1.03"; sha256="0bgapvlx5n0984ryyh1is0w88lhxj49gcar8gkwiw455jbzx7isp"; depends=[MASS]; }; + rsgcc = derive { name="rsgcc"; version="1.0.6"; sha256="12f8xsg6abmhdgkrrc8sfzmv4i1pycq1g0jfad664d17yciw7rhh"; depends=[biwt cairoDevice fBasics gplots gWidgets gWidgetsRGtk2 minerva parmigene stringr snowfall]; }; + RSGHB = derive { name="RSGHB"; version="1.0.1"; sha256="1af32jsbiidjmnih7x7lgcr3kpnl6nipv5rgav7sk7k0x84d1dnl"; depends=[]; }; + RSiena = derive { name="RSiena"; version="1.1-232"; sha256="0qp3bqq5p19bg47m37s2dw8m4q91hnkc2zxwhsgb076q0xvvv9xq"; depends=[Matrix]; }; + rsig = derive { name="rsig"; version="1.0"; sha256="129k78i8kc30bzlphdb68vv3sw2k6xyiwrhw08vhzz6mf3jxlqsh"; depends=[survival BBmisc glmnet superpc Matrix]; }; + RSiteCatalyst = derive { name="RSiteCatalyst"; version="1.3.3"; sha256="0z6yg403qg2b18261s3v406ji18wpsjmd7i8v7ilr94pwgx0xhcl"; depends=[digest httr rjson plyr stringr base64enc]; }; + RSKC = derive { name="RSKC"; version="2.4"; sha256="0g05kkw07skbbvah7z9a49z0dv5jkwa2l5srcy1jvsxczkmkq91v"; depends=[flexclust]; }; + rsm = derive { name="rsm"; version="2.06"; sha256="0pjkqdhzmnzfc400z5xpdb17v6qckpnx2qpia2hm51m7xjfhks5b"; depends=[]; }; + RSNNS = derive { name="RSNNS"; version="0.4-4"; sha256="0xqgmzbs82a413qqpcmyk1jgrdi5zaj4mywajwfwj1nv06j3dn5w"; depends=[Rcpp]; }; + rsnps = derive { name="rsnps"; version="0.1.0"; sha256="1wpbr2sjcw6hh9sq8h2jzgvc4xlygf0kcd91sqg89nmprfw73j6c"; depends=[plyr stringr httr RCurl XML]; }; + RSocrata = derive { name="RSocrata"; version="1.4"; sha256="0yv0fhrxqjgkh8nsdhp42j2g17iig8labv5x2c68nhn95x25n3bj"; depends=[httr RJSONIO]; }; + RSofia = derive { name="RSofia"; version="1.1"; sha256="0q931y9rcf6slb0s2lsxhgqrzy4yqwh8hb1124nxg0bjbxvjbihn"; depends=[Rcpp]; }; + Rsolnp = derive { name="Rsolnp"; version="1.14"; sha256="0i5d8133vg0939j5772nbw1wd4cyp6q4684iqnl12qkk30hnh94s"; depends=[truncnorm]; }; + Rsomoclu = derive { name="Rsomoclu"; version="1.3.1"; sha256="106cbp8vm5sx8h6k0ddlp51r65jl0d6c0bz29vp8z4adx8ikacsm"; depends=[Rcpp]; }; + rspa = derive { name="rspa"; version="0.1-4"; sha256="1zvi39plbh4ya7523ckm9751mfirav6wa0zn5jd8c60g3rlcdkg5"; depends=[editrules]; }; + rspear = derive { name="rspear"; version="0.1-2"; sha256="1rjg84plnvlcp3p2929f1afl43lb92d3bfsvlhsaw92z7iva1vad"; depends=[plyr]; }; + RSpincalc = derive { name="RSpincalc"; version="1.0.1"; sha256="0n751l329j9pgpdnqrdnf93i9l1qxfp2bl4v4ray3nrnjx8g5mc9"; depends=[]; }; + rsprng = derive { name="rsprng"; version="1.0"; sha256="1sfjwfm03pn73mcq4f2chsldjlhmpjxhqkpmaqf71jbmb7ph41ip"; depends=[]; }; + RSQLite = derive { name="RSQLite"; version="0.11.4"; sha256="0300q901bc0zypvapq8kp0ixpm4vbg5a27bkg9k0s4m3l7rcp85v"; depends=[DBI DBI]; }; + RSQLite_extfuns = derive { name="RSQLite.extfuns"; version="0.0.1"; sha256="03ixy1q5dv4fnp4m1h75c7rvgfgfyxk5hgzd7fl7pqa1q13pjp6a"; depends=[RSQLite]; }; + Rssa = derive { name="Rssa"; version="0.11"; sha256="06mg1fdviayvhc50p9l5imh431b7cb3f3x3pl513phwhsv0qc0lk"; depends=[svd forecast lattice]; }; + rstiefel = derive { name="rstiefel"; version="0.9"; sha256="1l80bx07swalh5dbx34zwjza3xf3nk1kp1832v6hzk60i5xycdxd"; depends=[]; }; + RStorm = derive { name="RStorm"; version="0.902"; sha256="1apk358jwzg5hkrcq8h39rax1prgz9bhkz9z51glmci88qrw1frv"; depends=[plyr]; }; + rstream = derive { name="rstream"; version="1.3.2"; sha256="1habswhdlx7l92s9p9554px4kf9f9mhk5vkdq2fv4wk3381c0fgi"; depends=[]; }; + rstudioapi = derive { name="rstudioapi"; version="0.1"; sha256="027482pbdxnfhcpdw2ns2qhpa18zri71nz8fk0svq6900m2237h8"; depends=[]; }; + Rsundials = derive { name="Rsundials"; version="1.6"; sha256="0vrvxsznbclgls4jljc59lyli6cw9k1a3wapfrs6xbkqi8865iif"; depends=[]; }; + RSurvey = derive { name="RSurvey"; version="0.8-0"; sha256="1kc07hvvpyk83ci0x6g0lmnxksd91y2ilfalbhlbp69jid111k1v"; depends=[sp rgeos MBA]; }; + RSvgDevice = derive { name="RSvgDevice"; version="0.6.4.4"; sha256="0vplac5jzg6bmvbpmj4nhiiimsr9jlbk8mzyifnnndk9iyf2lcmz"; depends=[]; }; + RSVGTipsDevice = derive { name="RSVGTipsDevice"; version="1.0-4"; sha256="1ybk5q4dhskrh7h1sy86ilchdwi6rivy3vv3lph6pms2virgm854"; depends=[]; }; + Rsymphony = derive { name="Rsymphony"; version="0.1-17"; sha256="1wg1l4535xmrqvyhf23b9kw3ggqxlcrig0x0dnhx0m2qr9v3ijni"; depends=[]; }; + rSymPy = derive { name="rSymPy"; version="0.2-1.1"; sha256="1mrfpyalrq8b6yicy28jsj0xy7hlawa72imsfhabwd3hrx6ld150"; depends=[rJython]; }; + rtape = derive { name="rtape"; version="2.2"; sha256="0q7rs7pc1k1kayr734lvh367j5qig2nnq5mgak1wbpimhl7z3wm7"; depends=[]; }; + RTConnect = derive { name="RTConnect"; version="0.1.4"; sha256="1000jmmqzyhl6vh1ii75jdh88s9inaz52gvfwcin2k2zr7bi91ba"; depends=[]; }; + rtematres = derive { name="rtematres"; version="0.2"; sha256="1d0vrprvnlk4hl2dbc6px9xn9kx9d1qvlqxd798hzda6qg5wwvf2"; depends=[XML RCurl plyr gdata]; }; + rTensor = derive { name="rTensor"; version="1.1"; sha256="0350cpafvdrjz5ibgk6bfw8j0kc3vr8vw84hw8jlbi96ia7p6w00"; depends=[]; }; + RTextTools = derive { name="RTextTools"; version="1.4.2"; sha256="1j3zfywq8xgax51mbizxz704i3ys4vzp8hyi5kkjzq6g2lw7ywq2"; depends=[SparseM randomForest tree nnet tm e1071 ipred caTools maxent glmnet tau]; }; + RTextureMetrics = derive { name="RTextureMetrics"; version="1.1"; sha256="0d0mvpmcpd62cvqlajrqp32lnvpflyf9bqvdzly2v8v1kb8274fc"; depends=[]; }; + rtf = derive { name="rtf"; version="0.4-11"; sha256="04z0s5l9qjlbqahmqdaqv7mkqavsz4yz25swahh99xfwp9plknfl"; depends=[R_oo R_methodsS3]; }; + rtfbs = derive { name="rtfbs"; version="0.3.2"; sha256="1v26znlispc8304xid0dsflphiwzil6nrxlsgj8dkp4prh6hdb34"; depends=[rphast]; }; + rtiff = derive { name="rtiff"; version="1.4.4"; sha256="13cz35dfz735yk2lci8cmjmsg4ddm31lv98lpx8ymy3bwmzdmc3c"; depends=[pixmap]; }; + RTisean = derive { name="RTisean"; version="3.0.14"; sha256="03c000anvdmj0bc0b1l4213ikvk9qwxw8aiwfflscigwbc77wa4r"; depends=[]; }; + RTOMO = derive { name="RTOMO"; version="1.1-2"; sha256="15swp7jx5xmj87hjcfdar3r5sqnnb795qclf8b7l4bvx80h9nh2i"; depends=[RPMG GEOmap RSEIS splancs]; }; + rtop = derive { name="rtop"; version="0.3-45"; sha256="0dh7jlnakk1hd27swspa0fj6pq6yddxhz32w3d7xq8jgr7xm8d70"; depends=[sp gstat]; }; + rts = derive { name="rts"; version="1.0-3"; sha256="0jqk0p2q1vx9l6zf9pbc5k3lsw4hg5x1r6p0f7wjiks50x55pbl4"; depends=[raster xts zoo]; }; + Rttf2pt1 = derive { name="Rttf2pt1"; version="1.3"; sha256="0a5q5qx3cfwhic92qm64n0qggqpjgkxjhr9alhm205av1b5fldv2"; depends=[]; }; + Ruchardet = derive { name="Ruchardet"; version="0.0-3"; sha256="0dgldi6fgp949c3455m9b4q6crqv530jph210xzph41vgw8a2q2v"; depends=[Rcpp]; }; + rugarch = derive { name="rugarch"; version="1.3-1"; sha256="1rwigrmqkxikr1hwal2adqybhim8q2a30sci8fdabsyjc06giky1"; depends=[Rsolnp nloptr ks numDeriv spd xts zoo chron SkewHyperbolic expm Rcpp]; }; + RUnit = derive { name="RUnit"; version="0.4.26"; sha256="0glz0ag2za5g4k8fjnsr97504bfk9d6khly1rqrrngg4qxz5wlf0"; depends=[]; }; + Runiversal = derive { name="Runiversal"; version="1.0.2"; sha256="0667mspsjydmxi848c6wsf14gz72bmdj9b3lilma92b7fhqnv7ai"; depends=[]; }; + runjags = derive { name="runjags"; version="1.2.0-7"; sha256="0b3awpbbjlf5lsp53sikl0az5ap35lzhzsjiwdapa3l6pgbvyhx4"; depends=[lattice coda]; }; + Runuran = derive { name="Runuran"; version="0.20.0"; sha256="1syzrmkw96gsw7vf10f1515zdqm9hdmq1v6yf1nbmipil1nkgsqs"; depends=[]; }; + RunuranGUI = derive { name="RunuranGUI"; version="0.1"; sha256="0wm91mzgd01qjinj94fr53m0gkxjvx7yjhmwbkrxsjn6mjklq72l"; depends=[Runuran rvgtest gWidgets gWidgetsRGtk2 cairoDevice]; }; + R_utils = derive { name="R.utils"; version="1.29.8"; sha256="1rg9mgh0h566jar5542v5a5xb1frs167lphycvfka8gz0cj2ffv9"; depends=[R_oo R_methodsS3]; }; + rv = derive { name="rv"; version="2.3.1"; sha256="0bjqwk7djl625fws3jlzr1naanwmrfb37hzkyy5szai52nqr2xij"; depends=[]; }; + RVAideMemoire = derive { name="RVAideMemoire"; version="0.9-35"; sha256="005vfax1yhnrq6fy0yjxjl0ya31s7mwfany7pajy6ws61sjh9kc9"; depends=[ade4 boot car lme4 lsmeans MASS mixOmics multcomp statmod]; }; + Rvcg = derive { name="Rvcg"; version="0.7.1"; sha256="0iw3vzibv7pdx6bzkb6kwqvs6lmp96fiyqb8lsh0dv94swagi9ax"; depends=[Rcpp]; }; + rvertnet = derive { name="rvertnet"; version="0.0-5"; sha256="1rj6csx2qb094wgkablrpzlbqb0hpzg5d29xrar2cy39gjmz40cj"; depends=[RCurl plyr RJSONIO httr ggplot2 maps]; }; + rvgtest = derive { name="rvgtest"; version="0.7.4"; sha256="1lhha5nh8fk42pckg4ziha8sa6g20m0l4p078pjj51kz0k8929ng"; depends=[]; }; + rvHPDT = derive { name="rvHPDT"; version="2.0"; sha256="1swwciphxgyil10dncx0fx32w6gs4dnnwb4qsqk0fr044prd9v6g"; depends=[gregmisc]; }; + RVideoPoker = derive { name="RVideoPoker"; version="0.3"; sha256="06s4dlw0pw8rcq5b31xxqdpdk396rf27mai2vpvmn585vbm1ib7a"; depends=[pixmap tkrplot rpanel]; }; + Rvmmin = derive { name="Rvmmin"; version="2013-11.11"; sha256="14gsdvw7qxcffwkh0ayj0vlm0cqyavqgl4rqn5ybjr0pkbsmz955"; depends=[optextras]; }; + RVowpalWabbit = derive { name="RVowpalWabbit"; version="0.0.6"; sha256="06f2lmls92qkbscss00c99xkzpx83mgjah6ds0sixv1b2qi216ap"; depends=[Rcpp]; }; + RVsharing = derive { name="RVsharing"; version="1.1.0"; sha256="0gcas4rb8pms470dhbm2c2x87an0j594xsziglgd84nqn4gq095d"; depends=[kinship2]; }; + rvTDT = derive { name="rvTDT"; version="1.0"; sha256="09c2fbqnlwkhaxfmgpsdprl0bb447ajk9xl7qdlda201fvxkdc8v"; depends=[CompQuadForm]; }; + RVtests = derive { name="RVtests"; version="1.2"; sha256="0k7w6ml981zvr5bix197qw4kaf7rz5jqnwqlxf7aryxbm39gk16c"; depends=[glmnet spls pls]; }; + Rwave = derive { name="Rwave"; version="2.1"; sha256="0fiw3i8qwfhingxmdflfdld7zp61p7zxpj00zl5v7qf21kcmvkbx"; depends=[]; }; + rWBclimate = derive { name="rWBclimate"; version="0.1.3"; sha256="0vs56hx7a85pw4jx8nb8bdlr9dbkl4zdhzhqsm0505xc3qz18vxh"; depends=[ggplot2 httr plyr rgdal jsonlite reshape2 sp]; }; + RWeather = derive { name="RWeather"; version="0.4"; sha256="1vm8w07gsxwxvg1gpdzn6mpnh8g9kp0ln9fxjw5rl2f1zz80bxpy"; depends=[XML]; }; + RWebLogo = derive { name="RWebLogo"; version="1.0.1"; sha256="1qqvndvgb46hx02ixlh8zkwknkbxky598yalpsm47rrpzqwpkzdl"; depends=[raster jpeg findpython]; }; + RWeka = derive { name="RWeka"; version="0.4-23"; sha256="1p1kz6if5yhmjvjzvr0ig5i0l6g7bzp6z8q4jssrp2g07g576084"; depends=[RWekajars rJava]; }; + RWekajars = derive { name="RWekajars"; version="3.7.11-1"; sha256="1p0i1lxkcvxvpwkrzl4dqdxr3mcc9a6qs76b7lbmpxh7gfiwq82c"; depends=[rJava]; }; + RWiener = derive { name="RWiener"; version="1.2-0"; sha256="1ssh4xcyr4whgyd91p6bjsm9mq1ajqjqva0yyk13dnf5jfpsr0gs"; depends=[]; }; + Rwinsteps = derive { name="Rwinsteps"; version="1.0-1"; sha256="0kzngkan9vydibnr3xm4pyz4v6kz0r4h19f0ngqpri07fkhdsxzd"; depends=[]; }; + rwm = derive { name="rwm"; version="1.53"; sha256="0x19502xzc3x90iwvhvj24w36qab79v4y7mb37ax8a0n3pw6rah8"; depends=[]; }; + rworldmap = derive { name="rworldmap"; version="1.3-1"; sha256="0wrg6ap39bq88sv5axxd90yyqafn77amk5429pxd9v5a2hdm3g8w"; depends=[sp maptools fields]; }; + rworldxtra = derive { name="rworldxtra"; version="1.01"; sha256="183z01h316wf1r4vjvjhbj7cg4xarn4b8qbmnn5y7nrrdndzi163"; depends=[sp]; }; + rwt = derive { name="rwt"; version="0.9.4"; sha256="0r80whjmq1d6248mzj16g0xn0k1c3kd6q4lhgjnqr81brbdmd3vg"; depends=[matlab]; }; + RxCEcolInf = derive { name="RxCEcolInf"; version="0.1-3"; sha256="04d6ffl4qs2vjbk0ibvyq17i2l26qnvxr72s6p3f8q4px33rh4kh"; depends=[MASS MCMCpack mvtnorm lattice]; }; + RXKCD = derive { name="RXKCD"; version="1.7-5"; sha256="0dsds1bv2vfq61gfppar2ai23dryh09ric5i6zaccms6q64z23md"; depends=[RJSONIO png jpeg plyr]; }; + RXMCDA = derive { name="RXMCDA"; version="1.5.0"; sha256="1kp2hpkr88g3cdpbdyam9lgas1irda7s6dhkp0dhz5mrzdlvw2jd"; depends=[XML kappalab]; }; + RXshrink = derive { name="RXshrink"; version="1.0-8"; sha256="0l4aknr1vxrkxqsgkjcffs0731jskyzvl055a01vd8h4a0826n5s"; depends=[lars]; }; + Ryacas = derive { name="Ryacas"; version="0.2-11"; sha256="116ncg48ih1v3ra095k63ccqchfbvzixh3cfjb2bbc47a9zh8phc"; depends=[XML]; }; + RYoudaoTranslate = derive { name="RYoudaoTranslate"; version="1.0"; sha256="1i3iyqh97vpn02bm66kkmw52ni29js30v18n2aw8pvr88jpdgxm4"; depends=[RCurl rjson]; }; + ryouready = derive { name="ryouready"; version="0.3"; sha256="0nms3zfkis2fsxkyj3dr95vz3kk6pkm7l5ga7iz8pxy1ywrawj2i"; depends=[stringr car]; }; + rysgran = derive { name="rysgran"; version="2.0"; sha256="11vh1sq267dva4gfg00xb3czcj2xymkg665pj895i7cn8hmy3q74"; depends=[soiltexture lattice]; }; + Rz = derive { name="Rz"; version="0.9-1"; sha256="1cpsmfxijrfx06ydpjzbaak7gkad4jjk1ph9453l9zly1cwzgspj"; depends=[foreign memisc psych ggplot2 RGtk2 formatR]; }; + rzmq = derive { name="rzmq"; version="0.6.8"; sha256="0likcj1xivr0y42krnm5zynkr6slfc3yqq2nd90x79ldvbfdqxc6"; depends=[]; }; + s20x = derive { name="s20x"; version="3.1-10"; sha256="0hxi8d1pl0jgg66jxzz0z973sg3f4s1jf75smmizy99kd76rdnh0"; depends=[]; }; + s4vd = derive { name="s4vd"; version="1.0"; sha256="07pnkhyqf9iymj913813d93dmb3iqbdlcl0gsgacihyyinb4id5s"; depends=[biclust]; }; + sac = derive { name="sac"; version="1.0.1"; sha256="1rl5ayhg5y84fw9w3zf43dijjlw9x0g0w2z4haw5xmxfni72ms8w"; depends=[]; }; + sae = derive { name="sae"; version="1.0-2"; sha256="0a9g07m1a8v4iw9pnzlws356kv4f77qkz5yc454i7130zfp2kxxi"; depends=[nlme MASS]; }; + saemix = derive { name="saemix"; version="1.2"; sha256="1whwn54iiapdfig6qpzji3z3skir6jrs34dq78zlynibgrg95hx6"; depends=[]; }; + SAFD = derive { name="SAFD"; version="0.4"; sha256="1zbja8bgva2j24ks4m14hbf4s0n674lj89nfxkkmwrljzsmjrjhv"; depends=[]; }; + safeBinaryRegression = derive { name="safeBinaryRegression"; version="0.1-3"; sha256="1g68r6pp5l41rbgyfqgcha1gpsisnl0ybdmdqr4ylr43f61dpgvd"; depends=[lpSolveAPI]; }; + SAM = derive { name="SAM"; version="1.0.5"; sha256="1fki43bp6kan6ls2rd6vrp1mcwvz92wzcr7x6sjirbmr03smcypr"; depends=[]; }; + SamplerCompare = derive { name="SamplerCompare"; version="1.2.5"; sha256="1p05fb6g0rwkzz0qp8hx88skxvfq265ndv9g694gc2h8vzwpan1y"; depends=[mvtnorm]; }; + sampleSelection = derive { name="sampleSelection"; version="0.7-2"; sha256="11gqcls06imvlnbmc0nbypklz863xcp2ps170kd28j5wxfi8ybm7"; depends=[maxLik systemfit miscTools]; }; + samplesize = derive { name="samplesize"; version="0.1-8"; sha256="0w4aa6p0j7l9xykhgqv7yps2nxx11q1mrgivdnv4si8fbkqx148n"; depends=[]; }; + Sample_Size = derive { name="Sample.Size"; version="1.0"; sha256="1vfnb2gg3rax4sxd81xqznfvh300nv45nn7zjsyrdjyg1n3ym7nw"; depends=[]; }; + samplesize4surveys = derive { name="samplesize4surveys"; version="0.5.1"; sha256="0qinzr55ldg7ngsa9lzwwwysjfk3230xs7kcqkvimnrn5z4n898v"; depends=[TeachingSampling]; }; + SampleSizeMeans = derive { name="SampleSizeMeans"; version="1.1"; sha256="1wbc46n8b8wbcxl21blbzs5728dr8r0l8d3jpzbha8pcav0xrh1m"; depends=[]; }; + SampleSizeProportions = derive { name="SampleSizeProportions"; version="1.0"; sha256="0mvkvx3nni0l8ys68sq3h2zlbjvksdcdzxqlf03k0ca5bbcmdf9l"; depends=[]; }; + sampling = derive { name="sampling"; version="2.6"; sha256="11r8p29kwc0ggycbv7sm1zmazmfm4p5207l764ad4znjib0cab6p"; depends=[MASS lpSolve]; }; + samplingbook = derive { name="samplingbook"; version="1.2.0"; sha256="1vynz6hsnz5d0vg66f8k67h24rb809k9chb4waymk6vwnp8lksz9"; depends=[pps sampling survey]; }; + samplingEstimates = derive { name="samplingEstimates"; version="0.1-2"; sha256="14cgjixqj12www3jalq4dlsslcsbzaxinqdvss22b0qd3v9666xs"; depends=[samplingVarEst]; }; + SamplingStrata = derive { name="SamplingStrata"; version="1.0-2"; sha256="04mb14hb328s4smpfidxf448mpa1cij9lbsfii7j0a0qx9nwapy2"; depends=[]; }; + samplingVarEst = derive { name="samplingVarEst"; version="0.9-8"; sha256="0x9iwws272nzgx79rgdifqz51wm4k9hh38pi65qx6nwf21mjkxlj"; depends=[]; }; + sampSurf = derive { name="sampSurf"; version="0.7-2"; sha256="1bj1m5c8bx8i4jyk6kdgcfmgfj15iirxwg259r0c4fk7whcnfz59"; depends=[sp raster rasterVis boot]; }; + samr = derive { name="samr"; version="2.0"; sha256="0rsfca07pvmhfn7b49yk2ycw00wsq6dmrpv9haxz8q0xv7n5n2q9"; depends=[matrixStats]; }; + SAMURAI = derive { name="SAMURAI"; version="1.2.1"; sha256="02fipbjcsbp2b2957x6183z20icv1yly2pd1747nyww9bmpa7ycm"; depends=[metafor]; }; + sand = derive { name="sand"; version="1.0.2"; sha256="1y371ds86gcq2id996vp56h5dax2wm0mlk1ks2mp1k81n63l7wmf"; depends=[igraph igraphdata]; }; + sandwich = derive { name="sandwich"; version="2.3-0"; sha256="0sa175wjnp6ji22f92shgbfg21029sw8cpbkrfr9q21vf33wvlyd"; depends=[zoo]; }; + sanon = derive { name="sanon"; version="1.3"; sha256="0kh2gvcd7nxcgfswhspw9xw68sk0kcrcv86h8ysfrwxi35ln6a75"; depends=[]; }; + sapa = derive { name="sapa"; version="2.0-0"; sha256="04zf1xs4w7s28mvc272la8z3r1slnf50pw0k8zj335j3i56x6b9y"; depends=[ifultools splus2R]; }; + SAPP = derive { name="SAPP"; version="1.0.3"; sha256="0bc6zjh7x541nng9cvv51v4gwgshwddykj91pmksvcjskhkzx3wy"; depends=[]; }; + sas7bdat = derive { name="sas7bdat"; version="0.4"; sha256="152a1sx04rcd1hkr87q340nvxnj9dpmc4jwbzvjs2dl1zsrq2532"; depends=[chron]; }; + SAScii = derive { name="SAScii"; version="1.0"; sha256="0nq859xmrvpbifk8q1kbx3svg61rqdg8p8gr1pn85fr0j3w7h666"; depends=[]; }; + SASmixed = derive { name="SASmixed"; version="1.0-4"; sha256="0491x4a3fwiy26whclrc19alcdxccn40ghpsgwjkn9sxi8vj5wvm"; depends=[]; }; + SASPECT = derive { name="SASPECT"; version="0.1-1"; sha256="1d3yqxg76h9y485pl5mvlx6ls1076f80b320yvx4zxmqq9yxmaba"; depends=[]; }; + SASxport = derive { name="SASxport"; version="1.3.6"; sha256="0rbjn2f3fs8q51rjkbiv4ha50s38rq1qnnfqq772c138k35ih4np"; depends=[chron]; }; + SAVE = derive { name="SAVE"; version="0.9.3.8.4"; sha256="0ai5dfwvr9awccdinrcqxdn5sacw4nm4x7pim289q1lzrr7gnnrp"; depends=[coda DiceKriging]; }; + saves = derive { name="saves"; version="0.5"; sha256="1b4mfi2851bwcp0frx079h5yl6y1bhc2s8ziigmr8kwy1y1cxw10"; depends=[]; }; + saws = derive { name="saws"; version="0.9-6.1"; sha256="0w40j6xczqs74z1z3na4510w06px7yn55s2mw9mddd6736l56fv1"; depends=[gee]; }; + sBF = derive { name="sBF"; version="1.1"; sha256="11yjw6y1k0fi95p68bc4481gac25lympmmdykh71ljg0hnrm0s53"; depends=[]; }; + sbgcop = derive { name="sbgcop"; version="0.975"; sha256="0f47mvwbsym4khwgl0ic3pqkw3jwdah9a48qi3q93d46p2xich61"; depends=[]; }; + sbioPN = derive { name="sbioPN"; version="1.1.0"; sha256="0yvg55xnkhm35hfl7rldy2grb26hm4a68jr4x9n45fs7hhdylxri"; depends=[]; }; + SBSA = derive { name="SBSA"; version="0.2.3"; sha256="1v23lzzziyjlvgn5p2n1qcq2zv9hsyz2w15lbnfi5wvinxhlg8sc"; depends=[Rcpp]; }; + sca = derive { name="sca"; version="0.8-9"; sha256="024yxm1rlyz3hx9viv2nb6rapy938diaknc3nzkgq0ffky2gf0s3"; depends=[]; }; + scagnostics = derive { name="scagnostics"; version="0.2-4"; sha256="0fhc7d2nfhm8w6s6z1ls6i8d7c90h4q7rb92rz8pgq3xh031hpcf"; depends=[rJava]; }; + scaleboot = derive { name="scaleboot"; version="0.3-3"; sha256="0w3gwqxshiypbixrdjg3p5z3qfp0nf9gv838z9hlbf0xpzgk11xa"; depends=[]; }; + scales = derive { name="scales"; version="0.2.4"; sha256="08dryii8ibh16wxs61pam07b24rwhqvdcdhk09mij289l309192v"; depends=[RColorBrewer dichromat munsell plyr labeling]; }; + scalreg = derive { name="scalreg"; version="1.0"; sha256="06iqij1cyiw55ijzk2byrwh3m5iwsra7clx8l4v69rc236q8zbdi"; depends=[lars MASS]; }; + scam = derive { name="scam"; version="1.1-6"; sha256="09y7gcmf40hc06cm8awjl40xbxs68b2lf916fywz2903bb6biai6"; depends=[mgcv Matrix]; }; + scape = derive { name="scape"; version="2.2-0"; sha256="0dgbh65fg6i5x4lpfkshn382zcc4jk1wp62pwd2l2f59pyfb92a3"; depends=[coda Hmisc lattice]; }; + scapeMCMC = derive { name="scapeMCMC"; version="1.1-3"; sha256="0gdranypjdzjdimmhs7k6pchvw9d3hr18rx1msll9bmaq1q2ffad"; depends=[coda lattice gplots]; }; + scar = derive { name="scar"; version="0.2-1"; sha256="04x42414qxrz8c7xrnmpr00r46png2jy5giwicdx6gx8jwrkzhzs"; depends=[]; }; + scaRabee = derive { name="scaRabee"; version="1.1-3"; sha256="1fdxmk2mbrynxh6zy0xjmcwa384n5bppl1vzmfj5rjw840f7hbrk"; depends=[neldermead lattice deSolve]; }; + scatterplot3d = derive { name="scatterplot3d"; version="0.3-35"; sha256="1w0r7cyz01rzmgcf2x7wa4xs88ga6fd67wksyjyzrh2pdcbc56yx"; depends=[]; }; + SCBmeanfd = derive { name="SCBmeanfd"; version="1.1"; sha256="0pcyrnzlnlyn4v3lyv7pv01v2lh4vig1x4x8g98lpccpi1bimd4z"; depends=[boot KernSmooth]; }; + SCEPtER = derive { name="SCEPtER"; version="0.1-0"; sha256="13jnqcgsz3rz5dis8jmbma1m6z72qphdjyjf3984c66clhazxnh9"; depends=[MASS]; }; + SCEPtERextras = derive { name="SCEPtERextras"; version="0.1-0"; sha256="1vv231h744c7j7rvcb2xaffmwdd9ms76yvvw2l3xcb72iwhl5dbw"; depends=[]; }; + SCGLR = derive { name="SCGLR"; version="1.2"; sha256="0346gmqd5wakfwabq4rwqdpiylq29cgx6hg40dzm2v1alpaxs8va"; depends=[Matrix Formula expm ggplot2 stringr ROCR]; }; + scholar = derive { name="scholar"; version="0.1.1"; sha256="1wlhxw5k28qypfl6dm07cjrpvpmvcbwn1fc7205xpj20f41jchra"; depends=[stringr plyr R_cache XML]; }; + schoolmath = derive { name="schoolmath"; version="0.4"; sha256="06gcmm294d0bs5whvknrq48sk7li961lzy4bcncjg052zbbpn67x"; depends=[]; }; + schoRsch = derive { name="schoRsch"; version="1.0"; sha256="15kjab5cpss2kkf3pd2nyszdsfn77840zx7yrbkry6n7xb4x8icn"; depends=[]; }; + schwartz97 = derive { name="schwartz97"; version="0.0.6"; sha256="0l34f30l75zrg3n377jp0cw7m88cqkgzy6ql78mrx8ra88aspfzn"; depends=[FKF mvtnorm RUnit]; }; + SCI = derive { name="SCI"; version="1.0-0"; sha256="0ff35g0d7iq1mjr01bh5zdix8g9gg244zpkhvdcnyx7mchpv38la"; depends=[fitdistrplus lmomco]; }; + scidb = derive { name="scidb"; version="1.1-2"; sha256="1nkyzvjpacm4imv778nc6gc468419shkyhxb59hsaw9840wcs1na"; depends=[Matrix iterators RCurl zoo]; }; + SciencesPo = derive { name="SciencesPo"; version="0.03.21"; sha256="0g6n8v7k2qk3nqfnw4i31qh03lckpm787j2ha3gskgchnydmn5ac"; depends=[data_table maptools]; }; + scio = derive { name="scio"; version="0.6.1"; sha256="0h15sscv7k3j7qyr70h00n58i5f44k96qg263mxcdjk9mwqr0y65"; depends=[]; }; + sciplot = derive { name="sciplot"; version="1.1-0"; sha256="0na4qkslg3lns439q1124y4fl68dgqjck60a7yvgxc76p355spl4"; depends=[]; }; + SciViews = derive { name="SciViews"; version="0.9-5"; sha256="199waafpn0ndg7szwfhw2jlgcx1f0pv7j0vix2vzz60knwm698xb"; depends=[MASS ellipse]; }; + SCMA = derive { name="SCMA"; version="1.1"; sha256="0bims9l047xvbwp2r5ly5cgpd7fc0p2cik48gg42abwdqvppf542"; depends=[]; }; + SCORER2 = derive { name="SCORER2"; version="0.99.0"; sha256="1a28wga69ip9s98ch2dqgl0qkwa3w6frmaqcvhclc360ik813mxq"; depends=[]; }; + scoring = derive { name="scoring"; version="0.5"; sha256="0yiqz642zcpza4ixyb7knaqlq75d0pyi6v7h1vj8qlscyw2vcz57"; depends=[]; }; + ScottKnott = derive { name="ScottKnott"; version="1.2-4"; sha256="0s2b74isklmjjz5qzb0sg2lzqxv3bka2wxcja1lg49npmv70kly7"; depends=[]; }; + scout = derive { name="scout"; version="1.0.3"; sha256="0wmjmk0ckd211cq5ykd0yzjschs7fkg04w67arl4pwma0z5z56lq"; depends=[glasso lars]; }; + SCperf = derive { name="SCperf"; version="1.0"; sha256="1v9l7d9lil2gy5bw6i7bzc24808m063xaw2spl005j0a9rh4ag41"; depends=[]; }; + ScrabbleScore = derive { name="ScrabbleScore"; version="1.0"; sha256="19vgaxnhvqsbllqxfbnhnar2j4g0fkxi7rfsmkks2bd2py81x04m"; depends=[]; }; + scrapeR = derive { name="scrapeR"; version="0.1.6"; sha256="1rqgqpn9rc43rh356z9gb51pjhdczr9a9mgv0i078nniq156rmlb"; depends=[XML RCurl]; }; + ScreenClean = derive { name="ScreenClean"; version="1.0.1"; sha256="0haanr05g4vwp5apncyzv8i3r61g4xf9ihm8ilcabcgpri56gpjk"; depends=[MASS Matrix quadprog]; }; + scrime = derive { name="scrime"; version="1.3.3"; sha256="1vp7ai10m0f3s0hywyqh0yllxj6z6p795zqpr6vp58fh6yq20x73"; depends=[]; }; + scriptests = derive { name="scriptests"; version="1.0-9"; sha256="03jv5hgzs4hvkpvjr9073nncmwj20cwispzwrbvxjdnvm5hnjg3y"; depends=[]; }; + SCRT = derive { name="SCRT"; version="1.0"; sha256="1yk3ialhsn5qgjsi7zl7m61bkkwiw90xa4fl1vwncbgpzhrfzgkj"; depends=[]; }; + scrypt = derive { name="scrypt"; version="0.1.0"; sha256="1hc1rziigwggdx2pvklldkw88mdzbwa8b8a2a0ip4cm1w6flsl9n"; depends=[Rcpp]; }; + scuba = derive { name="scuba"; version="1.7-0"; sha256="11mdc8pj552ag36ib4sfbjv8r0psa6wnb13spz0v3rbaslz25hpw"; depends=[]; }; + SCVA = derive { name="SCVA"; version="1.0"; sha256="0dphdrc069d9nggpipl97wj1vqwnnjlv3fs68pqygzb5kbd70nx3"; depends=[]; }; + sda = derive { name="sda"; version="1.3.3"; sha256="044ah4xmhx0y8pzd0y517p1drbj8bikfvm0925ji0abfcfc1xfsb"; depends=[entropy corpcor fdrtool]; }; + SDaA = derive { name="SDaA"; version="0.1-2"; sha256="03ijiqwvvqs79ql9p016hpn5dwxnys820k00aza29npm9k2bciww"; depends=[survey ggplot2]; }; + SDBP = derive { name="SDBP"; version="1.0"; sha256="18yk5zasxga58ny8n8kz3b8j0j8xznb9wqf5642xzfvcb9dd1kz2"; depends=[]; }; + sdcMicro = derive { name="sdcMicro"; version="4.3.0"; sha256="18b7wqvid3y9lfm88jcpia6xk6kvjk49dbgzdjzhx5vdmg72vsll"; depends=[brew knitr data_table xtable car robustbase cluster MASS e1071 Rcpp sets]; }; + sdcMicroGUI = derive { name="sdcMicroGUI"; version="1.1.1"; sha256="0icxxbfxl65da07bpi7l2jzk85y990ndhl60lwyp077sjq5rd20q"; depends=[sdcMicro gWidgetsRGtk2 cairoDevice vcd foreign Hmisc]; }; + sdcTable = derive { name="sdcTable"; version="0.16.0"; sha256="1balavfwg70zbqd0xnnm2paac7fd4an1hysv1fsh3iw9n8cycdpy"; depends=[stringr Rcpp Rglpk lpSolveAPI data_table]; }; + SDD = derive { name="SDD"; version="1.1"; sha256="1bl9xlns6np26pgiiza25c54k4989knksdkkk653g8s8gmr4y34x"; depends=[Hmisc sm tseries rpanel rgl]; }; + SDDA = derive { name="SDDA"; version="1.0-5"; sha256="1lwp36bwx13cyiqyzh5jp2c0f0g2hvppqxnpjcflmcz7s23h5dp7"; depends=[MASS]; }; + sddpack = derive { name="sddpack"; version="0.9"; sha256="1963l8jbfwrqhqcpif73di9i5mb996r4f8smjyil6l7sdir7cg9l"; depends=[]; }; + sde = derive { name="sde"; version="2.0.10"; sha256="1wkgam394190zg1m0b9hg81h9mkqhqw8isk7xf5vdqxymjzsaxjm"; depends=[MASS fda zoo]; }; + sdef = derive { name="sdef"; version="1.5"; sha256="1xmx3nfjjfh6zw1vq7iip4rnshh40azja83xyvnz04jcv574vhxm"; depends=[]; }; + SDMTools = derive { name="SDMTools"; version="1.1-20"; sha256="10j1dpzndja503jamrw6jgxm1szj53skj44kn41msza8iz7638nn"; depends=[R_utils]; }; + sdmvspecies = derive { name="sdmvspecies"; version="0.1"; sha256="0nlkz7am9xfj7phlzglmar6bxfvkb1r95qhm5j951h7053hwyppw"; depends=[raster ggplot2]; }; + sdnet = derive { name="sdnet"; version="2.01.3"; sha256="1sr60ca2dn182nacsi1ix02cdjygf45jv51dcfz5744hj7afcvws"; depends=[]; }; + sdprisk = derive { name="sdprisk"; version="1.0-3"; sha256="0v490zz2c1qa0w9nfd0xs5xbbvd9g8vp39fp8x7k7cy598vby4yx"; depends=[numDeriv PolynomF rootSolve]; }; + sdtoolkit = derive { name="sdtoolkit"; version="2.33-1"; sha256="0pirgzcn8b87hjb35bmg082qp14idc5pfvm6dikpgkswag23hwh8"; depends=[]; }; + seacarb = derive { name="seacarb"; version="3.0"; sha256="1rjpf83f19rbp4mb7imnxlnlv8s0d6p6jqsarp6kksvr6yx5cdap"; depends=[]; }; + sealasso = derive { name="sealasso"; version="0.1-2"; sha256="0cjy3fj170p5wa41c2hwscmhqxwkjq22vhg9kbajnq7df2s20jcp"; depends=[lars]; }; + SearchTrees = derive { name="SearchTrees"; version="0.5.2"; sha256="11p81x1klkmxarypxpbisf78dlrmhzzg9y9hxpwz75pks1y56gqg"; depends=[]; }; + seas = derive { name="seas"; version="0.4-3"; sha256="1n0acg6fvaym4nx1ihw0vmb79csds0k4x9427qmcyxbl9hxxmllp"; depends=[]; }; + season = derive { name="season"; version="0.3-3"; sha256="0562qxc5bz9yjkz0zzighlp52ysv0gjn8xfycbxckmjxy3wrk9cz"; depends=[ggplot2 MASS mgcv survival coda]; }; + seasonal = derive { name="seasonal"; version="0.50.0"; sha256="0bf2j6vy7aa081k24q25ldry9ah2kr59c9i7bd1rwh5pcj7zlqpj"; depends=[]; }; + seawaveQ = derive { name="seawaveQ"; version="1.0.0"; sha256="19vm1f0qkmkkbnfy1hkqnfz6x2a7g9902ka76bhpcscynl69iy56"; depends=[survival NADA lubridate]; }; + SEchart = derive { name="SEchart"; version="0.1"; sha256="19gqcd6xzwg37nzc67p88ip4i0v2f59ds85xfw9qq8lybvdm76k2"; depends=[JM]; }; + SECP = derive { name="SECP"; version="0.1-4"; sha256="0a4j0ggrbs0jzcph70hc4f5alln4kdn2mrkp3jbh321a6494kwl1"; depends=[SPSL]; }; + secr = derive { name="secr"; version="2.8.2"; sha256="0p885q2r8wy4n8j1dvmmd59p5nfds8f4l1mwiw4z3xwck3bwi776"; depends=[abind MASS nlme sp]; }; + secrdesign = derive { name="secrdesign"; version="2.1.2"; sha256="0x9nf3qki5mr85ylmlcjz7zcsl4i1jlz50gh2391gfbpdhljwbbc"; depends=[secr abind]; }; + seeg = derive { name="seeg"; version="1.0"; sha256="1d45vl075p4qbd74gpaa8aw1h82p9n633fym10yp9bmcv4gwksg6"; depends=[car spatstat sgeostat]; }; + seem = derive { name="seem"; version="1.0"; sha256="0cjdi9c89bqvrx9gzxph958cfqicc1qfnzsair0gvsk3cxsrw6bf"; depends=[]; }; + SEER2R = derive { name="SEER2R"; version="1.0"; sha256="0lk0kkp8sv3nl19zwqd7449mmjxsj3pqpzdmqf70qf8xh2pqyvzd"; depends=[]; }; + SEERaBomb = derive { name="SEERaBomb"; version="2014.4.1"; sha256="1vlk6hcn05vdjfc7c8dhvsd1hc2yq1pdmhb7i48b689lkxg82igz"; depends=[RSQLite LaF]; }; + seewave = derive { name="seewave"; version="1.7.3"; sha256="1bgv90x1rc7xyril6qarbx5mza131admd75s9704s8l7n4zfy64k"; depends=[fftw tuneR]; }; + seg = derive { name="seg"; version="0.4-1"; sha256="1wkkxzvv1dq6z5l3b27fb72dg70py2qzkxmfibjg44zvcxr3y79g"; depends=[sp splancs]; }; + segmented = derive { name="segmented"; version="0.3-1.0"; sha256="0d7mijvjl9kmypp8mgayq1l4800jj7cnd6anrnrng4ma6cxg8cjf"; depends=[]; }; + Segmentor3IsBack = derive { name="Segmentor3IsBack"; version="1.8"; sha256="00m6fvx6s8mz477c8b4dmgdh52jf6jx1lcqzf84l90b1xw93qnv7"; depends=[]; }; + SE_IGE = derive { name="SE.IGE"; version="1.0"; sha256="0gx3kdsdl3rjms6fxabxz51z84r9mcy4934l2g43ifrxbyphnias"; depends=[]; }; + Sejong = derive { name="Sejong"; version="0.01"; sha256="1d9gw42dbs74w7xi8r9bs6dhl23y16yxqzyhqqayvcm98q3l77nf"; depends=[]; }; + SEL = derive { name="SEL"; version="1.0-2"; sha256="1nrk0fx6ff330abq8askvp0790xnfv00m3sraqcr32hciw6ks421"; depends=[quadprog lattice]; }; + selectiongain = derive { name="selectiongain"; version="2.0.29"; sha256="0l0av8dw14yfnc5a17nknjimhbi0nw30h7m8la346kibcsmszyvr"; depends=[mvtnorm]; }; + selectMeta = derive { name="selectMeta"; version="1.0.6"; sha256="0qv06x6q6p2lwr13fw8xc6mkpb23h41sqnc9wyq8xx37d2jgpcif"; depends=[DEoptim]; }; + selectr = derive { name="selectr"; version="0.2-2"; sha256="0hzj8ccs2jcfaqlpgrf59y6z7hrxsb2c85kkxflp6180rpqjrwq4"; depends=[XML stringr]; }; + SeleMix = derive { name="SeleMix"; version="0.9.1"; sha256="04gxgja35qs4k66iil014dzgl5bkx0qhr9w4v7qpmwv2bb07jwz3"; depends=[mvtnorm Ecdat xtable]; }; + sem = derive { name="sem"; version="3.1-3"; sha256="1y311ywnad910m5v35ga7x4ip95663ibi8vb7l4fq0hqrwn9f0c9"; depends=[MASS matrixcalc]; }; + semdiag = derive { name="semdiag"; version="0.1.2"; sha256="0kjcflw7dn907zx6790w7hnf5db6bf549whfsc0c2r173kf13irp"; depends=[sem]; }; + semGOF = derive { name="semGOF"; version="0.2-0"; sha256="1lsv72yaza80jqadmah7v2cpfqfay57y12hcz6brvia6bmr5qagb"; depends=[sem MASS matrixcalc]; }; + semiArtificial = derive { name="semiArtificial"; version="1.2.0"; sha256="11pwdqpsf5d5g74s2b8ixmrh2khkha3d4akzlkn652s98qr55dpc"; depends=[CORElearn MASS nnet cluster mclust fpc timeSeries timeDate]; }; + SemiCompRisks = derive { name="SemiCompRisks"; version="1.0"; sha256="1q10bqws152vk7fpd9m8w16m0ns2i10q07wnmmbjladvfq4ja9il"; depends=[]; }; + SEMID = derive { name="SEMID"; version="0.1"; sha256="1bxdjdyqlvxz339jdgw90qi6kvfhjdmga38vhfl3ldlxfv2s9gfk"; depends=[igraph]; }; + SemiMarkov = derive { name="SemiMarkov"; version="1.3"; sha256="0zg5yljfmhysx7r3r8ks5mfc10wbrxvfgys0zxfnspd3qb7pz0q2"; depends=[numDeriv MASS Rsolnp]; }; + SemiPar = derive { name="SemiPar"; version="1.0-4"; sha256="1gg80wpqa006qahpaxb5y7vnf4w0x9mhjwh6w3271j0b9znr1gs5"; depends=[MASS cluster nlme]; }; + SemiParBIVProbit = derive { name="SemiParBIVProbit"; version="3.2-10"; sha256="0rc3l4bdrm0g3lkv2h9as400jlqsibd7py448815kljznic70vbm"; depends=[CDVine VGAM mgcv mvtnorm MASS magic polycor VineCopula survey trust matrixStats Matrix]; }; + SemiParSampleSel = derive { name="SemiParSampleSel"; version="1.1"; sha256="0b2vdrqi4mw4bp6r82b3c329cddjxwc39rcramq5nr8awv9ib0cf"; depends=[copula mgcv mvtnorm magic trust Matrix]; }; + semisupKernelPCA = derive { name="semisupKernelPCA"; version="0.1.5"; sha256="1v8wdq63b1gqicj8c9a24k0w7cc0bkg0mnc9z5mklsfcl7g0g6k9"; depends=[datautils irlba]; }; + SEMModComp = derive { name="SEMModComp"; version="1.0"; sha256="1za67470f13z8jsy3z588c7iiiz993d3vjqrb8v9fann2r6sf1md"; depends=[mvtnorm]; }; + semPlot = derive { name="semPlot"; version="1.0.0"; sha256="0ih94pwhkgd8jni3wkv1xmjr4c00q94dq4n8mxdwvixwi1l0gzjq"; depends=[qgraph lavaan sem plyr XML igraph lisrelToR rockchalk colorspace corpcor]; }; + semPLS = derive { name="semPLS"; version="1.0-10"; sha256="0q5linjyv5npkw4grx3vq58iq2q1grf06ikivhkg8w7rvb7pqn6b"; depends=[lattice]; }; + semTools = derive { name="semTools"; version="0.4-0"; sha256="1s6js0wqipfvn8hdmsmxjg3h8j4n6v00jisiwg4rfljvis9wx27l"; depends=[MASS lavaan]; }; + sendmailR = derive { name="sendmailR"; version="1.1-2"; sha256="1d3rzcckrfqsilpzmpacwibhz858b8sw029vfz6mjh6q0ijswi2q"; depends=[base64enc]; }; + sendplot = derive { name="sendplot"; version="4.0.0"; sha256="0ia2xck94nwirwxi38nv0viz5wb8291yiak6f0wgwh84irsrfp1h"; depends=[rtiff]; }; + sensitivity = derive { name="sensitivity"; version="1.8-2"; sha256="1q30xpb1w5dnkivxh1ck53jz2m9kpjmzvr2yd739zxxlir5kx8gr"; depends=[boot]; }; + SensitivityCaseControl = derive { name="SensitivityCaseControl"; version="1.0"; sha256="0dznwcicwlxlvsinqm4c64r9dp1c2mnf810svl34sd8ddnxrvvyl"; depends=[]; }; + sensitivitymv = derive { name="sensitivitymv"; version="1.2"; sha256="0h8lbl5yhxgzdrajjydb2ap9q3dnm1abxdk8gdhp84m1bv8pznkj"; depends=[]; }; + SensoMineR = derive { name="SensoMineR"; version="1.20"; sha256="1qw97cixndg2h29bbpssl0rqag3w8im4nm9964lr7r012y5wdqhx"; depends=[FactoMineR cluster KernSmooth]; }; + sensR = derive { name="sensR"; version="1.3-1"; sha256="1v10zx1lydgmk8a6zsxxg1zzbblxn582ggcminrlvs7gwin7b0hn"; depends=[multcomp MASS numDeriv]; }; + SenSrivastava = derive { name="SenSrivastava"; version="2012-04-0"; sha256="0ki0kl18cj8lkad6q48piyvslkirs8y5rnfa8bvgjxsisxg2ahhp"; depends=[]; }; + separationplot = derive { name="separationplot"; version="1.0"; sha256="1m8s531dsmzdam5s2yn0qyvm89zfxrzj8sh8r2gpcf31qrai7m26"; depends=[MASS RColorBrewer]; }; + seqCBS = derive { name="seqCBS"; version="1.2"; sha256="1kywi3kvvl9y6nm7cwf6fj8gz9gzznp5va336g1akzgy77k82d8v"; depends=[clue]; }; + seqDesign = derive { name="seqDesign"; version="1.0.1"; sha256="17zb8l5kasjvrsrgs2k0ih25ydlz7hpr9dcr1rm1akvscmk8np3d"; depends=[survival xtable]; }; + SeqGrapheR = derive { name="SeqGrapheR"; version="0.4.8.3"; sha256="03plwa3sc1pg34p1szbz3d0z8y53w7iqm7qn9q6fj72rsnk5spxc"; depends=[igraph rggobi gWidgets gWidgetsRGtk2 cairoDevice]; }; + seqinr = derive { name="seqinr"; version="3.0-7"; sha256="0r54kvvwlp5i1fbk4vgbinj3zwzjppiyh7f5dy4kmja8m5lslc4x"; depends=[]; }; + seqMeta = derive { name="seqMeta"; version="1.4"; sha256="0wmwvw09fskwpvy727lc974aw9gvd495wgxf8k1ybi16bq2h080j"; depends=[survival Matrix coxme CompQuadForm]; }; + seqminer = derive { name="seqminer"; version="3.0"; sha256="0wkd315vc4h8hdlz8z44w04mkvl8kyck736jhrswfrzc4b3xrfb4"; depends=[stringr]; }; + seqmon = derive { name="seqmon"; version="0.2"; sha256="075hc6vgl1w3nisrihf5w6mkkg9q601jsqxm9hk9yagyvvd7d78w"; depends=[]; }; + seqPERM = derive { name="seqPERM"; version="1.0"; sha256="1i8ai4gxybh08wxjh96m6xlqxhh7ch0xihjs879snmy4zqfi0pap"; depends=[]; }; + seqRFLP = derive { name="seqRFLP"; version="1.0.1"; sha256="1i98hm8wgwr8b6hd237y2i9i0xgn35w4n2rxy4lqc5zq71gkwkvk"; depends=[]; }; + sequences = derive { name="sequences"; version="0.5.8"; sha256="1872737x77mknn2ay7qh8brd28hzsqzjqkx4shwkp0w7lk2p0rp0"; depends=[Rcpp]; }; + Sequential = derive { name="Sequential"; version="1.1"; sha256="1fr4n6qbxwj6hs01h07wdj5v4c7af5q8ccnm33yzcrx845qf8fiv"; depends=[]; }; + sequenza = derive { name="sequenza"; version="2.0.0"; sha256="04kva5bvflpzq53qgif8sw49npcx1hwlqvrypgb6ynajyg28hd6p"; depends=[squash]; }; + seriation = derive { name="seriation"; version="1.0-13"; sha256="0k3m4x0msdynblcy1ign4p5qlsqmxk2p4vfjkv0fz3qjsbxfw61n"; depends=[TSP cluster gclus colorspace MASS]; }; + servr = derive { name="servr"; version="0.1"; sha256="035pf1xg0jgjrba39wxwlrh7n43kp29ymagfv7yskxj31dh3b34i"; depends=[httpuv]; }; + sesem = derive { name="sesem"; version="1.0.1"; sha256="0s4xkv6bc5nxhj09mk9agnj11b9h7swccs9jrn4lg3fy12vqhf5a"; depends=[lavaan mgcv gplots]; }; + SesIndexCreatoR = derive { name="SesIndexCreatoR"; version="1.0-2"; sha256="14xq2niqa6ml2dlyamv4w8appll7n0nplzvx9r7bnm289m4d6wwm"; depends=[FactoMineR class]; }; + session = derive { name="session"; version="1.0.3"; sha256="04mcy1ac75fd33bg70c47nxqxrmqh665m9r8b1zsz5jij1sbl8q5"; depends=[]; }; + SetMethods = derive { name="SetMethods"; version="1.0"; sha256="0zizvrzyk01w4ncazvifmjm4h5zrpsf6n68n11sc8f5kzny9ia48"; depends=[lattice betareg lattice betareg]; }; + setRNG = derive { name="setRNG"; version="2011.11-2"; sha256="1gp577yy3wzszpzgdhfpas7hrk658rb2vz0dxm111s5xnc5wcp74"; depends=[]; }; + sets = derive { name="sets"; version="1.0-13"; sha256="1ys17iy2gjkfnp3914g6sfx3ilgm18pdfak59cqrwalwwnhc3zaz"; depends=[]; }; + setwidth = derive { name="setwidth"; version="1.0-3"; sha256="1s6m24kmkafscgibgfldm70m57bv4gs0m7fdki18nwdi1rvwpkbf"; depends=[]; }; + severity = derive { name="severity"; version="2.0"; sha256="1mp19y2pn7nl9m8xfljc515kk5dirv0r2kypazpmd956lcivziqq"; depends=[]; }; + sExtinct = derive { name="sExtinct"; version="1.1"; sha256="1l6232z6c4z3cfl1da94wa6hlv9hj5mcb85fj1y0yparkvvl8249"; depends=[lattice]; }; + sfa = derive { name="sfa"; version="1.0-1"; sha256="1acqxgydf8j5csdkx0yf169x3yaa31r0ccdrqarh6vj1hacm89ad"; depends=[]; }; + sfsmisc = derive { name="sfsmisc"; version="1.0-25"; sha256="1dz7m89a7agwxmi6hijmc8ynxl4vdm04n9wp7wzi683i6j74fs0k"; depends=[]; }; + sft = derive { name="sft"; version="1.0-1"; sha256="0pi6x66mcywc1lbkwnwldnfg64h5vpp65vlis6b9cqd8iyx8msp4"; depends=[fda]; }; + SGCS = derive { name="SGCS"; version="2.0"; sha256="1d7abq07f0702k33j334va7kc4swz7rdqqb4sw1wq6a671r7k5v6"; depends=[spatstat]; }; + sgeostat = derive { name="sgeostat"; version="1.0-25"; sha256="04zl932s6zb26r42h2l8qf3d43bmrq67281mrkh4spn4vcddv5da"; depends=[]; }; + SGL = derive { name="SGL"; version="1.1"; sha256="1wc430jqn3li102zpfmyyavfbab7x7ww9p89clxsndyigrrbjdr7"; depends=[]; }; + sglasso = derive { name="sglasso"; version="1.0-0"; sha256="1pb8s1hbl3ygnd6w28d2vlhbd7rxga84cs77fanay4qgxmgayfkx"; depends=[Matrix]; }; + sglOptim = derive { name="sglOptim"; version="1.0.122.0"; sha256="07anc9ixbc82807ixr4k779src72gvbx0wsy3mr0mvzg9xq2fi1v"; depends=[Matrix]; }; + sglr = derive { name="sglr"; version="0.7"; sha256="11gjbvq51xq7xbmpziyzwqfzf4avyxj2wpiz0kp4vfdj3v7p4fp9"; depends=[ggplot2 shiny]; }; + sgof = derive { name="sgof"; version="2.0.2"; sha256="1rami39hlgh72gkjwxd9nxva2kidw98pa02kmnh7scpip265jx06"; depends=[]; }; + SGP = derive { name="SGP"; version="1.2-0.0"; sha256="0v4ljhvfrvl6izprcrw8w36474fjz0v1kpcsg0sx32359amd3zxz"; depends=[Cairo colorspace data_table doParallel foreach gridBase iterators jsonlite plyr quantreg reshape2 RSQLite sn]; }; + sGPCA = derive { name="sGPCA"; version="1.0"; sha256="16aa5jgvkabrlxaf1p7ngrls79mksarh6di3vp26kb3d3wx087dx"; depends=[Matrix fields]; }; + SGPdata = derive { name="SGPdata"; version="8.0-0.0"; sha256="0g25s2wcj47394fm16maygafnynizma3mgb3r65b5p9c27swk4v8"; depends=[]; }; + sgr = derive { name="sgr"; version="1.0.4"; sha256="059gqq1pm7fz3kmfnlkcrlrw4v96460067kfa9frx19g3pij8ajp"; depends=[]; }; + shape = derive { name="shape"; version="1.4.1"; sha256="1s1yj7cqc9svqliv9f9k3fimkakblri9vwr785ihav58x5cn90qj"; depends=[]; }; + shapefiles = derive { name="shapefiles"; version="0.7"; sha256="08ghndihs45kylbzd9wnxffn8ixvxjhjnjldjyd526ai2sj8xcgf"; depends=[foreign]; }; + shapes = derive { name="shapes"; version="1.1-9"; sha256="044d4ci9lv6g9vbh8zn85f08d9n8f91vn8gn1wqv1lp0qjycpmjv"; depends=[scatterplot3d rgl MASS]; }; + SharpeR = derive { name="SharpeR"; version="0.1401"; sha256="1l55llafs81gl1mdhyyi6m02w7mx8g46y65jf1kw5mbrljgri8az"; depends=[matrixcalc xtable]; }; + sharpshootR = derive { name="sharpshootR"; version="0.6-1"; sha256="0q5cy2mz98pc6dz7ixnr9cvlsl449zkz325h1m07adr97m52pl3p"; depends=[aqp ape igraph cluster lattice latticeExtra vegan sp reshape2 Hmisc scales circular RColorBrewer plyr]; }; + sharx = derive { name="sharx"; version="1.0-3"; sha256="1a94s5r2ymif2l3ld101qqn5qkd4z4sj5scg0dsvdpdzkvnqpcyq"; depends=[Formula dcmle dclone]; }; + sheldusr = derive { name="sheldusr"; version="0.1"; sha256="1q8d2cp177b574ml9z6mawpk8pyfdmwan4hc8srl3chq3yr44a45"; depends=[]; }; + shiny = derive { name="shiny"; version="0.9.1"; sha256="15pnb87jap11myvlzppshswqwszjnkmcg27pp15askg1l71k1ci3"; depends=[httpuv caTools RJSONIO xtable digest]; }; + shinyAce = derive { name="shinyAce"; version="0.1.0"; sha256="1031hzh647ys0d5hkw7cqxj0wgry3rxgq95fgs7slbm0rgx9g6f7"; depends=[shiny]; }; + shinyBS = derive { name="shinyBS"; version="0.20"; sha256="1l95g2rzv53vwx5zcaqiqz8jirncwh1yb14y62x9phg4n5jfk9f8"; depends=[shiny]; }; + shinyRGL = derive { name="shinyRGL"; version="0.1.0"; sha256="07llg1yg5vmsp89jk60ly695zvxky6n06ar77mjxzlyc294akwmy"; depends=[rgl shiny]; }; + SHIP = derive { name="SHIP"; version="1.0.2"; sha256="0b83cclibdz1r7sz968nmca4najwgps9wrdlsh4gxrl7fq40k4ln"; depends=[]; }; + shotGroups = derive { name="shotGroups"; version="0.4"; sha256="036qa5xdsl10swj6wfjhppksxj351yb0gifif80flzhlw4yl7lca"; depends=[boot coin CompQuadForm energy KernSmooth mvoutlier robustbase]; }; + showtext = derive { name="showtext"; version="0.2"; sha256="18pr03n0v2dg93pnp3saar3664dpina33wzmhw13hqcx6nfjgzw7"; depends=[sysfonts]; }; + shp2graph = derive { name="shp2graph"; version="0-1"; sha256="0bdvv9ygzq7jgbab6i3sclm48r373z9b2jlv9hdq0h4kmxv1wznd"; depends=[maptools igraph]; }; + shrink = derive { name="shrink"; version="1.1"; sha256="0avf3502mjz2apy1nnz8a6xp5n77vva5v1n84sn1qimjnz40g58d"; depends=[]; }; + ShrinkCovMat = derive { name="ShrinkCovMat"; version="1.0.0"; sha256="0l6zf0iizcymdkykkyq81bna5wll0j6wjnkfi5i5lpblz6xh5ddr"; depends=[]; }; + shuffle = derive { name="shuffle"; version="1.0"; sha256="037i45mfys1nr9sqmmsfb2yd3ba3aa22hc701f5j2zp8jx57qn3k"; depends=[]; }; + siar = derive { name="siar"; version="4.2"; sha256="1c4z72jr81dzkp9xqyrrkwjsalvvksl67pnbaadkc52v84fhzx3r"; depends=[hdrcde coda MASS bayesm mnormt spatstat]; }; + sideChannelAttack = derive { name="sideChannelAttack"; version="1.0-6"; sha256="1xcsy1h8gc8a4f9nzs7zv8x6v55g1pg8vy1kg64iqxm0gnz2f20l"; depends=[MASS corpcor mmap ade4 infotheo]; }; + sidier = derive { name="sidier"; version="2.3"; sha256="08w6xsncs4nbjgmfh1irfjrc7iflg7w4dx3shr9fh0vbsd35g8wl"; depends=[ape network igraph]; }; + sig = derive { name="sig"; version="0.0-4"; sha256="0q5bwaj15jlmcg4qqcdkkwbnqphwgwzcnfzga12xzr912rwjybjr"; depends=[]; }; + sigclust = derive { name="sigclust"; version="1.1.0"; sha256="0151v7lr4n4yyn93j0s06gzc9jh9xhdgvfw6kvpfy24jl6wdii7g"; depends=[]; }; + SightabilityModel = derive { name="SightabilityModel"; version="1.2"; sha256="1piw8i6c3bdwjj20329431is3b7mxij7f1g49g7qw00s197n8qha"; depends=[]; }; + signal = derive { name="signal"; version="0.7-4"; sha256="0sz8im7i46qy5wjpm34a2nqvrc1vipmqlw8ns3i2s1vhcvp7fjs1"; depends=[MASS]; }; + signalextraction = derive { name="signalextraction"; version="2.0.3"; sha256="0kxk32jfkcgkdcq4xfzdf24qr6wkkhl4yf2v4sjqxhviwml2g2aq"; depends=[]; }; + sigora = derive { name="sigora"; version="0.9.2"; sha256="1s3c0xwxabr3n8sb6rjhzkkzbpvcczbgqq6b263yypwasqbg4mlb"; depends=[]; }; + SigTree = derive { name="SigTree"; version="1.4"; sha256="0kh5fa5i5f8wik8rrwcfz2j66ywv89xhq3670srlli1j8vi4vfa8"; depends=[ape phylobase phyext RColorBrewer]; }; + SigWinR = derive { name="SigWinR"; version="1.0.2"; sha256="0kwg2ly1lglksibgdh56zvmw7hk9py4kvln9flaf00j9d0f2lj0i"; depends=[]; }; + SII = derive { name="SII"; version="1.0.3"; sha256="1k9mvz6g25qs351c0vx7n5h77kb6k833jrcww14ni59yc9jgvsyg"; depends=[]; }; + simba = derive { name="simba"; version="0.3-5"; sha256="14kqxqavacckl5s1518iiwzrmlgbxz1lxy33y8c9qq7xaln41g9h"; depends=[vegan]; }; + simboot = derive { name="simboot"; version="0.2-5"; sha256="0slznwk8i3z76sxbfd4y5rp28jr6jv4i5ynnckpr10i59ba04wlq"; depends=[boot mvtnorm]; }; + SimComp = derive { name="SimComp"; version="1.9.0"; sha256="1qw1bm0pahmvjxwa15q42vifq71lg7rw3dij7vba14sy88746m3g"; depends=[mvtnorm multcomp mratios]; }; + SimCorMultRes = derive { name="SimCorMultRes"; version="1.2"; sha256="0wgi36sdpsippdbawdl7b9bvip0l8gp8xd1v85vznd1dibkfjr1r"; depends=[evd]; }; + simctest = derive { name="simctest"; version="2.4"; sha256="12qxav3qy1s6g8yr6ygbjp3jlrf2p0h3zvl8bnqpk6mx95zw5gh3"; depends=[]; }; + Sim_DiffProc = derive { name="Sim.DiffProc"; version="2.6"; sha256="1cs9jmb1849kzs38nx8788al0jda2vbx0cry9g3gx4f7v39cc87d"; depends=[]; }; + simecol = derive { name="simecol"; version="0.8-4"; sha256="0k83zcnvxq89m60d9157w3sn2gwyl6m7812qy1bgn260ac2nqv10"; depends=[deSolve]; }; + simex = derive { name="simex"; version="1.5"; sha256="01706vbmfgcg13w1kq8v5rnk5xggbd1n7fv50c6bvhdyc1dly313"; depends=[]; }; + simexaft = derive { name="simexaft"; version="1.0.7"; sha256="13w9m35qrrp8kkz4gqp7fg9jv8fs99y19n21bdxsd3f5mlkbvqgl"; depends=[mvtnorm survival]; }; + simFrame = derive { name="simFrame"; version="0.5.3"; sha256="154d4k6x074ib813dp42l5l8v81x9bq2c8q0p5mwm63pj0rgf5f3"; depends=[Rcpp lattice]; }; + SimHap = derive { name="SimHap"; version="1.2.0"; sha256="1mnvqfqfgkhnh3glvr0xamw7si29jg1ri0nbb437a7wf023siy9z"; depends=[survival nlme]; }; + Simile = derive { name="Simile"; version="1.3"; sha256="0jf0ispjv8izrxggp6y3a3scd8qlbqfgppqz8m1q9n3gy8jhbsli"; depends=[]; }; + SIMMS = derive { name="SIMMS"; version="0.0.1"; sha256="0s53kc95jbav28kj35isc7j09qpjsk49za8p766z9yfaiw0higp7"; depends=[survival MASS]; }; + simMSM = derive { name="simMSM"; version="1.0.1"; sha256="0lway32vjajlsnkvi7j9hcsaz7bmhzmi1w3r2gr28y5mbkpfkgb2"; depends=[]; }; + simone = derive { name="simone"; version="1.0-2"; sha256="071krim64s7fjwvwq7bjr0pw33mw9am9wpyypcy4gs7g1hj8wcir"; depends=[mixer]; }; + simPH = derive { name="simPH"; version="1.2"; sha256="1g6jq01ygx41q0giyqmw9adb7qljfqva66pr1rn18zgjnwh0d46f"; depends=[car DataCombine data_table dplyr ggplot2 gridExtra MASS mgcv plyr reshape2 stringr survival quadprog]; }; + simpleboot = derive { name="simpleboot"; version="1.1-3"; sha256="1qprjisfflhzg8ll12p3q1zcfdiyc45glic2j9cw9nhx5rb065fk"; depends=[boot]; }; + SimpleTable = derive { name="SimpleTable"; version="0.1-2"; sha256="1rkybrp7zlb7cj37799npss1ldic0yf519q5l7a6ikal4yl1afyb"; depends=[hdrcde locfit MCMCpack]; }; + simplexreg = derive { name="simplexreg"; version="1.0"; sha256="144kljh968i7n2d21r4204i4h952mfrkfc8b5r6x760msgjphxvh"; depends=[Formula plotrix]; }; + simPopulation = derive { name="simPopulation"; version="0.4.1"; sha256="0vcci28ic6y4ih2l6cbgv0vwa5f7776pa3dvi13rmzbzdjblp1yj"; depends=[nnet POT lattice vcd]; }; + Simpsons = derive { name="Simpsons"; version="0.1.0"; sha256="1pm6wga1yxc35zgz72plzq23d3l4bbzfdvhszdxmkn1pkk64h8ms"; depends=[mclust]; }; + SimRAD = derive { name="SimRAD"; version="0.93"; sha256="1n1457ckfcxrxi09qxvjrwv1rrqcr9608cas0qd3yhf8xv0zv1hm"; depends=[]; }; + simsalapar = derive { name="simsalapar"; version="1.0-2"; sha256="0y45g3qvig4nzyd6lmcff3awz1i5jym8jxm96261d3g8fw7fp9vv"; depends=[sfsmisc gridBase colorspace]; }; + simsem = derive { name="simsem"; version="0.5-3"; sha256="12y2jlyys3aq8k7wi13iarzlgiqisp7731vcnd5rvla3cn0bnzrw"; depends=[lavaan]; }; + SimSeq = derive { name="SimSeq"; version="1.0.0"; sha256="142qjkfz53q3g9k37nqhilsw1mcklsa9q05yqvyn9dvj9l06y11i"; depends=[fdrtool]; }; + simSummary = derive { name="simSummary"; version="0.1.0"; sha256="1ay2aq6ajf1rf6d0ag3qghxpwj0f8b3fhpr2k0imzmpbyag1i3gj"; depends=[abind svUnit gdata]; }; + SimuChemPC = derive { name="SimuChemPC"; version="1.3"; sha256="0ff454rvplr1ad5c9nmq4jbdbgfy5gzlvxfwhnyv2wzvdcyca6rk"; depends=[rcdk]; }; + SimultAnR = derive { name="SimultAnR"; version="1.1"; sha256="0jvmxwmbnx14h27b576dg9mw3c2z0w3m82f51f25zd1darcl06bj"; depends=[]; }; + SIN = derive { name="SIN"; version="0.6"; sha256="0vq80m3vl8spdnlkwvwy0gk3ziyybqzjp3scnfdcpn942ds7sgg9"; depends=[]; }; + SINGLE = derive { name="SINGLE"; version="1.2"; sha256="13gxv0k7zd4d7ykgxjaf5x0w3c2sf7xsvm16irawm72mr0iwqxnj"; depends=[flsa igraph dse Matrix]; }; + siplab = derive { name="siplab"; version="1.0"; sha256="1cbjrinnkmcysykp4cldmc8hj4jqfld9pr2bk9a0dqxs2ivwp097"; depends=[spatstat]; }; + sirad = derive { name="sirad"; version="2.0-7"; sha256="009icj1jil757vvsf88sgmdz40swrx1qvrhnx7wwj7p3dlh78pvw"; depends=[zoo ncdf RNetCDF raster]; }; + sirt = derive { name="sirt"; version="0.44-48"; sha256="1a77yjddigm98j871l0h9c4x63pxv5iy1isipmnsp364468m8r0y"; depends=[MASS coda mvtnorm sfsmisc TAM CDM combinat ic_infer sm psych pbivnorm gtools Rcpp qgraph]; }; + SIS = derive { name="SIS"; version="0.7-1"; sha256="0v3c5vbc9hl5siyqbv00q5xi79hywp45zv68ww005zmnxdfg2kvn"; depends=[glmnet ncvreg survival]; }; + sisus = derive { name="sisus"; version="3.9-12"; sha256="0b1gpzhkvhajc6mqww01c5zk71h6q8kqwgaiiqimr5wh4hfbpxi0"; depends=[MASS RColorBrewer coda gtools moments polyapost rcdd]; }; + sitar = derive { name="sitar"; version="1.0"; sha256="1psz68j2bjhs9zv6966xq25799zg4sxva5xl96ffwxb8mv8y01nd"; depends=[nlme]; }; + sitools = derive { name="sitools"; version="1.4"; sha256="0c0qnvsv06g6v7hxad96fkp9j641v8472mbphvaxa60k3xc7ackb"; depends=[]; }; + SixSigma = derive { name="SixSigma"; version="0.8-1"; sha256="15jdr10a7a6wv50vz9y6qcrbhnddl8zh4j4d48xrarrqbjy6l4p7"; depends=[qcc lattice ggplot2 reshape2 nortest testthat]; }; + SiZer = derive { name="SiZer"; version="0.1-4"; sha256="0kiwvxrfa2b49r2iab5v2aysc2yzk5ck3h41f2hr0vq5pdnz0qy5"; depends=[boot]; }; + sjdbc = derive { name="sjdbc"; version="1.5.0-71"; sha256="0i9wdfadfcabayq78ilcn6x6y5csazbsgd60vssa2hdff0ncgvk1"; depends=[rJava]; }; + sjPlot = derive { name="sjPlot"; version="1.4.1"; sha256="18mw0zvd8ll5n66wpyi9s1g2wjddsadkwwqp5n86bzfxazfqm5kd"; depends=[ggplot2 MASS car foreign lmtest plyr psych reshape2 scales]; }; + SKAT = derive { name="SKAT"; version="0.95"; sha256="0jvcwckx7m5jc929ip2fqppgl1c9cx7bpybx986fs25gg7m808d4"; depends=[]; }; + skatMeta = derive { name="skatMeta"; version="1.4.3"; sha256="0bknv066ya4yl4hl4y02d9lglq2wkl9c2j1shzg3d64dg4sjvbak"; depends=[Matrix coxme survival CompQuadForm]; }; + skda = derive { name="skda"; version="0.1"; sha256="0a6mksr1d0j3pd0kz4jb6yh466gvl4fkrvgvnlmvivpv6b2gqs3q"; depends=[]; }; + SkewHyperbolic = derive { name="SkewHyperbolic"; version="0.3-2"; sha256="00l1bz3wxvs7qwl4sy814w6nrh0k79ldck5zd6c5alvg50hjwwk3"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; }; + skewt = derive { name="skewt"; version="0.1"; sha256="1xm00zfzjv53cq9drfcx7w2ri5dwsq7kajrk2hc1mvw0b6s4x2ix"; depends=[]; }; + Skillings_Mack = derive { name="Skillings.Mack"; version="1.0-2"; sha256="02rmla48ls3fx4y5yshngsxijna2zrbpnvzb13r731l9lf9vxdv7"; depends=[MASS gregmisc matrixcalc gtools]; }; + skmeans = derive { name="skmeans"; version="0.2-6"; sha256="1ncas6mx9w5saz28vvwni8g0wbm6m7gfv8a7azw4305pc64bawam"; depends=[slam clue cluster]; }; + slam = derive { name="slam"; version="0.1-32"; sha256="000636dwj4kmj5w1w5s6bqixh78m7262y3fgizj7rfhcnc2gz7ad"; depends=[]; }; + SLC = derive { name="SLC"; version="0.3"; sha256="0l0y1sjj0glsb7vwla99ijclcgaq2y85bgz1wqm348n4shsmm2rs"; depends=[]; }; + Sleuth2 = derive { name="Sleuth2"; version="1.0-7"; sha256="1zav2g1yqc6bvzap4r5xwy9abkdj8iswivj5y2lylc25nkxwcswg"; depends=[]; }; + Sleuth3 = derive { name="Sleuth3"; version="0.1-6"; sha256="0q8sgh2szqnxc289vgi5v0sljzz8yb803ijx9w5mswdxw87z2dq3"; depends=[]; }; + SLHD = derive { name="SLHD"; version="1.2-1"; sha256="0n5j20hp7kgi23gjprcwcaji8wdz5wwqqyc7i8dv0058fz2b5gzc"; depends=[]; }; + sltl = derive { name="sltl"; version="1.0"; sha256="08bh76qs4if17iw51wic1r9v17wldyqgmbyfpccqp49x7ajxnwhq"; depends=[FitAR timeSeries lubridate]; }; + sm = derive { name="sm"; version="2.2-5.4"; sha256="0hnq5s2fv94gaj0nyqc1vjdjd64vsp9z23nqa8hxvjcaf996rwj9"; depends=[]; }; + smaa = derive { name="smaa"; version="0.2-2"; sha256="1xd5yd63j67w9kb3sl3jbxkvd76270c1wlg9r3k85dm2mjd0l38v"; depends=[]; }; + smacof = derive { name="smacof"; version="1.2-3"; sha256="0n0j7w4kydnzd6hhnc6632waqzk63lgm8mwjwzp5nj3h1v4c528x"; depends=[polynom rgl scatterplot3d Hmisc colorspace]; }; + smam = derive { name="smam"; version="0.2-2"; sha256="1p6bzk4b9kpmfs4nxmcgc46hgdpldqg0pzpc0zhvs187z2nrfw75"; depends=[Matrix]; }; + smart = derive { name="smart"; version="1.0.1"; sha256="0ki3qn71zrw0nyv395qijcwahnxyv1p21j8x6cxr9spah2wzz8lb"; depends=[Matrix gplots gtools PMA elasticnet pcaPP igraph]; }; + SmarterPoland = derive { name="SmarterPoland"; version="1.2"; sha256="1ga2m9kbn269dx21k5q1drlw9hph99fsfdx2mfnajwlgpycgf6m9"; depends=[reshape rjson]; }; + smatr = derive { name="smatr"; version="3.4-3"; sha256="0iiazln4albj7k5w67slvyn98cqg4f6k409mml0n1pvlkki0h7gy"; depends=[plyr]; }; + SMC = derive { name="SMC"; version="1.1"; sha256="1r4ajgi785lmpnlxrba0n6phmk1f0mb6b5yqk6hx8gng2w8ggclz"; depends=[]; }; + smco = derive { name="smco"; version="0.1"; sha256="1sj3y1x6pc32cwzyhn9gaxs964xh5xl4vw08hsa8kfcxhh2r0s99"; depends=[]; }; + SMCP = derive { name="SMCP"; version="1.1.3"; sha256="0ksx2ibz849vhrz2px9p7z8hlgvspz7kxhadvhk5mhkfbhrnpdf0"; depends=[]; }; + SMCRM = derive { name="SMCRM"; version="0.0-3"; sha256="1x06w00sdijhg5h1s61q4ym5wgk97pw9md6api7if2cxjv7h5zcy"; depends=[]; }; + smcure = derive { name="smcure"; version="2.0"; sha256="1j7fxnb0sx57a0l929c3haz4f1y829ymlq0cvdh0cia4qp6ydv60"; depends=[survival]; }; + smcUtils = derive { name="smcUtils"; version="0.2.2"; sha256="0d1kmg386j0zrpp8vgxjwvpf1i25l86xrh82767xkp0n9qj8srwq"; depends=[]; }; + smdata = derive { name="smdata"; version="1.1"; sha256="1hcr093xfkp88fn75imjkmfnp9cfsng5ndxpa8m2g0l29qhpxfvk"; depends=[]; }; + smdc = derive { name="smdc"; version="0.0.2"; sha256="1j6xnzjbmmakbmk3lyjck3bsy8w8hyd9d8h04s4gbddhci283mqm"; depends=[proxy tm]; }; + sme = derive { name="sme"; version="0.8"; sha256="1djrs3z699p6q2y1hfywh27csqc9cp1cfm3lxkigmmvxqjhyshz6"; depends=[lattice]; }; + SMFI5 = derive { name="SMFI5"; version="1.0"; sha256="10qp33l0dig00y9gfhpzqig6dbkjw76ch9pfq64dn4xrdkpq1kx5"; depends=[ggplot2 reshape corpcor]; }; + smfsb = derive { name="smfsb"; version="1.1"; sha256="0khd23b6k9zgxz2x6g6c6k2g32mbpli32izdq6fgk1a990kdsp6j"; depends=[]; }; + SMIR = derive { name="SMIR"; version="0.02"; sha256="02q8m5m8lcfrpi78p3kajkps8wiir3jwyqc54j9vfx8aj6mk1v71"; depends=[]; }; + smirnov = derive { name="smirnov"; version="1.0-1"; sha256="09mpb45wj8rfi6n6822h4c335xp2pl0xsyxgin1bkfw97yjcvrgk"; depends=[]; }; + SmithWilsonYieldCurve = derive { name="SmithWilsonYieldCurve"; version="1.0.1"; sha256="0qvhd1dn2wm9gzyp6k7iq057xqpkngkb4cfmvmjqmf0vhysp371w"; depends=[]; }; + SML = derive { name="SML"; version="0.1"; sha256="0pdj7321wy50v5l23hknlm30kp8cfgn072pbbifyp8qzmk0hyd8h"; depends=[glmnet Matrix lattice]; }; + SMNCensReg = derive { name="SMNCensReg"; version="2.3"; sha256="0gyqv31isvn1xzwnzsi9c4ilj2j8h96a5z65yvf1l6bbrp140xw6"; depends=[Matrix PerformanceAnalytics]; }; + SmoothHazard = derive { name="SmoothHazard"; version="1.0.9"; sha256="01ipdkb51zwrwb1gj344y4gl0934y8j54738rdzffl2lq6r3w7kv"; depends=[prodlim mvtnorm]; }; + smoothHR = derive { name="smoothHR"; version="1.0.1"; sha256="02kjqkgnhjwhq1vmva9nmy36a7bc6zjj6g81dw9m4zd3y9nbb005"; depends=[survival]; }; + smoothie = derive { name="smoothie"; version="1.0-1"; sha256="12p4ig8fbmlsby5jjd3d27njv8j7aiwx0m2n1nmgvjj0n330s1kj"; depends=[]; }; + smoothmest = derive { name="smoothmest"; version="0.1-2"; sha256="14cri1b6ha8w4h8m26b3d7qip211wfv1sywgdxw3a6vqgc65hmk5"; depends=[MASS]; }; + smoothSurv = derive { name="smoothSurv"; version="1.3-2"; sha256="11aq3yb7q4pilp00l7q8r3ywbmwnka63kkjpvakp27mvaqyr02qr"; depends=[survival]; }; + smoothtail = derive { name="smoothtail"; version="2.0.3"; sha256="0yr3j5mq1h9pd72kyi9z6wzly9cqkscim814yi710y79l03gp0fd"; depends=[logcondens]; }; + SMPracticals = derive { name="SMPracticals"; version="1.4-2"; sha256="0apmkmsv2fqmxpgq08n9k9dvcknj74s4cpp0myjcd6kibb7g9slq"; depends=[ellipse MASS nlme survival]; }; + SMR = derive { name="SMR"; version="1.0.0"; sha256="1479rkzwciw6h2r43wip52fmv5im33jrdphahcg38rfdqbx5ayrr"; depends=[]; }; + sms = derive { name="sms"; version="2.2"; sha256="049wh6d44b9iy1cfzkqy2iqwn5n5hyzq4xvd6w92r70qhjj8km4i"; depends=[doParallel foreach]; }; + smss = derive { name="smss"; version="1.0-1"; sha256="17a0x92hxzn212yiz87n7ssyi3bdhnyawxk1kkmk46q1ss22a1pm"; depends=[]; }; + SMVar = derive { name="SMVar"; version="1.3.3"; sha256="17wr4lixy3p32gr4jq02d7zsr88yrbddjsvynzdsdrwbxf4mwqhp"; depends=[]; }; + sn = derive { name="sn"; version="1.0-0"; sha256="1g4i49zsdas6bb1fbr8cpgqilb597jl2zypamf5m10nsd35y07kx"; depends=[mnormt numDeriv]; }; + sna = derive { name="sna"; version="2.3-2"; sha256="1dmdv1bi22gg4qdrjkdzdc51qsbb2bg4hn47b50lxnrywdj1b5jy"; depends=[]; }; + snapshot = derive { name="snapshot"; version="0.1.2"; sha256="0cif1ybxxjpyp3spnh98qpyw1i5sgi1jlafcbcldbqhsdzfz4q10"; depends=[]; }; + SNFtool = derive { name="SNFtool"; version="2.1"; sha256="12kjxgjazb0qivcyg0lkqlvkdk7algpw3s1ir8p5if5c8cpicjyy"; depends=[]; }; + snow = derive { name="snow"; version="0.3-13"; sha256="1habq43ncac9609xky3nqfkbq52cz36dg8jbdihag269z1kazdnf"; depends=[]; }; + SnowballC = derive { name="SnowballC"; version="0.5"; sha256="0cx73c7jpz8fxskkjp9ln003gb17qdxc9znhmsdkhqpdnahh3xaf"; depends=[]; }; + snowfall = derive { name="snowfall"; version="1.84-6"; sha256="1n9v9m4c02pspgkxfmq7zdk41s2vjcsk06b0kz9km4xy1x7k0hsg"; depends=[snow]; }; + snowFT = derive { name="snowFT"; version="1.3-0"; sha256="10hhhzzzyz1ph7c8k08s79h4pdwq4jk8bh47y37ww0yjq0fd6gik"; depends=[snow]; }; + SNPassoc = derive { name="SNPassoc"; version="1.9-2"; sha256="113byj8zbg6xyxb1qzm76sqfyk3fap0sd90691zzm1x2pbfnb3mh"; depends=[haplo_stats survival mvtnorm]; }; + snpEnrichment = derive { name="snpEnrichment"; version="1.4-0"; sha256="0fdr27d7hk3vzvhrvgnypwcrk4y0sncrrg4kk730ynsv0ig7dswl"; depends=[]; }; + snplist = derive { name="snplist"; version="0.12"; sha256="0jsf080pbpnsx2jygyqg0l14lsr4fvjzahgchdrawjhl2rky4nwl"; depends=[RSQLite Rcpp R_utils]; }; + SNPmaxsel = derive { name="SNPmaxsel"; version="1.0-3"; sha256="0pjvixwqzjd3jwccc8yqq9c76afvbmfq0z1w0cwyj8bblrjpx13z"; depends=[mvtnorm combinat]; }; + SNPMClust = derive { name="SNPMClust"; version="1.0"; sha256="1vyag8axrl888qhjsbv7g84hzfsnvxh5ccdcdriamy50c2chkji8"; depends=[MASS mclust]; }; + snp_plotter = derive { name="snp.plotter"; version="0.5.1"; sha256="16apsqvkah5l0d5qcwp3lq2jspkb6n62wzr0wskmj84jblx483vv"; depends=[genetics]; }; + SNPRelate = derive { name="SNPRelate"; version="0.9.19"; sha256="19cz0jlsiy4fhhb54bbsmd2lwhsq8jmw6ccc7ir1j57cw1lzrk64"; depends=[gdsfmt]; }; + snpStatsWriter = derive { name="snpStatsWriter"; version="1.5-6"; sha256="04qhng888yih8gc7yd6rrxvvqf98x3c2xxz22gkwqx59waqd4jlq"; depends=[colorspace]; }; + SNPtools = derive { name="SNPtools"; version="1.1"; sha256="0l29kiqz4048x7amxx1qzkaw2xnd6lpdsdp5nq3rck9amx2hw64a"; depends=[]; }; + SNSequate = derive { name="SNSequate"; version="1.1-0"; sha256="1cmnq4glhwwxim6lrls3vd234w3klkrpsid61rhzrli43297sibw"; depends=[magic]; }; + SOAR = derive { name="SOAR"; version="0.99-11"; sha256="1n38gx5sxpkqfkk4y6vpp6g19b8bs5bisni9wn6311s0csizp86m"; depends=[]; }; + soc_ca = derive { name="soc.ca"; version="0.7.1"; sha256="0lg1bpbd0crywa29xc79cn3kr614wq4hr09xpwk17nv7q8qw8cnh"; depends=[ggplot2 gridExtra ellipse scales]; }; + SocialNetworks = derive { name="SocialNetworks"; version="1.0"; sha256="0g6l1rf08qz0332fglc2gvkba55fjq9fiwf25rjqanh6spgk60fn"; depends=[Rcpp]; }; + SoDA = derive { name="SoDA"; version="1.0-6"; sha256="0sh2dan4ga2k14rirnkvgzsvbksx1k4ika5gkf5cy247rjkqnpj0"; depends=[]; }; + SODC = derive { name="SODC"; version="1.0"; sha256="18s4rcp5dzchvwrzzbfhbs3x91zlg1rymjarxjk5i429mfrn0krx"; depends=[magic ppls psych MASS]; }; + softclassval = derive { name="softclassval"; version="1.0-20130317"; sha256="1ifqm4a3xxi9wd4l1q4l5h4q5f8hp0k28mqpszzj8k1czbph88ql"; depends=[arrayhelpers]; }; + SoftClustering = derive { name="SoftClustering"; version="0.14.02"; sha256="15j79h1ccvzfpi55prbv2d7bms1grgry0ka58cr757cvwavrnbb8"; depends=[]; }; + softImpute = derive { name="softImpute"; version="1.0"; sha256="0pkpr8pxvrrw4p95907bnhl3k54dxz5r2fk8zi56kilrarhzchqr"; depends=[Matrix]; }; + soilDB = derive { name="soilDB"; version="1.3-2"; sha256="0rpkj9rjk75nz4dp0hkp4xjmd5s4lwppabbdqppwc5xs0565rdb6"; depends=[RODBC aqp plyr Hmisc]; }; + soilphysics = derive { name="soilphysics"; version="1.0"; sha256="1abw5b35g5fz12ka3sl8b84ffxf0x99dsv1d7ns8il2f5j0zxr7h"; depends=[rpanel]; }; + soilprofile = derive { name="soilprofile"; version="1.0"; sha256="0sdfg6m2m6rb11hj017jx2lzcgk6llb01994x749s0qhzxmvx9mb"; depends=[aqp lattice munsell splancs]; }; + SoilR = derive { name="SoilR"; version="1.1-23"; sha256="1cryypgnbck5hvkc2izrd8r10q2b97f2p1s46x4dk8p099gck5wg"; depends=[deSolve RUnit]; }; + soil_spec = derive { name="soil.spec"; version="2.1.3"; sha256="17fm4hyx8g6pj7qv11xlnx459x1s41fapz6ck4my9br734gcm4ns"; depends=[KernSmooth wavelets hexView pls]; }; + soiltexture = derive { name="soiltexture"; version="1.2.13"; sha256="10f4fdvicm7gj5zizpw197avzsbzj9x1g92y1ibh6lpdx3qz0ba1"; depends=[sp MASS]; }; + soilwater = derive { name="soilwater"; version="1.0.1"; sha256="08rz1i5dsgwfvfd4sl5x9j970v82v3kny0rqg1zbdnr53vp2xc7j"; depends=[]; }; + solaR = derive { name="solaR"; version="0.38"; sha256="0cvza0d4kd47kr6749ysvw664kjja87ppn4jvan4hrklczbpdc9z"; depends=[lattice latticeExtra zoo]; }; + SOLOMON = derive { name="SOLOMON"; version="1.0-1"; sha256="0z91wsrgdir25ks4dnirzsg4f1ngal7n40235m3w43j6y6dhkqrc"; depends=[]; }; + solr = derive { name="solr"; version="0.1.4"; sha256="0b1f6mf8fi2ql8j06b0mkk7nyy5wj1zsg46lfxi6bp8n4ywbym9n"; depends=[plyr httr XML assertthat rjson]; }; + som = derive { name="som"; version="0.3-5"; sha256="01xsysmqj0zhzifqpwcrs0mflh56ndv4q3nm5n5imx7wmzx2lrzp"; depends=[]; }; + soma = derive { name="soma"; version="1.1.0"; sha256="0x1wnn22mf14kix3rpkshf585vnddappd8w035pdv8qfsh5zzw6f"; depends=[reportr]; }; + somebm = derive { name="somebm"; version="0.1"; sha256="1iwwc94k6znh4d3bbjnvwp4chc4wg0iy4v2f99cs4jasrsimb4p8"; depends=[]; }; + someKfwer = derive { name="someKfwer"; version="1.1"; sha256="023lrf62z3ik3g6qljmyjkg1lxs21q93ajj3hyjri14431ccc2pg"; depends=[]; }; + someMTP = derive { name="someMTP"; version="1.4.1"; sha256="19bsn8rny1vv9343bvk8xzhh82sskl0zg0f5r59g9k812q5llchn"; depends=[]; }; + somplot = derive { name="somplot"; version="1.6.4"; sha256="06c8p2lqz3yxmxdl7ji8a3czvxnsbl7bwyiig76pkwc3a5qqfbb9"; depends=[hexbin]; }; + soobench = derive { name="soobench"; version="1.0-73"; sha256="1y2r061pd4kr0kdgp8db3qy2aj07jdiyvy2py4fmwg6b8pcf9y0l"; depends=[]; }; + SortableHTMLTables = derive { name="SortableHTMLTables"; version="0.1-3"; sha256="1jgrqsm0cj8qlk0s4qn3b83w96mgpp5gmhgcg9q2glc72v8c4ljh"; depends=[testthat brew]; }; + sortinghat = derive { name="sortinghat"; version="0.1"; sha256="1wrxwhdp3gj1ra0rgldnmc0w019bnjb6z9j20c5p1ab09x4dmlny"; depends=[MASS bdsmatrix mvtnorm]; }; + sorvi = derive { name="sorvi"; version="0.4.05"; sha256="1pp0pj4nkayx133qsrqcg8jhbhf1cfs8m6jxh1nl4vb43gvk43sw"; depends=[pxR RCurl rjson sp spdep RColorBrewer RgoogleMaps XML gdata ggplot2 maptools plyr png reshape reshape2 rgdal rgl]; }; + sos = derive { name="sos"; version="1.3-8"; sha256="0vcgq8hpgdnlmkxc7qh1jqigr0gvm9x3w4ijbhma7x4i5fx3c2il"; depends=[brew]; }; + sos4R = derive { name="sos4R"; version="0.2-11"; sha256="0r4lficx8wr0bsd510z4cp6la32xf928rsiznbywpxghnypsrcgg"; depends=[XML RCurl sp]; }; + sotkanet = derive { name="sotkanet"; version="0.9.03"; sha256="1h8jmwv99hcrl5hkd99ypphvl8hx6k765vb8aphzp8a0vh42pkl1"; depends=[ggplot2 rjson]; }; + soundecology = derive { name="soundecology"; version="1.1.1"; sha256="0md33ipcqcsbl361s242c4wk9szsl8sywks6ikzljabrfpjy3bkp"; depends=[pracma oce ineq vegan tuneR seewave]; }; + source_gist = derive { name="source.gist"; version="1.0.0"; sha256="03bv0l4ccz9p41cjw18wlz081vbjxzfgq3imlhq3pgy9jdwcd8fp"; depends=[RCurl rjson]; }; + sp = derive { name="sp"; version="1.0-15"; sha256="1pzkh1zzp61x9qg7k466syip1bcmp8m2j9vr964nv0fha9cfq6aj"; depends=[lattice]; }; + spa = derive { name="spa"; version="2.0"; sha256="1np50qiiy3481xs8w0xfmyfl3aypikl1i1w8aa5n2qr16ksxrnq3"; depends=[cluster MASS]; }; + SPA3G = derive { name="SPA3G"; version="1.0"; sha256="0fcbrg43c5r2n5p7bb8wslqzhl5h31paxr9rla583lkm0baxnmym"; depends=[]; }; + spaa = derive { name="spaa"; version="0.2.1"; sha256="0qlfbfvv97avbnixm5dz9il3dmd40wnpvv33jh7fa0mh740bircy"; depends=[]; }; + space = derive { name="space"; version="0.1-1"; sha256="1qigfz62xz47hqi43aii3yr4h7ddvaf11a5nil7rqprgkd0k6mv3"; depends=[]; }; + SPACECAP = derive { name="SPACECAP"; version="1.0.6"; sha256="0nbvplcn4yhf3jgprvbil8cdcb8sx8h6l7djwn7pnv1dxprv71lg"; depends=[TeachingDemos coda lattice]; }; + spaceExt = derive { name="spaceExt"; version="1.0"; sha256="0lp8qmb7vcgxqqpsi89zjy7kxpibg3x2mq205pjmsrbbh7saqzr4"; depends=[limSolve glasso]; }; + spacejam = derive { name="spacejam"; version="1.1"; sha256="1mdxmfa1aifh3h279cklm4inin0cx3h0z2lm738bai34j6hpvar7"; depends=[igraph Matrix]; }; + spacetime = derive { name="spacetime"; version="1.1-0"; sha256="0hmwlvam57i58lhfy9328ld1w4c5ilif6s1wvz6l9zvh036169zi"; depends=[sp zoo xts intervals lattice rgeos]; }; + spacodiR = derive { name="spacodiR"; version="0.13.0115"; sha256="0c0grrvillpwjzv6fixviizq9l33y7486ypxniwg7i5j6k36nkpl"; depends=[picante colorspace Rcpp]; }; + spacom = derive { name="spacom"; version="1.0-4"; sha256="1jfsbgy7b0mwl4n2pgrkkghx9p8b0wipvg4c5jar6v8ydby6qg94"; depends=[spdep foreach iterators lme4 nlme Matrix]; }; + spam = derive { name="spam"; version="0.41-0"; sha256="0pky172hycis2idq4274f9i4vhvj3lz7fpr869vm4qklb91j81sp"; depends=[]; }; + spaMM = derive { name="spaMM"; version="1.1"; sha256="1jmp33ifnskwxziwkwkhb9zrq2mgl0nayzl2wrxadiqpjjad3603"; depends=[Matrix MASS lpSolveAPI]; }; + SPAr = derive { name="SPAr"; version="0.1"; sha256="068jlsvaxx80ih6n86286m2r75cvy6w0m51vpj4gfclhh38py4p4"; depends=[]; }; + sparc = derive { name="sparc"; version="0.9.0"; sha256="0jsirrkmvrfxav9sphk8a4n52fg0d1vnk3i8m804i4xl0s7lrg8s"; depends=[]; }; + sparcl = derive { name="sparcl"; version="1.0.3"; sha256="1348pi8akx1k6b7cf4bhpm4jqr5v8l5k086c7s6rbi5p6qlpsrvz"; depends=[]; }; + sparkTable = derive { name="sparkTable"; version="0.9.6"; sha256="1q8xc672rr1yy7aaklcn7i93k09l8sxzf20i1nqwynwy3fb3kv66"; depends=[xtable Cairo Rglpk StatMatch gridExtra RGraphics ggplot2 pixmap]; }; + sparktex = derive { name="sparktex"; version="0.1"; sha256="0r6jnn9fj166pdhnjbsaqmfmnkq0qr1cjprihlnln9jad05mrkjx"; depends=[]; }; + SPARQL = derive { name="SPARQL"; version="1.16"; sha256="0gak1q06yyhdmcxb2n3v0h9gr1vqd0viqji52wpw211qp6r6dcrc"; depends=[XML RCurl]; }; + sparr = derive { name="sparr"; version="0.3-4"; sha256="1d0rbiwl6149i8izdjrp48fxgk23xk94xm3gbrwpjv37x8fhzy6y"; depends=[spatstat rgl MASS]; }; + sparseBC = derive { name="sparseBC"; version="1.0"; sha256="16x581pm9fkbb4kp8lvz95mnckgrjbiwj9zin8hzyxdl1nrg4c3m"; depends=[glasso]; }; + sparsediscrim = derive { name="sparsediscrim"; version="0.2"; sha256="0m8ccmqpg1np738njavf736qh917hd3blywyzc3vwa1xl59wqccl"; depends=[corpcor bdsmatrix mvtnorm]; }; + SparseGrid = derive { name="SparseGrid"; version="0.8.2"; sha256="057xbj2bhjm9i32kn39iscnqqdsvsmq0b8c92l8hnf9avf1sx10x"; depends=[]; }; + sparseHessianFD = derive { name="sparseHessianFD"; version="0.1.1"; sha256="15x9v7b40mxl1z9ncazxzfzz7igvzmck22wlgj2y7c2ja8jxi6n2"; depends=[Rcpp RcppEigen Matrix]; }; + sparseLDA = derive { name="sparseLDA"; version="0.1-6"; sha256="0k9v2pjx4q4nhvpjhv496v4gfr5h19w0h2h7za7j6zqfn6aygvz6"; depends=[lars elasticnet MASS mda]; }; + sparseLTSEigen = derive { name="sparseLTSEigen"; version="0.2.0"; sha256="11llmrkq0pnrdphgjvhmg269bq3xbbn4s7kd7xhvk62sigvspkcj"; depends=[robustHD Rcpp RcppEigen]; }; + SparseM = derive { name="SparseM"; version="1.03"; sha256="11wwh7z8k1vdxfg0z1d71q6g5mx92xi3fdz3mzq64m78nhqa36ij"; depends=[]; }; + sparseMVN = derive { name="sparseMVN"; version="0.1.0"; sha256="1xcq1w80ypqdz4zxwhnnzc50lhja6qxfxxnrg5xkgzpmy1zvjbzq"; depends=[Matrix]; }; + sparsenet = derive { name="sparsenet"; version="1.2"; sha256="106a2q4syrcnmicrx92gnbsf2i5ml7pidwghrpl6926glj59j248"; depends=[glmnet shape]; }; + spartan = derive { name="spartan"; version="1.3"; sha256="063nfxh8y0319y35lg3vlamjya0nsba81dijp2nahikwg1c1b67s"; depends=[]; }; + spatcounts = derive { name="spatcounts"; version="1.1"; sha256="0rp8054aiwc62r1m3l4v5dh3cavbs5h2yb01453bw9rwis1pj2qm"; depends=[]; }; + spate = derive { name="spate"; version="1.3"; sha256="17aiqi5cd17y9kaqx9yssk772ghcldk9i4s8nyafq8zp8d4r85i1"; depends=[mvtnorm truncnorm]; }; + spatgraphs = derive { name="spatgraphs"; version="2.62"; sha256="1h7sv6qc5zhaiaqlrzagrlc2mxlasdzilmi5q9nrd1vsdzsqxvb4"; depends=[]; }; + spatial = derive { name="spatial"; version="7.3-8"; sha256="1vc6pc5i7nbazbh5y3hhr9kgaq0gd9xi89xc8ah4n0lrivjbxfa8"; depends=[]; }; + spatialCovariance = derive { name="spatialCovariance"; version="0.6-8"; sha256="06z6jz9sadqc382w07ysnnlhqc96hxaasz9wncbhipd4cd1y4daa"; depends=[]; }; + SpatialEpi = derive { name="SpatialEpi"; version="1.2"; sha256="1mf2ni9jbrhj14k8c5fm9hxzpralx3aszczn6p6lk7wbmjh8j29k"; depends=[sp MASS maps maptools shapefiles spdep gtools rgeos lattice Matrix nlme]; }; + SpatialExtremes = derive { name="SpatialExtremes"; version="2.0-0"; sha256="0fjh4cjzljwzxk4bhcrff9wnkskaiawbj7z6swrj1xl35mq4dljx"; depends=[]; }; + spatialkernel = derive { name="spatialkernel"; version="0.4-19"; sha256="0gbl6lrbaxzv2f975k0vd6ghrljgf1kjazld3hm7781kv1f87lji"; depends=[]; }; + SpatialNP = derive { name="SpatialNP"; version="1.1-1"; sha256="108gxk0gbbjck9bgxvqb9h216ww21lmh2by0hrhzwx5r63hhcbmd"; depends=[]; }; + SpatialPack = derive { name="SpatialPack"; version="0.2"; sha256="1kvqsqgh627fmi3bdd0pcxv9byjraz47ax7c6w4jxdngfs7xpfzc"; depends=[]; }; + spatialprobit = derive { name="spatialprobit"; version="0.9-10"; sha256="1z88nss69pixazqk3b6rpyc7mjryfznrgw9swfyfxky0bsdfj6mv"; depends=[Matrix spdep mvtnorm tmvtnorm]; }; + spatialsegregation = derive { name="spatialsegregation"; version="2.40"; sha256="0kpna2198nrj93bjsdgvj85wnjfj18psdq919fjnnhbzgzdkxs7l"; depends=[spatstat]; }; + spatialTailDep = derive { name="spatialTailDep"; version="1.0"; sha256="070jsz86jc4qvwa8j9gfksy23hf0wgj307w7jd5107ng1f42047v"; depends=[cubature mvtnorm SpatialExtremes]; }; + spatial_tools = derive { name="spatial.tools"; version="1.3.8"; sha256="0lpkfr1h8bbpkgzpgav4258f23wzq45id8gbxd5cgk0s15g0rh1m"; depends=[iterators foreach rgdal raster mmap abind doParallel]; }; + SpatialTools = derive { name="SpatialTools"; version="0.5.7"; sha256="1l6b895znww4g1ga88pskp1s6czg5qvl6wfzmifp866mbndsxmx7"; depends=[spBayes Rcpp]; }; + SpatialVx = derive { name="SpatialVx"; version="0.2-0"; sha256="0amsdh5cwcd27ws6fcgv5rxhmw6kfg7vrmzrj62fi93ajp4aiq4y"; depends=[spatstat fields smoothie smatr turboEM distillery maps boot CircStats fastcluster waveslim]; }; + SpatioTemporal = derive { name="SpatioTemporal"; version="1.1.7"; sha256="0rc5zf8cnjw59azgqmslfz2dl5i17dfmb7ls5c849qybp2gn2zdv"; depends=[Matrix MASS]; }; + spatstat = derive { name="spatstat"; version="1.36-0"; sha256="0z4ls57328aagcx700zwhq1rawi21yiilms1rvpnshaa9gc2fy79"; depends=[mgcv deldir abind tensor polyclip]; }; + spatsurv = derive { name="spatsurv"; version="0.9-1"; sha256="0hmhw90rsnv01cbs07z2w4ihhvwhrmrgv3nysk745vm57lpqy7bk"; depends=[survival flexsurv sp iterators RandomFields fields rgl Matrix FNN]; }; + spBayes = derive { name="spBayes"; version="0.3-8"; sha256="0pmriffqnblqyd1332a2pqrjr7y3wllb17swb403h7c9dph6mzzv"; depends=[coda magic abind Formula]; }; + spc = derive { name="spc"; version="0.5.0"; sha256="0bh4a3dpavczckhpwqax1h5w73ai3mkf0nwq9nhlvkdrh6k6j6cy"; depends=[]; }; + spcadjust = derive { name="spcadjust"; version="0.1-2"; sha256="1i64hbslsmnap6ljwpzygrbcb2q1zp0jsm02x2a29nyxq05wwrrv"; depends=[]; }; + spcosa = derive { name="spcosa"; version="0.3-5"; sha256="15q0f2sfhm1b13zs5a50yfvqhgcn4fyncf0h5ivin2k9g5xvq4k4"; depends=[rJava ggplot2 sp]; }; + spcov = derive { name="spcov"; version="1.01"; sha256="1brmy64wbk56bwz9va7mc86a0ajbfy09qpjafyq2jv7gm7a35ph5"; depends=[]; }; + spcr = derive { name="spcr"; version="1.1"; sha256="039m1y66j085381x39dhswzzmq5r2xkps93d4jj8yjc5bkplbxxy"; depends=[]; }; + spd = derive { name="spd"; version="1.9"; sha256="1f2663rgc11knhiz529msjzpjgxv42cjxgwbvkkk62sq348mq65m"; depends=[KernSmooth]; }; + spdep = derive { name="spdep"; version="0.5-71"; sha256="0nj4hh5nn595ghsvisc6g7p4hj5fjxbihc6gdc1afky8rchr22hl"; depends=[sp Matrix LearnBayes deldir boot coda nlme MASS]; }; + spe = derive { name="spe"; version="1.1.2"; sha256="0xyx42n3gcsgqmy80nc9la6p6gq07anpzx0afwffyx9fv20fvys0"; depends=[]; }; + speccalt = derive { name="speccalt"; version="0.1.1"; sha256="0j7rbidmmx78vgwsqvqjbjjh92fnkf2sdx0q79xlpjl2dph7d6l6"; depends=[]; }; + SPECIES = derive { name="SPECIES"; version="1.0"; sha256="0p45llf2wjr467bqr4pbljfank9zz3fm42yl3i0r3jbkxgz0rjf0"; depends=[]; }; + SpeciesMix = derive { name="SpeciesMix"; version="0.3.1"; sha256="0wl15k00d7n9pmnp1kr28p05z4vrziprcdndw77kwkcgv51cvllk"; depends=[MASS numDeriv]; }; + specificity = derive { name="specificity"; version="0.1.1"; sha256="1gvlyx9crkzm3yyp1ln5j9czcg83k7grm6ijabhl919gjjr1p60n"; depends=[car]; }; + SpecsVerification = derive { name="SpecsVerification"; version="0.1-1"; sha256="0bym4r2bz02v7cw0sn5bpsrnyvrm9jq2s9hz621x10d37iymc7m0"; depends=[]; }; + spectralGP = derive { name="spectralGP"; version="1.3.1"; sha256="1bc8y4wk09spsvbv8cn1iqq2y9qdlvrcnpqh2s0b8j4nxx262gyb"; depends=[]; }; + spectral_methods = derive { name="spectral.methods"; version="0.7.2.125"; sha256="06d7l3hv1yi887yd3ig63n2ajyxa7a0cpjaza8spif9yj5jia35d"; depends=[Rssa raster nnet abind RNetCDF ncdf_tools foreach JBTools DistributionUtils RColorBrewer]; }; + speedglm = derive { name="speedglm"; version="0.2"; sha256="1vl3q67qhrvg01m2yaxrjz4rc3wh1mrmr3hdh0bbdg8rjq1khbl0"; depends=[Matrix]; }; + speedRlibs = derive { name="speedRlibs"; version="1.1-36"; sha256="1q0kv07wgirfmvaqrnyfr6csz8yycjnpqlvxq9w2k5agsn86pbr8"; depends=[]; }; + speedRlibTF = derive { name="speedRlibTF"; version="0.3-39"; sha256="061cnc9qy1zpfr0k9a57jfy3xf25gkl67f22sniykmk31v0vr60r"; depends=[]; }; + speff2trial = derive { name="speff2trial"; version="1.0.4"; sha256="0dj5mh2sdp6j4ijgv14hjr39rasab8g83lx1d9y50av11yhbf2pw"; depends=[leaps survival]; }; + SPEI = derive { name="SPEI"; version="1.6"; sha256="0mbz4nydnzwypfbi1d9fjy09x6133q096qbfrc913dbidzkvfpqv"; depends=[lmomco]; }; + sperich = derive { name="sperich"; version="1.5-5"; sha256="0xwzyfx3z06lapvhzdzrfr9hw2hm8d0cyfmc29p5fcplmjm24idh"; depends=[]; }; + sperrorest = derive { name="sperrorest"; version="0.2-1"; sha256="17jq8r98pq3hsyiinxg30lddxwpwi696srsvm3lfxrzk11076j6v"; depends=[ROCR rpart]; }; + spfrontier = derive { name="spfrontier"; version="0.1.3"; sha256="14qi9kkgxsy6fc3cp4lmnmbg3hs8w6r200k2d7gyspc3v11cs1yh"; depends=[moments ezsim tmvtnorm mvtnorm Matrix]; }; + spgrass6 = derive { name="spgrass6"; version="0.8-3"; sha256="0syrm4fgyzslvl9k8szlha01iqkz02nla08whys3pvf4s9zjd4xl"; depends=[sp XML]; }; + spgwr = derive { name="spgwr"; version="0.6-24"; sha256="10yiyq704gs51h7i2nrd5r8730np7hvkcfnn3mly5wgaanrcb6n4"; depends=[sp]; }; + sphereplot = derive { name="sphereplot"; version="1.5"; sha256="1i1p20h95cgw5wqp9bwfs9nygm4dxzsggz08ncjs1xrsvhhq9air"; depends=[rgl]; }; + SphericalCubature = derive { name="SphericalCubature"; version="1.0.1"; sha256="0j592zvs07yc6amahlxgdw0k1vqr89gvcq22vcwzkx62igvlf6pv"; depends=[cubature]; }; + SpherWave = derive { name="SpherWave"; version="1.2.2"; sha256="1wd9pql97m1zl0axzpkfq9sxadrm5cfax0gxh0ncqadaq7w7lml4"; depends=[fields]; }; + sphet = derive { name="sphet"; version="1.5"; sha256="00hgzashw5qdv7j2q0cz433k595d8dzlxr89kvz1z2cpb87pfv54"; depends=[nlme spdep Matrix sp]; }; + spi = derive { name="spi"; version="1.1"; sha256="0gc504f7sji5x0kmsidnwfm7l5g4b1asl3jkn2jzsf2nvjnplx1z"; depends=[]; }; + SPIAssay = derive { name="SPIAssay"; version="1.0.0"; sha256="1rwa2iicwdm7z8khlnly0ybrqiisw420anr2pcdd5chxa48h8apg"; depends=[]; }; + spider = derive { name="spider"; version="1.3-0"; sha256="1p6f8mlm055xq3qwa4bqn9kvq60p8fn2w0cc6qcr22cblm5ww7jp"; depends=[ape pegas]; }; + spikeslab = derive { name="spikeslab"; version="1.1.5"; sha256="0dzkipbrpwki6fyk4hqlql3yhadwmclgbrx00bxahrmlaz1vjzh2"; depends=[lars randomForest]; }; + spikeSlabGAM = derive { name="spikeSlabGAM"; version="1.1-7"; sha256="1hdclj3fq31n9hvyggj2rvz2m95kjszbcswa46vfi2vyiwbb2bia"; depends=[ggplot2 akima coda cluster gridExtra MASS MCMCpack mvtnorm R2WinBUGS reshape scales]; }; + SPIn = derive { name="SPIn"; version="1.1"; sha256="109xxrg7bsmmfd6ik85kxrw2qclxbh5ipsh5mmrdl4hki3hnyp2s"; depends=[quadprog]; }; + splancs = derive { name="splancs"; version="2.01-34"; sha256="0r7kn16mkpzyj52i28w40k0hngkf4i3si4qvkb8m5s641lw2jmpk"; depends=[sp]; }; + splitstackshape = derive { name="splitstackshape"; version="1.2.0"; sha256="0p9av1zzzl6h5d3fprwcd8ng1g2s8wq7bzid7lqig3k8mcgzwm20"; depends=[data_table]; }; + splm = derive { name="splm"; version="1.1-0"; sha256="1dhfasan5abr9gf6lfdl83cr47ckkj5sqjqgclnc6f6a2125q1fi"; depends=[MASS nlme spdep plm Matrix bdsmatrix spam ibdreg car lmtest Ecdat maxLik]; }; + spls = derive { name="spls"; version="2.2-1"; sha256="0zgk9qd825zqgikpkg13jm8hi6ncg48qw5f985bi145nwy9j19xs"; depends=[MASS nnet pls]; }; + splus2R = derive { name="splus2R"; version="1.2-0"; sha256="0kmyr1azyh0m518kzwvvgz7hv1x5myj37xn7w2gfn0vbn5xl8pv1"; depends=[]; }; + splusTimeDate = derive { name="splusTimeDate"; version="2.0.0-117"; sha256="1cmjlxczckbv3imibnns9wzrlz0irgrnf1s9fqsymxf01bcs0hjc"; depends=[]; }; + splusTimeSeries = derive { name="splusTimeSeries"; version="1.5.0-73"; sha256="1csk0ffgg1bi2k1m2bbxl6aqqqxf6i8sc8d4azip8ck7rn8vya46"; depends=[splusTimeDate]; }; + spMC = derive { name="spMC"; version="0.3.1"; sha256="12ymyyy77y7azbg983y091dfqcv68c7lpz2rcnnn384jqp7b2c4v"; depends=[]; }; + SPmlficmcm = derive { name="SPmlficmcm"; version="1.1"; sha256="02hg9dzfnxa8cz31kkq52707f7y5471cq78asfbrf397mfz82wbl"; depends=[numDeriv nleqslv boot]; }; + SPMS = derive { name="SPMS"; version="2.0"; sha256="150kb4gjiksp3kc7p9j5zqc4955rq4fb27as71z89h23mkswz5r5"; depends=[Matrix]; }; + spocc = derive { name="spocc"; version="0.1.2"; sha256="14jcmdlllisxzaqw3y7jyg5mq6jwalf0y6450wck50nmwah9jixw"; depends=[ggplot2 rinat rbison rgbif ecoengine rebird AntWeb plyr ggmap maptools rworldmap sp rgeos lubridate RColorBrewer httr XML rgdal RJSONIO leafletR data_table assertthat]; }; + SPODT = derive { name="SPODT"; version="0.9"; sha256="0r5zr0h5dgbkpn6dlvpj58s2wp3ngb7zb1xdapq1j25msmhwn5yy"; depends=[rgdal sp tree]; }; + sporm = derive { name="sporm"; version="1.1"; sha256="07sxz62h4jb7xlqg08sj4wpx121n9jfk65196mnxdvb36lqmb4hp"; depends=[]; }; + SportsAnalytics = derive { name="SportsAnalytics"; version="0.2"; sha256="1vb080ak1mfvr6d0q9i3r8hd547ba80bavjdcri0gclqqcjf1ach"; depends=[]; }; + SPOT = derive { name="SPOT"; version="1.0.4184"; sha256="0rikfs2rha7q2xbycvky8si2ccgmamcn662g8ni105cr6m9hvvpc"; depends=[rpart emoa]; }; + sprsmdl = derive { name="sprsmdl"; version="0.1-0"; sha256="09klwsjp5w6p7dkn5ddmqp7m9a3zcmpr9vhcf00ynwyp1w7d26gi"; depends=[]; }; + SPSL = derive { name="SPSL"; version="0.1-8"; sha256="1jg1nfhz8qml1wwqa4d0w7vkdmbgdy5xlfqx0h2pdw2z8iij3xxc"; depends=[]; }; + spsmooth = derive { name="spsmooth"; version="1.1-3"; sha256="09b740586zyi8npq0bmy8qifs9rq0rzhs9c300fr6pjpc7134xn4"; depends=[mgcv]; }; + spsurvey = derive { name="spsurvey"; version="2.6"; sha256="1s48acqi502mdabhymhn0jjsghnlh2w6wnrfaa9gv0a7xjvjkydq"; depends=[sp deldir foreign MASS rgeos]; }; + spt = derive { name="spt"; version="1.13-8-8"; sha256="18s74pxfmsjaj92z2a34nq90caf61s84c616yv33a0xvfvp32qr5"; depends=[]; }; + spTimer = derive { name="spTimer"; version="1.0-1"; sha256="0a1rzk2kini05xk4irkc3d4ywhghwzw73sn1p8jmjl31r352ajqk"; depends=[coda forecast spacetime]; }; + spuRs = derive { name="spuRs"; version="1.0.5"; sha256="0k4ss65nq9imb1gcsl09xj33flryaihiq9blpc8sd4h9mdw64fca"; depends=[MASS lattice]; }; + sqldf = derive { name="sqldf"; version="0.4-7.1"; sha256="03pg1wrkbhh6yi794rf5a96kls0zixqz50ralznvgd0zyvmd3cz2"; depends=[gsubfn proto RSQLite RSQLite_extfuns DBI chron]; }; + sqliter = derive { name="sqliter"; version="0.1.0"; sha256="17jjljq60szz0m8p2wc5l56659aap7an5gknc848dp89ycjgj3zx"; depends=[stringr functional DBI RSQLite]; }; + sqlshare = derive { name="sqlshare"; version="1.0.3"; sha256="1qy8vlzi6i4wsr53i71jlsv1b7ww254mbk2qzsvmcrranf42zbp8"; depends=[RCurl]; }; + sqlutils = derive { name="sqlutils"; version="1.1.2"; sha256="1d3x4wid7f9h2y36avsajjvshzcszr2nby71ixfdq3iv8z01z4j3"; depends=[roxygen2 stringr DBI]; }; + SQN = derive { name="SQN"; version="1.0.5"; sha256="0kb8kf6g482zqdp4avwvhs3pqghfny757dbzfl1abaigmvwvx4qj"; depends=[mclust nor1mix]; }; + SQUAREM = derive { name="SQUAREM"; version="2012.7-1"; sha256="17d5b9h7h8ayasi4zg790b3a11rka8dkfcmvhrjg4rvlggwjda5j"; depends=[]; }; + squash = derive { name="squash"; version="1.0.1"; sha256="1402m3jh84mfwkjwy2f898r3cfmf4sxyh90yv9gy60qx1v3hrzwc"; depends=[]; }; + sra = derive { name="sra"; version="0.1"; sha256="165r1aiv17gdhln2374724nx04wjcdpillxwwkxgshz3kjyvajvj"; depends=[]; }; + sROC = derive { name="sROC"; version="0.1-2"; sha256="0cp6frhk9ndffb454dqp8fzjrla76dbz0mn4y8zz1nbq1jzmz0d3"; depends=[]; }; + SRPM = derive { name="SRPM"; version="0.1-7"; sha256="1c7mca1p0z48w5jbywqqfbdwzcimy24fm23h5n930mxbxgh51shk"; depends=[stashR filehash cacheSweave]; }; + SRRS = derive { name="SRRS"; version="0.1"; sha256="1450asdvl160ww1jc3s61lypk48r7dlm8hxypkgbjx6kf2j29zc9"; depends=[tcltk2 gregmisc]; }; + ss3sim = derive { name="ss3sim"; version="0.8.2"; sha256="1gj3kf4ccd5n2jr4sm50gny5x1zq4brkhqgw0nww41spnimascfr"; depends=[plyr r4ss gtools lubridate reshape2]; }; + ssanv = derive { name="ssanv"; version="1.0-2"; sha256="18ib0djqxjpp4xgvsffwqgxqljpwc24ysxj26phpr6p8kdl3hr2f"; depends=[]; }; + SSDforR = derive { name="SSDforR"; version="1.4.3"; sha256="1r32kax83x0k80lmz1zj5p291qd0rrxfi9vqx1z27am3gn3s4xfj"; depends=[psych]; }; + ssfit = derive { name="ssfit"; version="1.1"; sha256="1fais0msi2ppgfp0vbx3qri7s9zs51i7n90w36xkwwac4f46bq5y"; depends=[survey]; }; + ssize_fdr = derive { name="ssize.fdr"; version="1.1"; sha256="00y00cb0bhsk0qcq9f96dcmmzmy88k1qyhx9ampws34n133cl509"; depends=[]; }; + ssmrob = derive { name="ssmrob"; version="0.4"; sha256="1inndspir7571f54kalbj0h599v9k6dxdmp0n1l5r3a62vn45hd3"; depends=[sampleSelection robustbase mvtnorm MASS]; }; + SSN = derive { name="SSN"; version="1.1.2"; sha256="0hm3r5lf7ah4v1pjaf13kjxxdncrp11gh0n81nsjkgsrqz6mmfl6"; depends=[RSQLite MASS igraph maptools lattice sp]; }; + sspline = derive { name="sspline"; version="0.1-6"; sha256="0d6ms8szyn39c7v0397d5ar2hrl8v1l2b7m8hlj37hgp70b9s55h"; depends=[]; }; + sss = derive { name="sss"; version="0.0-11"; sha256="0k7p1ws0w7wg9wyxcg1zpk8q6kr32l3jl6yd9r4qmzq04dwqrdgz"; depends=[plyr XML]; }; + SSsimple = derive { name="SSsimple"; version="0.6.4"; sha256="0p7d4hx7mhn5myq8ajcij6hhg79rjxigk5v8z93yfdw4gjcb5wad"; depends=[mvtnorm]; }; + ssvd = derive { name="ssvd"; version="1.0"; sha256="1fdpr38qi59ijrz16jixn6ii1hvmxfjirjqfcp7dxrqz9nx8x0sk"; depends=[]; }; + ssym = derive { name="ssym"; version="1.2"; sha256="0nkmflb8pbb1m3prrh9i6zwi00kvrm2x7rqf06gf5avyf1lkm92b"; depends=[GIGrvg numDeriv gsl normalp]; }; + st = derive { name="st"; version="1.2.2"; sha256="0dbs95iaac3zvcgrndqic6rwchyvkbda641pv0dvj7h64c3k8w24"; depends=[sda fdrtool]; }; + stab = derive { name="stab"; version="0.1.8"; sha256="1rbwfxdbdqb1l91xmnnz5z5m353z4rjihr0c1f7r77a0zl7sa3zj"; depends=[MASS reshape]; }; + stabledist = derive { name="stabledist"; version="0.6-6"; sha256="0s59jp3y5ks4rfj7x76vb9g3slbbn98lvki54lv96yxdfr8i7ry5"; depends=[]; }; + StableEstim = derive { name="StableEstim"; version="2.0"; sha256="080khfix88j4656hmdy9l0xpbk9zzw7z7d7f6yvwsbalk3ag18i5"; depends=[Matrix stabledist testthat numDeriv xtable fBasics MASS]; }; + Stack = derive { name="Stack"; version="2.0-1"; sha256="09fgfhw9grxnpl5yg05p9gvlz38iw4prns1jn14nj3qx01k5rnxb"; depends=[plyr stringr ff ffbase bit]; }; + stacomirtools = derive { name="stacomirtools"; version="0.3"; sha256="1lbbnvmilf3j3hyhvpkyjd4b4sf3zwygilb8x0kjn2jfhkxnx4c1"; depends=[RODBC xtable]; }; + stam = derive { name="stam"; version="0.0-1"; sha256="1x1j45fir64kffny0nssb2hwn4rcp8gd2cjv6fw4yy0l4d0xi5iv"; depends=[np sp]; }; + StAMPP = derive { name="StAMPP"; version="1.2"; sha256="0fd328byrcq11rpq4dvk65vs8gswaw0d9jb8di9hx5r7cdpka1g3"; depends=[pegas doParallel foreach adegenet]; }; + StandardizeText = derive { name="StandardizeText"; version="1.0"; sha256="0s267k2b109pcdiyd26gm4ag5afikrnnb55d3cs6g2fvzp744hfp"; depends=[]; }; + standGL = derive { name="standGL"; version="1.1"; sha256="1ffskpba30ih1sb1gscy4njgr4vv0642311hj1m7x7n5slisnysm"; depends=[]; }; + STAR = derive { name="STAR"; version="0.3-7"; sha256="1g78j4iyh78li1jaa3zz5qv4p41cg0imhmvbfakd34l32ppih4ll"; depends=[survival mgcv R2HTML gss codetools]; }; + stargazer = derive { name="stargazer"; version="5.0"; sha256="1n4ksf1cvklrg6aqq348gh914j0ihnrzwfshnqgfw1x6q9bx6isl"; depends=[]; }; + STARSEQ = derive { name="STARSEQ"; version="1.02"; sha256="1gb763bb7z871hb443d29r0vvyl2inr0df0q0xxxg16scl4p4yvb"; depends=[CompQuadForm numDeriv vcf2geno]; }; + startupmsg = derive { name="startupmsg"; version="0.9"; sha256="1l75w4v1cf4kkb05akhgzk5n77zsj6h20ds8y0aa6kd2208zxd9f"; depends=[]; }; + stashR = derive { name="stashR"; version="0.3-5"; sha256="1lnpi1vb043aj4b9vmmy56anj4344709986b27hqaqk5ajzq9c3w"; depends=[filehash digest]; }; + Stat2Data = derive { name="Stat2Data"; version="1.6"; sha256="0pk68ffc6ffpddfpf9wi8ch39h6k3r80kldld3z5pnql18rc8nvx"; depends=[]; }; + StatDA = derive { name="StatDA"; version="1.6.7"; sha256="140hqg56axwg5ckfr4n4rr453ppsgf5bmmd7kg4mai1xnj4wmg8b"; depends=[geoR sgeostat cluster e1071 MASS MBA mgcv rgl robustbase xtable]; }; + StatDataML = derive { name="StatDataML"; version="1.0-25"; sha256="05s9kbrjl2wsfccgav34b02m06q62r3iyjd0ndr6xcqlw9x2w2ya"; depends=[XML]; }; + StateTrace = derive { name="StateTrace"; version="1.0-4"; sha256="1nmdqmg4az1afhprjyqb9qqcvd0xa6xdb8gzar5jrcdldxxbsw35"; depends=[KernSmooth coda fgui]; }; + statfi = derive { name="statfi"; version="0.9.06"; sha256="1fkx8jszmhzsgn0w45479klq1qhlagpj5b7s83p1g9lxymj33f8p"; depends=[pxR]; }; + StatMatch = derive { name="StatMatch"; version="1.2.1"; sha256="1vv7730fmncysm7sv96kgwwi5s50fks1pn4zgv4w54qwlf286dzz"; depends=[proxy clue survey RANN]; }; + statmod = derive { name="statmod"; version="1.4.19"; sha256="1g0yws7vmclk0w0mrzbsf86fl3fwd920hfmllklzkzm57if8yapa"; depends=[]; }; + statnet = derive { name="statnet"; version="2014.2.0"; sha256="0xp8xnqb32wzkxfm7f34z6mnsd9id8an5829n16czwldj9vv6s10"; depends=[network ergm sna networkDynamic tergm ergm_count latentnet statnet_common]; }; + statnet_common = derive { name="statnet.common"; version="3.1.1"; sha256="1fs38f4dxrvgm60xvn04jr2wwyrjg25h3rbdwrx7dx24fj7sx6wl"; depends=[]; }; + StatRank = derive { name="StatRank"; version="0.0.4"; sha256="0s0jc4hvrry9a884fqfk3gp1w4ww5wif2kh3m0f22nn7qb49if9p"; depends=[truncdist plyr]; }; + stellaR = derive { name="stellaR"; version="0.3-3"; sha256="098sz6b8pl3fyca3g6myp97nna368xhxf8krmibadnnsr49q5zs9"; depends=[]; }; + Stem = derive { name="Stem"; version="1.0"; sha256="1fr02mi5qyxbqavdh2hg8ggw4nfjh3vs7g0vh834h6y0v53l71r5"; depends=[mvtnorm MASS]; }; + stepp = derive { name="stepp"; version="2.3-2"; sha256="1x7vbniwk83x9wn6a5ya053nkg9jmzqprqbg87zpp0fsn9z7qhyq"; depends=[cmprsk survival]; }; + stepPlr = derive { name="stepPlr"; version="0.92"; sha256="16j32sk7ri4jdgss7vw5zz7s42rxk7rs376iyxzzpy1zcc9b64rv"; depends=[]; }; + stepwise = derive { name="stepwise"; version="0.3"; sha256="1lbx1bxwkf9dw6q46w40pp7h5nkxgghmx8rkpaymm6iybc7gyir2"; depends=[]; }; + StereoMorph = derive { name="StereoMorph"; version="1.0"; sha256="1gxkll2h1sm7cznm55z533v8z8gd52an3ac3dzcmnxbv30vj1s9m"; depends=[]; }; + stilt = derive { name="stilt"; version="1.0"; sha256="192ild2i37apdzd03m2h3awjj09y07ws870v67cx4dih36mxgm5j"; depends=[fields]; }; + stima = derive { name="stima"; version="1.1"; sha256="1i8l7pfnqxx660h3r2jf6a9bj5ikg9hw7v8apwk98ms8l7q77p5l"; depends=[rpart]; }; + stinepack = derive { name="stinepack"; version="1.3"; sha256="0kjpcjqkwndqs7cyc6w62z1nnkqmhkifz2w0bi341jh0ybmak4fq"; depends=[]; }; + stm = derive { name="stm"; version="0.6.1"; sha256="18f62kkirkn60whaps4g1ccmh6hrnp81mlz4b0h5sicg8plzp91w"; depends=[matrixStats slam lda stringr]; }; + StMoSim = derive { name="StMoSim"; version="2.2"; sha256="127nr488a9xx3pjzrncbzw58ims87jifnzhpvqrr74px6wv0yisc"; depends=[]; }; + stocc = derive { name="stocc"; version="1.0-7"; sha256="1gnsmc30innh2yjwgbggb16kg9438g98kz8lgq87pkl24kmjbq0c"; depends=[truncnorm coda Matrix fields]; }; + stochvol = derive { name="stochvol"; version="0.8-1"; sha256="0lrda9hkn8ysin02vqwy7vs9c4cbj34lf04bg9d8gdg7rqbcssh3"; depends=[coda Rcpp]; }; + stockPortfolio = derive { name="stockPortfolio"; version="1.2"; sha256="0k5ss6lf9yhcvc4hwqmcfpdn6qkbq5kaw0arldkl46391kac3bd1"; depends=[]; }; + stoichcalc = derive { name="stoichcalc"; version="1.1-3"; sha256="0z9fnapibfp070jxg27k74fdxpgszl07xiqfj448dkydpg8ydkrb"; depends=[]; }; + Storm = derive { name="Storm"; version="1.0"; sha256="0dmbgv78f598ihhks4wsfml3fxs6f5alzc9nm909qha5kzpb8m8a"; depends=[rjson]; }; + stosim = derive { name="stosim"; version="0.0.11"; sha256="0fv5f9vvcsq86bis0hrb2k2ax78k1q8iwg7v1lj1l3qv5q6sq583"; depends=[tcltk2 Rcpp]; }; + stpp = derive { name="stpp"; version="1.0-4"; sha256="04xl2745xr5r7yirbdmxaxqvl4gp73wr6xl08w21mcccsnpc3d1s"; depends=[splancs KernSmooth spatstat]; }; + stppResid = derive { name="stppResid"; version="1.1"; sha256="0hgzsyy5y0sqd4d2agdr7p2kq0w51vs8f63dvj6j49h8cvgiws2x"; depends=[deldir splancs cubature]; }; + StrainRanking = derive { name="StrainRanking"; version="1.1"; sha256="0q6k90if74320mrs2ccq2izynylr8zakciwbc2c6ms0v57aalwic"; depends=[]; }; + strap = derive { name="strap"; version="1.1"; sha256="1396w7xk0vq5lhf1nph0za9c80zc9d9ycdrkafx475pqca2i8qlm"; depends=[ape geoscale]; }; + stratification = derive { name="stratification"; version="2.2-3"; sha256="0mjv5x47rc7ci4ca949pg6ixmv6bfdfph6yz31syqk5xrgm8zmxq"; depends=[]; }; + stratigraph = derive { name="stratigraph"; version="0.64"; sha256="1mi4s3wxbrmcxb7k18z02dy5dnvg7kka1dbg2hgyi4nm9y8casdl"; depends=[]; }; + StratSel = derive { name="StratSel"; version="0.1"; sha256="0783ff6kxa3b2v3b5n55rfjy976mjph3w5yx1lxahahwp4yl8h1a"; depends=[mnormt memisc Formula]; }; + straweib = derive { name="straweib"; version="1.0"; sha256="0bh2f4n4i7fiki52sa57v96757qw1gn1lcn7vgxmc5hk5rzp2mi8"; depends=[]; }; + stream = derive { name="stream"; version="0.2-0"; sha256="14bgmd7ab1gn7gvd3572l90rw725g9vyn46s65yll72b79s30cjp"; depends=[rJava proxy birch hash clue clusterGeneration MASS animation mlbench]; }; + StreamingLm = derive { name="StreamingLm"; version="0.1"; sha256="079ks5gj6ydj2fqq8pwhkb24a0zbz2j400777fm6a39wjgbgdx1n"; depends=[biglm]; }; + StreamMetabolism = derive { name="StreamMetabolism"; version="1.0"; sha256="03pr7i1c3qddqwibfc2x08d2nh8fih02k7a1xhqs1awfs43x56is"; depends=[zoo chron maptools]; }; + streamR = derive { name="streamR"; version="0.2.1"; sha256="1ml33mj7zqlzfyyam23xk5d25jkm3qr7rfj2kc5j5vgsih6kr0gl"; depends=[RCurl rjson]; }; + stremo = derive { name="stremo"; version="0.2"; sha256="13b9xnd8ykxrm8gnakh0ixbsb7yppqv3isga8dsz473wzy82y6h1"; depends=[lavaan numDeriv MASS]; }; + StressStrength = derive { name="StressStrength"; version="1.0"; sha256="0m67rawgn6w49zh4mw951i3pk4ckp4bxz9yphw0klllazjxyd6qp"; depends=[]; }; + stringdist = derive { name="stringdist"; version="0.7.2"; sha256="1f7d580al845iakdyhkpfzfk0m4b206gfpiz364d4qfws6rfq64y"; depends=[]; }; + stringi = derive { name="stringi"; version="0.1-25"; sha256="1rr8wjq58yswgmpgn6awdkg02h800fqyhhw5651w9xra2w9673zp"; depends=[]; }; + stringr = derive { name="stringr"; version="0.6.2"; sha256="0dv7dd0xsivlccnf9pr5kb7zirgqn9mc6lgw5hnmkbb0s1qrrz63"; depends=[]; }; + strucchange = derive { name="strucchange"; version="1.5-0"; sha256="17ikp36ahnsx1q3avqkz5r2n2yagzq7j6m515vdm8rxgv0538is3"; depends=[zoo sandwich]; }; + structSSI = derive { name="structSSI"; version="1.0.5"; sha256="0i832k8jf317m47kzzfhgla4qm8bqmj3azjm4iqndkym2ry3jiy4"; depends=[igraph Matrix RColorBrewer classInt]; }; + strum = derive { name="strum"; version="0.2"; sha256="0ibylqy897xz8qp11ifiv8dg1kpm6bd9zkmn7c3qka07d4asxlgd"; depends=[pedigree MASS Rcpp]; }; + strvalidator = derive { name="strvalidator"; version="1.1.0"; sha256="0kih7rsaivbaydm7prwjwh0r1kd061858w1pxy401baalj3f9bq6"; depends=[gtable ggplot2 gWidgets plyr scales gridExtra]; }; + stsm = derive { name="stsm"; version="1.2"; sha256="1si2hyz4lbn2bpdxvgz4a21a4q9iqi8i46lfnjwn6qs4816pfcfs"; depends=[KFKSDS stsm_class]; }; + stsm_class = derive { name="stsm.class"; version="1.1"; sha256="1bj7affkpn229q47kbsxyy3rysvp7491fbhacrvlnk60gjlvaxzg"; depends=[]; }; + StVAR = derive { name="StVAR"; version="1.0"; sha256="072jwn02a7a9s23rda9m80klr7mla525dsf266khg2pb1y6anqyh"; depends=[MCMCpack numDeriv car fMultivar moments]; }; + stylo = derive { name="stylo"; version="0.5.5-1"; sha256="0m4xkd0fpkfva9psxxvnaikqxscnhayyc50zmvpixa2p637hbp26"; depends=[tcltk2 ape pamr e1071 class lattice tsne]; }; + SubCultCon = derive { name="SubCultCon"; version="1.0"; sha256="08q6k4nsv3gl5qk87s87smdg047yc2a4i7kg0fp08i7q7h62jkvz"; depends=[]; }; + SubLasso = derive { name="SubLasso"; version="1.0"; sha256="12m7ynlqhikjhavd12bhsd04s9cpv8aq5xgm875i10mb3ldpd1bd"; depends=[glmnet psych gplots]; }; + subplex = derive { name="subplex"; version="1.1-3"; sha256="04dy0alpida9h2zirn5b84arjir3gqfbb21s5nm7fx0dbm53a9p5"; depends=[]; }; + subselect = derive { name="subselect"; version="0.12-3"; sha256="1m1vk8jgmw0cb9gmzvvpzdpjaqp56kwhalb2b2il20kc57czmymr"; depends=[]; }; + subtype = derive { name="subtype"; version="1.0"; sha256="1094q46j0njkkqv09slliclp3jf8hkg4147hmisggy433xwd19xh"; depends=[penalized ROCR]; }; + sudoku = derive { name="sudoku"; version="2.5"; sha256="1wg86dv3bjz9v3p87ic6fnnkmal92q9klm445z8sf4cw059ghshz"; depends=[]; }; + SUE = derive { name="SUE"; version="1.0"; sha256="0akv724s84v2zixvwywj1ydfnfvcjnaabv6gm0601nsrh6ij1mi6"; depends=[]; }; + sugaR = derive { name="sugaR"; version="0.0-5"; sha256="0lg0wm4fbf4f4vlsy2cnfwm18vnc3i6bd51pixpdb9m512pw761c"; depends=[]; }; + SunterSampling = derive { name="SunterSampling"; version="1.0"; sha256="07s5sd6kf2jg276b5q1ns3h7849b1h0rx77kb3vs4j1svn8k9wxy"; depends=[]; }; + supclust = derive { name="supclust"; version="1.0-7"; sha256="0437pccagvqv6ikdsgzpif9yyiv6p24lhn5frk6yqby2asj09727"; depends=[rpart class]; }; + superbiclust = derive { name="superbiclust"; version="0.1"; sha256="0hzihmjjwk3axgy1y95ckq6m5gmb7ybjj7zscplgsnihi5256jnk"; depends=[biclust Matrix]; }; + superdiag = derive { name="superdiag"; version="1.1"; sha256="0pa3mv74riabpm7j4587zww2364fszzlw48ijj1apcgz8y6pyqbw"; depends=[coda boa]; }; + SuperLearner = derive { name="SuperLearner"; version="2.0-10"; sha256="1axfpk63azffmzy2ag4xlbsxccw2232y5xxygkkiy6c54kgp6301"; depends=[nnls]; }; + superMDS = derive { name="superMDS"; version="1.0.2"; sha256="0jxbwm3izk7bc3bd01ygisn6ihnapg9k5lr6nbkr96d3blpikk04"; depends=[]; }; + superpc = derive { name="superpc"; version="1.09"; sha256="1p3xlg2n7p57n54g2w4frfrng5vjh97kp6ax4mrgvj3pqmd1m69z"; depends=[survival]; }; + SuppDists = derive { name="SuppDists"; version="1.1-9.1"; sha256="1jqsv1lzjblc7sdb4gh8pkww9ar174bpbjl7mmdi59fixymwz87s"; depends=[]; }; + support_BWS = derive { name="support.BWS"; version="0.1-1"; sha256="06ccv7qh75yra6imc20597wp3z3qcj5gkal4dwvh6dzkv48fcxs8"; depends=[]; }; + support_CEs = derive { name="support.CEs"; version="0.3-1"; sha256="0rf5jrk104g133lckcvxbc5nmr2mvcrca67iv1vmmf9why3qv4gq"; depends=[DoE_base MASS simex]; }; + surface = derive { name="surface"; version="0.4-1"; sha256="0z7fh09hjmxfmqzi588gjwqqlpj1a475aixrnvy911lkx3zfk146"; depends=[ape ouch MASS geiger]; }; + Surrogate = derive { name="Surrogate"; version="0.1-0"; sha256="1pc7vwh0q2gf7w7y7msfzwwb2ag4yf0kyaf7dn4s3mpf8rjrvws0"; depends=[MASS nlme msm lme4]; }; + suRtex = derive { name="suRtex"; version="0.9"; sha256="0xcy3x1079v10bn3n3y6lxignb9n3h57w4hhrvzi5y14x05jjyda"; depends=[]; }; + surv2sampleComp = derive { name="surv2sampleComp"; version="1.0-3"; sha256="036mkwvknvrlgp8pqrrjsvnsxv53c3l9qp23jihv0wl29k4jz2gi"; depends=[survival plotrix flexsurv survC1]; }; + survAUC = derive { name="survAUC"; version="1.0-5"; sha256="0bcj982ib1h0sjql09zbvx3h1m96jy9q37krmk6kfzw25ms6bzzr"; depends=[survival]; }; + survBayes = derive { name="survBayes"; version="0.2.2"; sha256="08fbb2kyy7gcqlbzbliy4njkyk6jhr4nlfb4nbmh2kfdfcb6q62v"; depends=[survival coda]; }; + survC1 = derive { name="survC1"; version="1.0-2"; sha256="1bidjhq3k5ab7gqj1b2afngip7pp6c9c7q0m6ww7h7i2vg505l7v"; depends=[survival]; }; + surveillance = derive { name="surveillance"; version="1.7-0"; sha256="0lih7vk3jghkyjknznj5fly3skdhjs2fpmbz73ql19lyark9896x"; depends=[Rcpp sp xtable polyCub MASS Matrix spatstat]; }; + survexp_fr = derive { name="survexp.fr"; version="1.0"; sha256="12rjpnih0xld4dg5gl7gwxdxmrdmyzsymm7j05v98ynldd1jkjl8"; depends=[survival]; }; + survey = derive { name="survey"; version="3.29-5"; sha256="0qzg6h3m27d9v6iyh88pk7iq2glfnn8364jjl7z5d5cbw3ga3j81"; depends=[]; }; + surveydata = derive { name="surveydata"; version="0.1-14"; sha256="1zcp3wb7yhsa59cl4bdw7p08vpviypvfa9hggwc60w7ashpky73i"; depends=[stringr plyr]; }; + Survgini = derive { name="Survgini"; version="1.0"; sha256="1gxkdv2j1njbgnwb52vyhz7p2lrcg3hp6sry3kyhp4wkvf6gnhxi"; depends=[survival]; }; + survIDINRI = derive { name="survIDINRI"; version="1.1-1"; sha256="03lsypx189zm28gv764gdq24a18jj3kpdk91ssa501qxj5jv7v29"; depends=[survival survC1]; }; + survival = derive { name="survival"; version="2.37-7"; sha256="1ihs42gjbw06aj5hz128964lshpi934cyc8npv9c8ann4mc2r3b5"; depends=[]; }; + survivalMPL = derive { name="survivalMPL"; version="0.1.0"; sha256="1nq316w88j7dg48683ka326b2y3f9jl73mig47n3y31z2x9hc8h0"; depends=[survival]; }; + survivalROC = derive { name="survivalROC"; version="1.0.3"; sha256="0wnd65ff5w679hxa1zrpfrx9qg47q21pjxppsga6m3h4iq1yfj8l"; depends=[]; }; + survJamda = derive { name="survJamda"; version="1.1.2"; sha256="172mryz19n4nb9w20xh7yhn4pqaw9m98na2x235lps5rwcjk6x7b"; depends=[survival survivalROC ecodist survJamda_data]; }; + survJamda_data = derive { name="survJamda.data"; version="1.0.1"; sha256="1b8vy59hawgvpjds96q5wscggv8hffkbjw7zwfwf5g3firhb4gnq"; depends=[]; }; + survMisc = derive { name="survMisc"; version="0.4"; sha256="0rrhq5hfi4y6x8gqdqavszqbif7nrmmc4n26hz2dli198gv5l2wp"; depends=[survival km_ci ggplot2 data_table gridExtra KMsurv combinat stringr Hmisc zoo gam]; }; + survPresmooth = derive { name="survPresmooth"; version="1.1-8"; sha256="1qva7yx4vv99mgh3wqxdnbasa1gy0ixxyxpqrfbn6827whjzf91m"; depends=[]; }; + survrec = derive { name="survrec"; version="1.2-2"; sha256="0b77ncr1wg2xqqg1bv1bvb48kmd9h3ja2dysiggvprzjrj7hdlmx"; depends=[boot]; }; + SurvRegCensCov = derive { name="SurvRegCensCov"; version="1.3"; sha256="1sl17x984ww07aakz6dambn5kznw4hvj4b8ahy2r4mr6wf2dpg5a"; depends=[survival numDeriv]; }; + survsim = derive { name="survsim"; version="1.1.0"; sha256="0p4233n05mpaavdda5l69b6335vhlfd2jp0802vvr720fpxbaia1"; depends=[eha statmod]; }; + survSNP = derive { name="survSNP"; version="0.21-7"; sha256="0fanya7ghd61pw7a21xkaxz4mgzdwjwkh1wm41h40wq1c529dzph"; depends=[survival Rcpp lattice foreach xtable]; }; + svapls = derive { name="svapls"; version="1.4"; sha256="12gk8wrgp556phdv89jqza22zmsnachsydr5vlz38s664d2lplbg"; depends=[class pls]; }; + svcm = derive { name="svcm"; version="0.1.2"; sha256="1lkik65md8xdxzkmi990dvmbkc6zwkyxv8maypv2vbi2x534jkhl"; depends=[Matrix]; }; + svd = derive { name="svd"; version="0.3.3-2"; sha256="064y4iq4rj2h35fhi6749wkffg37ppj29g9aw7h156c2rqvhxcln"; depends=[]; }; + svDialogs = derive { name="svDialogs"; version="0.9-55"; sha256="0x1wzqypxir0322mr3zsax1v64y9jdz5sya98y20hc3619mpynwj"; depends=[svGUI]; }; + svDialogstcltk = derive { name="svDialogstcltk"; version="0.9-4"; sha256="16166f8i6nsg7palqmnlp5b9s91d6ja9n0zm6rcvd2fwnw2ljkr4"; depends=[svDialogs svGUI]; }; + svdvisual = derive { name="svdvisual"; version="1.1"; sha256="02mzh2cy4jzb62fd4m1iyq499fzwar99p12pyanbdnmqlx206mc2"; depends=[lattice]; }; + svGUI = derive { name="svGUI"; version="0.9-55"; sha256="1fkkc12mhcbn3s2wzk0xdsp8jl2xmn48ys2an8jhxbww3gplk1rq"; depends=[]; }; + svHttp = derive { name="svHttp"; version="0.9-55"; sha256="0qxsh6ifk3fszgzz497qwia4pxzplwraf2qnn5cqlv5l79nja5yq"; depends=[svMisc]; }; + svIDE = derive { name="svIDE"; version="0.9-52"; sha256="19wsmi1i7nlnqdah1h2pxzsy8m50bnb282fdbj4219p86bb92a86"; depends=[svMisc XML]; }; + svKomodo = derive { name="svKomodo"; version="0.9-62"; sha256="1af22nfbhmx5b3n45k5xfwq667w4cd7m0g5hx5dvv2vfikr613nx"; depends=[svMisc]; }; + svMisc = derive { name="svMisc"; version="0.9-70"; sha256="1xprymz5hblbc929kmbaz0lj633xvgz6mm4snhhjib47cz5anl1w"; depends=[]; }; + SVMMaj = derive { name="SVMMaj"; version="0.2-2"; sha256="01njc7drq01r3364081dv9gn37vrql52zbrb60gd559f3jshqx3m"; depends=[kernlab MASS]; }; + svmpath = derive { name="svmpath"; version="0.953"; sha256="0hqga4cwy1az8cckh3nkknbq1ag67f4m5xdg271f2jxvnmhdv6wv"; depends=[]; }; + svSocket = derive { name="svSocket"; version="0.9-57"; sha256="0id93b500iybza6sbn60ybm91mkh5cjpvhypqs4f3dv13m6blb9j"; depends=[svMisc]; }; + svSweave = derive { name="svSweave"; version="0.9-8"; sha256="0zkng8lwdpjdbic9f6jnk2ndxbch2kjyz71ds1bksvd3kmk03lks"; depends=[knitr]; }; + svTools = derive { name="svTools"; version="0.9-4"; sha256="0szr5dcxjsh5p1nkszvmj0vmi9x70d656hfvhmqf0wyjwv63vp90"; depends=[codetools svMisc]; }; + svUnit = derive { name="svUnit"; version="0.7-12"; sha256="16iiryj3v34zbnk1x05g30paza7al1frqx52fkw8ka61icizsrf5"; depends=[]; }; + svWidgets = derive { name="svWidgets"; version="0.9-44"; sha256="18k06wldcg6xpyf8nz9rdbig5nhvghn7zgf1316413kq3v90vz7b"; depends=[svMisc]; }; + SvyNom = derive { name="SvyNom"; version="1.0"; sha256="07cgg97s2kpq7vak9l1a57gwmp1gsm864m4b9q42s2fbiid8jg83"; depends=[]; }; + svyPVpack = derive { name="svyPVpack"; version="0.1-1"; sha256="15k5ziy2ng853jxl66wjr27lzc90l6i5qr08q8xgcs359vn02pmp"; depends=[survey]; }; + swamp = derive { name="swamp"; version="1.2.3"; sha256="1xpnq5yrmmsx3d48x411p7nx6zmwmfc9hz6m3v9avvpjkbc3glkg"; depends=[amap gplots MASS]; }; + SWATmodel = derive { name="SWATmodel"; version="0.5.9"; sha256="1i48g9nbjfn30ppwyzyz3k181nscv4wx773l8mzfdwhx0nlv4kyj"; depends=[EcoHydRology]; }; + SweaveListingUtils = derive { name="SweaveListingUtils"; version="0.6.1"; sha256="04xl7sw14x3ia5nsmkj1fhxvycl9wpim3frx83dd6kh8i0hpip54"; depends=[startupmsg]; }; + sweSCB = derive { name="sweSCB"; version="0.3.4"; sha256="0fchrp8hsya0yxxnlcf01xklldc5kwkga9qd7wm0g53ahg86yyz9"; depends=[data_table stringr RJSONIO httr]; }; + swirl = derive { name="swirl"; version="2.2.5"; sha256="1fvqv58aaywbfqajc33p0yb0zjy3zl1hcb8y7j5kg5qq7yads212"; depends=[stringr testthat httr yaml RCurl digest]; }; + SwissAir = derive { name="SwissAir"; version="1.1.4"; sha256="1avc32q7nbwjkcbml7z05car6khv1ghcz3miw0krm8i53w032c6f"; depends=[]; }; + switchnpreg = derive { name="switchnpreg"; version="0.8-0"; sha256="1vaanz01vd62ds2g2xv4kjlnvp13h59n8yqikwx07293ixd4qhpw"; depends=[MASS fda expm HiddenMarkov]; }; + sybil = derive { name="sybil"; version="1.2.5"; sha256="10i704mrnh51ibgd31cnnsjyxi5r27p4bmr3h0kfy8jm4qbm0z60"; depends=[Matrix lattice]; }; + sybilccFBA = derive { name="sybilccFBA"; version="1.0.0"; sha256="1fmhgyqzipddcqx2srms9bgigjmijasxhsmivv6c45ln23qjvgf5"; depends=[sybil Matrix]; }; + sybilcycleFreeFlux = derive { name="sybilcycleFreeFlux"; version="1.0.0"; sha256="0wckkri37lvmcgrl8pj9d0zvczgfbklmkxx8yfn3w0k2dqp0wi47"; depends=[sybil Matrix MASS]; }; + sybilDynFBA = derive { name="sybilDynFBA"; version="0.0.2"; sha256="1sqk6dwwfrwvgkwk6mra0i1dszhhvcwm58ax6m89sxk8n0nbmr4b"; depends=[sybil]; }; + sybilEFBA = derive { name="sybilEFBA"; version="1.0.1"; sha256="1advbbsyig49av7sbpbvs47xzg6f8czjb1938ynd0n2yq1bgq5xm"; depends=[sybil Matrix]; }; + sybilSBML = derive { name="sybilSBML"; version="2.0.7"; sha256="11wq9xbhmp3fjgdc507fhp0384xzwk5mn2dqm7w688dk8cidvwkx"; depends=[Matrix sybil]; }; + symbolicDA = derive { name="symbolicDA"; version="0.4-1"; sha256="14lcxgbsizw0l1xcjrmz3jvfsbwlirkd0shp293hg3qi7gbzcms8"; depends=[clusterSim XML rgl shapes e1071 ade4]; }; + symbols = derive { name="symbols"; version="1.1"; sha256="1234rx3divhg60p0h0zn11viqn51fm6b8876m6rip2i6z8vrg319"; depends=[shape]; }; + symmoments = derive { name="symmoments"; version="1.1"; sha256="0p0q9wbpwpzvr5cikqg9mjl2z7fan4v7isxj8hva3h8b6j48vdab"; depends=[mvtnorm]; }; + synbreed = derive { name="synbreed"; version="0.9-7"; sha256="0v81q18dqr7zrh7830xfk30jq6kzgn0kcrp9zq6swk5laalkkqg4"; depends=[doBy BLR regress abind lattice igraph MASS LDheatmap qtl synbreedData]; }; + synbreedData = derive { name="synbreedData"; version="1.4"; sha256="0pfpvg4wvxfwpvxq8f93z1amfss98as66kwpj5mnvvlr33ffmka9"; depends=[]; }; + synchronicity = derive { name="synchronicity"; version="1.1.4"; sha256="0hcxwgf1irswwabgl0b6vb9q09nhxc1ljsm195lc8ql49sfj9mfz"; depends=[bigmemory_sri]; }; + synchrony = derive { name="synchrony"; version="0.2.2"; sha256="1livac5ji5bk3ydnc4108csqbyhrlh06c35vv9ni95h38hp18llv"; depends=[]; }; + SynchWave = derive { name="SynchWave"; version="1.1.1"; sha256="127hllvig8kcs9gr2q14crswzhacv6v2s4zrgj50qdyprj14is18"; depends=[fields]; }; + SYNCSA = derive { name="SYNCSA"; version="1.3.2"; sha256="1m057lhfaf0n35rs3sipia04qgkp04hv7wf7rvnr7bhzic9f4vg3"; depends=[vegan mice FD]; }; + SynergizeR = derive { name="SynergizeR"; version="0.2"; sha256="0z32ylrjjvp8kr6lghhg57yq1laf9r0h8l3adysvis8bbpz2q2sj"; depends=[RJSONIO RCurl]; }; + SyNet = derive { name="SyNet"; version="2.0"; sha256="0mb9dscddkvmkf7l3bbcy4dlfmrvvy588vxdqy5dr783bpa5dkiw"; depends=[tkrplot]; }; + synlik = derive { name="synlik"; version="0.1.0"; sha256="0b51wz4l3586g44m812d273q8x18glwxj4kd4g6qsqd4m1v35058"; depends=[Rcpp Matrix]; }; + Synth = derive { name="Synth"; version="1.1-5"; sha256="1cfvh91nz6skjk8jv04fhwv3ga9kcsfgq3mdy8lx75jkx16zr0pk"; depends=[kernlab optimx]; }; + sysfonts = derive { name="sysfonts"; version="0.2"; sha256="15wzb7c89645xxbhn29bh0djys73iklq05228qnhd5gx5sr43dd0"; depends=[]; }; + systemfit = derive { name="systemfit"; version="1.1-14"; sha256="0f33v96awyhxw3i6zr6whdz91hbfi7vwnfs0bz7xsrjcinqhm6h5"; depends=[Matrix car lmtest sandwich]; }; + tab = derive { name="tab"; version="2.1.1"; sha256="006j43smk9gggfzyg75ah2dag16s82fwcq2kdznm5i8b410hjr3y"; depends=[survival gee]; }; + Table1Heatmap = derive { name="Table1Heatmap"; version="1.1"; sha256="1nrabjivfsdhaqmlq365pskkrp99jqsxn8vy03mdnqn5h5zv7wvx"; depends=[colorRamps]; }; + table1xls = derive { name="table1xls"; version="0.3"; sha256="1av93a5h2br1js8146h9w5xqx7f9nfsjis5bdknayrajdanx5dc1"; depends=[XLConnect]; }; + tableone = derive { name="tableone"; version="0.5.0"; sha256="0k9vpdn84wch4jr83imcx14ysgpdwi1x882k5q55n0hjcby007fd"; depends=[e1071 gmodels]; }; + tableplot = derive { name="tableplot"; version="0.3-5"; sha256="1jkkl2jw7lwm5zkx2yaiwnq1s3li81vidjkyl393g1aqm9jf129l"; depends=[]; }; + tables = derive { name="tables"; version="0.7.64"; sha256="1ixiw267c4wfznk3cx4x71yjczv1828423q80wlx0gwdfjlhbmsm"; depends=[Hmisc]; }; + TableToLongForm = derive { name="TableToLongForm"; version="1.3.0"; sha256="1dxis6gx0misvl18jzsaqxjajclc98xppgxil5xsz1lcq0fkn383"; depends=[]; }; + tabplot = derive { name="tabplot"; version="1.1"; sha256="0vyc6b6h540sqwhrza2ijg7ghw2x8rla827b8qy2sh0ckm0ybjrx"; depends=[ffbase]; }; + tabplotd3 = derive { name="tabplotd3"; version="0.3.3"; sha256="0mbj45vb17wlnndpkhvq7xaawsb814x7zxa4rqbfgidvbm1p3abv"; depends=[tabplot httpuv Rook brew RJSONIO]; }; + tabuSearch = derive { name="tabuSearch"; version="1.1"; sha256="0bri03jksm314xy537dldbdvgyq6sywfmpmj2g2acdcli31kkpq0"; depends=[]; }; + TAHMMAnnot = derive { name="TAHMMAnnot"; version="2.0"; sha256="12ai0rn31shb7halgi00b54gn8s35h9zy1s0r95k931nxb6w4djg"; depends=[mnormt]; }; + TAM = derive { name="TAM"; version="1.0-2.1"; sha256="01w2dwsrr6616xkgb6181gv2bhva37xyrxvaviksm7034xxq73gs"; depends=[MASS mvtnorm tensor sfsmisc GPArotation psych Rcpp]; }; + TANOVA = derive { name="TANOVA"; version="1.0.0"; sha256="0c2mrahchwagisrkjl5l1s0mv0ny80kngq8dz0fjj9lwxwqwvwa5"; depends=[MASS]; }; + TapeR = derive { name="TapeR"; version="0.3.2"; sha256="070zl7hqv5zprhs464gy1kmz0am58l0vig8xvdq6pbz94nrhvpj0"; depends=[nlme pracma]; }; + TAQMNGR = derive { name="TAQMNGR"; version="2014.01-2"; sha256="1szds8yyk3ldap785jxi8lj86rf4zlpzhd7rk2y8xwcq2fhs9h62"; depends=[]; }; + taRifx = derive { name="taRifx"; version="1.0.5"; sha256="1jiyz8pawd203qmmdvnflrrfkrqmsdnf3yxiscgqgcz22c3k4hg4"; depends=[plyr reshape2]; }; + taRifx_geo = derive { name="taRifx.geo"; version="1.0.4"; sha256="1xwfh4zl444n7k6mdy45jaqf2jj315879bcpf3vcihnnrdabq9na"; depends=[taRifx sp plyr reshape2]; }; + tau = derive { name="tau"; version="0.0-17"; sha256="144v2azk6pw1gc6r1mivai24wzrw24aargi05v83aif0cddf9xwa"; depends=[]; }; + TauP_R = derive { name="TauP.R"; version="1.1"; sha256="10sjvcv70fjrsl5nnk9gm4sy7nhwm6aaq57gr37cb10v079ykmk1"; depends=[]; }; + tawny = derive { name="tawny"; version="2.1.0"; sha256="0y7l3pknsyppn3hzanl8gplfsdx6cr9z69ba2af4qgmw6j0glmgi"; depends=[tawny_types futile_matrix futile_logger PerformanceAnalytics quantmod]; }; + tawny_types = derive { name="tawny.types"; version="1.1.1"; sha256="0il95rklqw0cg8kgijd2ca0maahjmhchkx41dw3h0jvfl40qfnfz"; depends=[lambda_r futile_logger futile_options futile_any zoo xts quantmod]; }; + taxize = derive { name="taxize"; version="0.2.2"; sha256="1cbm7hifzarxhfh8rfw2kjikl67f2y0g21q5xmcc7qk65ljdcn1k"; depends=[XML RCurl stringr plyr httr RJSONIO foreach ape Taxonstand reshape2 data_table reshape vegan rgbif]; }; + Taxonstand = derive { name="Taxonstand"; version="1.3"; sha256="0qfvsl2ywkagqn18iyjs3208szs0wm3xi39mssaw2l6rwyrx3kvd"; depends=[]; }; + tbart = derive { name="tbart"; version="0.9"; sha256="1iim4qshbazrb58ydhaxzp9xpy9w1ji2h4nh74scnmsxjdj3gfkg"; depends=[Rcpp sp]; }; + tbdiag = derive { name="tbdiag"; version="0.1"; sha256="1wr2whgdk84426hb2pf8iiyradh9c61gyazvcrnbkgx2injkz65q"; depends=[]; }; + TBEST = derive { name="TBEST"; version="1.4"; sha256="1jgx78k2r8cp7mv17jmqp6hpswhjbmfz9j0ffb0p0klj29lv8mj3"; depends=[signal]; }; + TBSSurvival = derive { name="TBSSurvival"; version="1.1"; sha256="0hh0zpvwbkix8g9slf6bh4qzwmig5qif80q1ph6m5i496ywjcc80"; depends=[mcmc coda survival normalp R_utils BMS]; }; + TcGSA = derive { name="TcGSA"; version="0.9.8"; sha256="19gp3pj4p2svrfyviccvv13q82qj7584nck8zbba90hzv9g4xy86"; depends=[lme4 ggplot2 GSA reshape2 gtools gplots cluster stringr]; }; + tcltk2 = derive { name="tcltk2"; version="1.2-10"; sha256="0m648n028xc6gi3ypih0nyswczh787pwfq7ky2hsxabp958faflb"; depends=[]; }; + TDD = derive { name="TDD"; version="0.4"; sha256="193y8brybkjsajrbnlx1sdnw1wyyn9rhlm5wvp4aamqhvi8z13vn"; depends=[signal RSEIS pracma]; }; + tdm = derive { name="tdm"; version="3.0.1"; sha256="0349k294n3ksm3mr3v78fmpslgm83lqsjzqqmqvzknhka6wwamm7"; depends=[rjags coda png]; }; + TDMR = derive { name="TDMR"; version="1.0.1"; sha256="1m4vwxp5cvjkgwf6ajwfgfl6fi14cgrz6gy114ll9rcf36kgjp6f"; depends=[SPOT e1071]; }; + tdthap = derive { name="tdthap"; version="1.1-7"; sha256="0lqcw4bzjd995pwn2yrmzay82gnkxnmxxsqplpbn5gg8p6sf5qqk"; depends=[]; }; + TeachingDemos = derive { name="TeachingDemos"; version="2.9"; sha256="160xch4812darv77qk2xjblm6nfnna5x2rxy335bwdsdjzcx4x9m"; depends=[]; }; + TeachingSampling = derive { name="TeachingSampling"; version="3.2.1"; sha256="1diw8qz6yi3g7d1ysklrvxwbzda9ybi039yr6agzw0w0b2b59jj4"; depends=[]; }; + TeachNet = derive { name="TeachNet"; version="0.7"; sha256="1p39bsf846r7zwz4lrrv2bpyx9yrkqzrnacajwrz3jjqj6qpp6cn"; depends=[]; }; + teigen = derive { name="teigen"; version="2.0.1"; sha256="1lsx7cb6frfi0i2pg1w228kydfymrbxqd535hnrhhq9j1shhykk4"; depends=[]; }; + tempdisagg = derive { name="tempdisagg"; version="0.23"; sha256="1ym0cbvm8f1wvnkpdm34d5yzgbn3hig1kc3zv8b24pnx11ywv751"; depends=[]; }; + tensor = derive { name="tensor"; version="1.5"; sha256="19mfsgr6vz4lgwidm80i4yw0y1dr3n8i6qz7g4n2xa0k74zc5pp1"; depends=[]; }; + tensorA = derive { name="tensorA"; version="0.36"; sha256="1xpczn94a6vfkfibfvr71a7wccksg16pc22h0inpafna4qpygcwp"; depends=[]; }; + TEQR = derive { name="TEQR"; version="2.0-0"; sha256="1s73qd6cdap9xjhjgf9q7b266l2z3zmrd1pv9dzw3yh4lg2w8mlb"; depends=[]; }; + TERAplusB = derive { name="TERAplusB"; version="1.0"; sha256="0mshx615awcf2arm39mgw2gzgpyn7a3f767484g7z4nqqlikwpgc"; depends=[]; }; + tergm = derive { name="tergm"; version="3.1.4"; sha256="0w5s4ziacxp9zdylmb8f7xrwvql58c6c9jvv27wjxdxpaf9iyp8h"; depends=[statnet_common ergm network networkDynamic robustbase coda nlme]; }; + termstrc = derive { name="termstrc"; version="1.3.7"; sha256="12bycwhjrhkadafcckc30jr0md0ssj21n4v75yjhy21yvqjx1d7a"; depends=[lmtest Rcpp rgl sandwich urca zoo]; }; + ternvis = derive { name="ternvis"; version="1.1"; sha256="16q1a1ns7q0d46js2m1hr6zm8msg3ncgp8w7yrwch11xq0759sb4"; depends=[quadprog maps maptools mapdata dichromat]; }; + TESS = derive { name="TESS"; version="1.2.1"; sha256="15wrbbhrzj66j0z6xhnbf560qg0dzm1yqfbpmx070n3lsa2rdyij"; depends=[ape coda deSolve]; }; + tester = derive { name="tester"; version="0.1.7"; sha256="1x5m43abk3x3fvb2yrb1xwa7rb4jxl8wjrnkyd899ii1kh8lbimr"; depends=[]; }; + testit = derive { name="testit"; version="0.3"; sha256="142q0zwlzx3w69j0fsd06s3pihr76kw9yg21596aalazh7c2yfgi"; depends=[]; }; + TestScorer = derive { name="TestScorer"; version="1.5"; sha256="1kz7qxm96f6f0sd9y68i8fx88n9p52hr66y1gl5kpf21ihmgj4by"; depends=[]; }; + TestSurvRec = derive { name="TestSurvRec"; version="1.2.1"; sha256="05f5gc8hvz09hx015jzis6ikki9c1brdq7l7a9bxm9bqbcc9f2f9"; depends=[survrec boot]; }; + testthat = derive { name="testthat"; version="0.8.1"; sha256="1nja6yfcqyxi6nfs8mcwasslfw8mzlacjwj3kr65zmg58pm82ga4"; depends=[digest]; }; + texmex = derive { name="texmex"; version="2.1"; sha256="17x4xw2h4g9a10zk4mvi3jz3gf4rf81b29hg2g3gq6a6nrxsj8sy"; depends=[mvtnorm]; }; + TExPosition = derive { name="TExPosition"; version="2.6.10"; sha256="12rgijlclaipwjjiyng7nwilzixdy6lsvncigcg0vjydhgk97jn1"; depends=[prettyGraphs ExPosition]; }; + texreg = derive { name="texreg"; version="1.32"; sha256="09s68fvxrj7h69fw99vsn7g6hvjw1sn09ygyyydwazkbsp7iw2wy"; depends=[]; }; + textcat = derive { name="textcat"; version="1.0-1"; sha256="0qk3435pr6nga6c3jwyn5z50ddmrlk8kaz2bp42pd15n6hc2svl3"; depends=[tau slam]; }; + textir = derive { name="textir"; version="2.0-2"; sha256="19n14nqx7gcp5ypfqwmk80lxxwqc0dklm09z3f9czg68j6qv181i"; depends=[distrom gamlr Matrix]; }; + textometry = derive { name="textometry"; version="0.1.2"; sha256="1p2fja00d0ipmzv1vgcaqhhbygqhgs72p8l4rz8xcpj5k3ngmfav"; depends=[]; }; + TFDEA = derive { name="TFDEA"; version="0.8.3"; sha256="16vkvb5q7qyj35yl3hzdldmnjzb172qyjyx3anplrvh161lrhy5r"; depends=[lpSolveAPI]; }; + tfer = derive { name="tfer"; version="1.1"; sha256="19d31hkxs6dc4hvj5495a3kmydm29mhp9b2wp65mmig5c82cl9ck"; depends=[]; }; + TFMPvalue = derive { name="TFMPvalue"; version="0.0.4"; sha256="0lcldym9h4946sk9nj5ic50s5ynlvv26dgjflij0akj5sq1dbph1"; depends=[Rcpp]; }; + tfplot = derive { name="tfplot"; version="2014.2-2"; sha256="1jrkzccvqmwghp6nhxay0m1qx8r5wa96zb9r8v6qihryi9m3amhs"; depends=[tframe]; }; + tframe = derive { name="tframe"; version="2012.8-1"; sha256="0m6kwwn7y4n0vkk9zvwixn2jg67rsv9f9s2xma2mxdxl1f5lnfvh"; depends=[]; }; + tframePlus = derive { name="tframePlus"; version="2013.9-1"; sha256="070ad1g7yv1d5by6xrvshgn43jjxpq8waa339xhzc1am2qzb6mqr"; depends=[tframe timeSeries]; }; + TFX = derive { name="TFX"; version="0.1.0"; sha256="0xrjdbvg0ng4i0s8ql1pfyma10x4n045spilkb05750677r5j44p"; depends=[XML]; }; + tgp = derive { name="tgp"; version="2.4-9"; sha256="0ghn7pmwipwmq6lch7jvzghks9mbj9jrdv5140550vq4w6mnf57q"; depends=[]; }; + tgram = derive { name="tgram"; version="0.2-2"; sha256="091g6j5ry1gmjff1kprk5vi2lirl8zbynqxkkywaqpifz302p39q"; depends=[zoo]; }; + TH_data = derive { name="TH.data"; version="1.0-3"; sha256="0f52x4ill5d4wpb1iyz0blj62jqzrzr6gl74bmy5hxh3f4f4kwq1"; depends=[]; }; + thgenetics = derive { name="thgenetics"; version="0.3-4"; sha256="1316nx0s52y12j9499mvi050p3qvp6b8i01v82na01vidl54b9c2"; depends=[]; }; + Thinknum = derive { name="Thinknum"; version="1.2"; sha256="1chayv0mxmsvp05d2smb7y0fkvyppzn7a1s5amrq53qf4d0zknnl"; depends=[RCurl RJSONIO]; }; + ThreeWay = derive { name="ThreeWay"; version="1.1.2"; sha256="1vf71im3bs2b2v05j12l8qn181kah0mch4h13n71zqik1ykly6jf"; depends=[]; }; + threg = derive { name="threg"; version="1.0.2"; sha256="0wb9waj0j83zrj763d3fdnp3lp52gfdyzv23yrvxvd6zmk5clgi2"; depends=[survival Formula]; }; + ThresholdROC = derive { name="ThresholdROC"; version="1.0"; sha256="1w7bjw1w09skxyc5w3d72wivljlvnck6vbchihjx7m5k6djn7pxi"; depends=[]; }; + tibbrConnector = derive { name="tibbrConnector"; version="1.5.0-71"; sha256="0d8gy126hzzardcwr9ydagdb0dy9bdw30l8s2wwi7zaxx2lpii6q"; depends=[RCurl rjson]; }; + TiddlyWikiR = derive { name="TiddlyWikiR"; version="1.0.1"; sha256="0vwwjdmfc8c0y2gfa8gls1mzvp29y39c9sxryrgpk253jj9px1kr"; depends=[]; }; + Tides = derive { name="Tides"; version="1.0"; sha256="10k8cmpfj9jjpzayyklslgazgl96078vfbn71ncgrn9bb98ahyqs"; depends=[]; }; + tiff = derive { name="tiff"; version="0.1-5"; sha256="0asf2bws3x3yd3g3ixvk0f86b0mdf882pl8xrqlxrkbgjalyc54m"; depends=[]; }; + tiger = derive { name="tiger"; version="0.2.3"; sha256="1cci18g7mnyj687h5p3jr2m7pjh8bjgl9201fqbymv784886zfrm"; depends=[e1071 hexbin qualV klaR som]; }; + tigerstats = derive { name="tigerstats"; version="0.1.3"; sha256="14cy7sz47ww5ag3h3i5yz44iy0g1n2hsdzvm9i2w4yhs40cqra8v"; depends=[lattice MASS]; }; + tightClust = derive { name="tightClust"; version="1.0"; sha256="0psyzk6d33qkql8v6hzkp8mfwb678r95vfycz2gh6fky7m5k3yyz"; depends=[]; }; + tikzDevice = derive { name="tikzDevice"; version="0.7.0"; sha256="12r6qk5qp4yvi3vqvdxp02799y6fhmg21qv6abp1s620n8hgva6d"; depends=[filehash]; }; + tileHMM = derive { name="tileHMM"; version="1.0-6"; sha256="18vqj7fdh4knnjk9s7yk2bgn3qwqz92fmm5fdny21gi0wl4qgdsd"; depends=[]; }; + TilePlot = derive { name="TilePlot"; version="1.3.1"; sha256="0yfzjyzc743rv5piw9mb7y0rr558hkxszgz49lya2w3i1mqvxbzy"; depends=[]; }; + tilting = derive { name="tilting"; version="1.0"; sha256="0s0lac39wnczjy6kb2a1an55fyndh61ya5cx4ic3799cgqvn8ba0"; depends=[mvtnorm]; }; + timeDate = derive { name="timeDate"; version="3010.98"; sha256="12f4bdb9lv724p4p1490iznhnwznnn69c5b6wbljdvscl1yvys9a"; depends=[]; }; + timeit = derive { name="timeit"; version="0.2.1"; sha256="0fsa67jyk4yizyd079265jg6fvjsifkb60y3fkkxsqm7ffqi6568"; depends=[microbenchmark]; }; + timeline = derive { name="timeline"; version="0.9"; sha256="0zkanz3ac6cgsfl80sydgwnjrj9rm7pcfph7wzl3xkh4k0inyjq3"; depends=[ggplot2]; }; + TimeMachine = derive { name="TimeMachine"; version="1.2"; sha256="1dz0j777wmd8mpkm2ryiahpcw6w88w429zjcw6m67pi20r1992cb"; depends=[]; }; + timeordered = derive { name="timeordered"; version="0.9.6"; sha256="0h6y3asq1y788571c423bqkgdcx6k5i9jp6hp59x99g9l77y71sn"; depends=[igraph plyr]; }; + TimeProjection = derive { name="TimeProjection"; version="0.2.0"; sha256="04yr4cg2khkw9n3y3qk0ni1327k4pxm09zz2xg8mpjdvgi4p9yi3"; depends=[lubridate timeDate Matrix]; }; + timereg = derive { name="timereg"; version="1.8.4"; sha256="1ar41dzl7pwh9rap87njyfqc5l4nvhzsv29xbysmcjflvgz15b4j"; depends=[survival prodlim]; }; + timeROC = derive { name="timeROC"; version="0.2"; sha256="1ikd2wr5cja784hihqdyk7mwky18czz58sl0xrvmzhc67153a4jz"; depends=[pec mvtnorm timereg]; }; + timesboot = derive { name="timesboot"; version="1.0"; sha256="1ixmcigi1bf42np93md8d3w464papg9hp85v0c3hg3vl4nsm2bji"; depends=[boot]; }; + timeSeries = derive { name="timeSeries"; version="3010.97"; sha256="0iv1jkh1h2qamsi22m7l3pdx0mgz96lafwjdxc99i558l2gdp2s3"; depends=[timeDate]; }; + timetools = derive { name="timetools"; version="1.5.2"; sha256="1w6c4c31mnm5px3mrpwlrigqzr53nqpkk8myaa3vsv88ay6xsj0d"; depends=[]; }; + TimeWarp = derive { name="TimeWarp"; version="1.0-7"; sha256="1qjr3kfdd1ym0fi4hgjqm32gigchbchxy4xyxmsyl8y7jh2jk9qj"; depends=[]; }; + TIMP = derive { name="TIMP"; version="1.11.0"; sha256="0l8n3xg5ds1lbndd993nijny26s9p36n3j128527y53fs4915lxn"; depends=[fields vcd gplots colorspace gclus nnls deSolve minpack_lm MASS]; }; + timsac = derive { name="timsac"; version="1.3.0"; sha256="1rndm71ia82g7jy717xqlwdmq0rklcaivd2qvxx3crad1zhh6zwc"; depends=[]; }; + Tinflex = derive { name="Tinflex"; version="1.0"; sha256="0zvh2nfx4kqf90mmrpdm2fzlzn7s7gs09i8zin604hqxjir6p3ny"; depends=[]; }; + TInPosition = derive { name="TInPosition"; version="0.13.6"; sha256="1cxxrfpbiyknaivv6gyp79lz0rxwhrndcd054smksxq8zcfz0v7c"; depends=[prettyGraphs TExPosition ExPosition InPosition]; }; + tipom = derive { name="tipom"; version="1.0.2-1"; sha256="1gdfv0g5dw742j6ycmi0baqh6xcchp3yf2n1g8vn7jmqgz5mlhdr"; depends=[]; }; + tis = derive { name="tis"; version="1.23"; sha256="0k8g9r0ngiw5dnmg0vddcmfw2w7g69lamrpczabrd2jmvvy67npn"; depends=[]; }; + titan = derive { name="titan"; version="1.0-16"; sha256="0x30a877vj99z3fh3cw9762j5ci56964j2466xfbwcywhn9njz5r"; depends=[MASS boot lattice]; }; + tkrgl = derive { name="tkrgl"; version="0.7"; sha256="1kpq5p6izqrn1zr53firis3rmifq9lf6326lf3z7l1p82nf2yps5"; depends=[rgl]; }; + tkrplot = derive { name="tkrplot"; version="0.0-23"; sha256="1cnyszn3rmr1kwvi5a178dr3074skdijfixf5ln8av5wwcy35947"; depends=[]; }; + tlemix = derive { name="tlemix"; version="0.1.3"; sha256="0c4mvdxlhbmyxj070xyipx4c27hwxlb3c5ps65ipm6gi8v8r6spj"; depends=[]; }; + tlmec = derive { name="tlmec"; version="0.0-2"; sha256="1gak8vxmfjf05bhaj6lych7bm8hgav1x3h14k2ra7236v82rqbw7"; depends=[mvtnorm]; }; + tlnise = derive { name="tlnise"; version="2.0"; sha256="1vh998vqj359249n9zmw04rsivb7nlbdfgzf20pgh2sndm3rh8qz"; depends=[]; }; + tm = derive { name="tm"; version="0.5-10"; sha256="0gmlgayilnmq9pav0qk1jjv5i054wvmmkb03jaw9grv6x5k4c28i"; depends=[slam]; }; + tmle = derive { name="tmle"; version="1.2.0-4"; sha256="11hjp2vak1zv73326yzzv99wg8a2xyvfgvbyvx3jfxkgk33mybbm"; depends=[SuperLearner]; }; + tmle_npvi = derive { name="tmle.npvi"; version="0.8.1"; sha256="1vxkhf17x3zsf4fvx458qyqn0xi460db6kw6zmaw6jhagjk5yaj0"; depends=[R_utils MASS sgeostat]; }; + tm_plugin_alceste = derive { name="tm.plugin.alceste"; version="1.0"; sha256="08gf1gk9r030cngqz2sj8xkdiwq8qdpca205jqz0p6ilgciq17qs"; depends=[tm]; }; + tm_plugin_dc = derive { name="tm.plugin.dc"; version="0.2-6"; sha256="1agw9rgyrjd9a7dwsmsd6fa88xzss27awr338a0c0zfm43pa1bn3"; depends=[DSL tm slam]; }; + tm_plugin_europresse = derive { name="tm.plugin.europresse"; version="1.0.1"; sha256="0cscwdxm59rldgkl5jdjs9va4clfwn0c1svms4vd2ldri7nh7h52"; depends=[tm XML]; }; + tm_plugin_factiva = derive { name="tm.plugin.factiva"; version="1.3"; sha256="0yaw77azjzzf5raks7yf0blnx3jnby1mdf1wkgnq4ygmfbmrq9yg"; depends=[tm XML]; }; + tm_plugin_lexisnexis = derive { name="tm.plugin.lexisnexis"; version="1.0"; sha256="0mlgvkivlsjlgcxxpxgc697xxmy6k0rdrhdsy8cni8z11m9jabrr"; depends=[tm XML ISOcodes]; }; + tm_plugin_mail = derive { name="tm.plugin.mail"; version="0.0-7"; sha256="1054gl9hlfkilhi7wi1kwbyl9rllm31mnb35nlr78c1nqi3qj5hx"; depends=[tm]; }; + tm_plugin_webmining = derive { name="tm.plugin.webmining"; version="0.9"; sha256="0xcq8frpd2cfjp7vy7h5hadi90jrssq803p2mif4jjqggdr63z4c"; depends=[tm RCurl XML boilerpipeR RJSONIO]; }; + tmvtnorm = derive { name="tmvtnorm"; version="1.4-9"; sha256="1dacdhqv6bb29a81bmxp8hxy4hragpg8mb5kql4cp59q08zmizyi"; depends=[mvtnorm Matrix gmm]; }; + tnet = derive { name="tnet"; version="3.0.11"; sha256="00hifb145w0a9f5qi3gx16lm1qg621jp523vswb8h86jqmxcczbc"; depends=[igraph survival]; }; + toaster = derive { name="toaster"; version="0.2.5"; sha256="0yybv6lq22mzawyvywh1dpg5p5mx5qqqssdhgd3ff78cqp7j298r"; depends=[RODBC plyr reshape2 ggplot2 scales RColorBrewer wordcloud ggmap]; }; + tolerance = derive { name="tolerance"; version="0.5.3"; sha256="058gl3vsqq4ylxrafj6fd70xsw4jbxjlxl30h8pd2dyv1h70b5zf"; depends=[rgl]; }; + topicmodels = derive { name="topicmodels"; version="0.2-0"; sha256="1y5i0m46ci85d84b8sqyysgmha595raa5av41zdd1ck6a00kdwix"; depends=[modeltools slam tm]; }; + TopKLists = derive { name="TopKLists"; version="1.0.1"; sha256="009i18qf3a06503gxbmm65dkkpji0pqi8140nli9ddckq4gwljx2"; depends=[Hmisc gplots]; }; + topmodel = derive { name="topmodel"; version="0.7.2-2"; sha256="1nqa8fnpxcn373v6qcd9ma8qzcqwl2md347yql3c8bpqlm9ggz16"; depends=[]; }; + topologyGSA = derive { name="topologyGSA"; version="1.4.3"; sha256="0m6qw47jlg0yf66nd46lkji342303v2jf0a6zbkf7hb6zf3rgkfv"; depends=[gRbase fields]; }; + topsis = derive { name="topsis"; version="1.0"; sha256="056cgi684qy2chh1rvhgkxwhfv9nnfd7dfzc05m24gy2wyypgxj3"; depends=[]; }; + tosls = derive { name="tosls"; version="1.0"; sha256="03nqwahap504yvcksvxdhykplbzmf5wdwgpzm7svn8bymdc472v2"; depends=[Formula]; }; + tourr = derive { name="tourr"; version="0.5.3"; sha256="0jsj2r9lhy0pa4kxnfb1cpf28c8q26rcprssax765n5ip1w9ycra"; depends=[]; }; + tourrGui = derive { name="tourrGui"; version="0.4"; sha256="1g9928q3x9rrd9k3k84r201wss3vjd2pngvbaflk5dqh9yf75jpq"; depends=[tourr colorspace RGtk2 gWidgets Cairo]; }; + tpe = derive { name="tpe"; version="1.0.1"; sha256="0zsa8vb4qmln3sb4lplv43lh50yys9vfd3rxfp6qxqqjxivd0xsh"; depends=[]; }; + TPmsm = derive { name="TPmsm"; version="1.1.1"; sha256="0fd4l1rzclq32l97g7rdvhdvfdylgwaf079y24arfvkyphs2xga4"; depends=[KernSmooth]; }; + tpr = derive { name="tpr"; version="0.3-1"; sha256="0nxl0m39zaii6rwm35hxcdk6iy2f729jjmhc2cpr8h0mgvgqf19d"; depends=[lgtdl]; }; + track = derive { name="track"; version="1.0-15"; sha256="05v6p2mfms59p3cs4vwpzvi9gaadrin50fc39l5kjqwqa9vhmkz7"; depends=[]; }; + trackObjs = derive { name="trackObjs"; version="1.0-18"; sha256="0wwm9yx5wnmgvyd7zczkv8mdzixazb3kps112w19rdbnkiq1db3d"; depends=[]; }; + TrackReconstruction = derive { name="TrackReconstruction"; version="1.1"; sha256="1f2l3nshb6qrhyczw5rxqqzmsjxf0rvv3y78j8d9lv1nnd9kxzq5"; depends=[fields RColorBrewer]; }; + tractor_base = derive { name="tractor.base"; version="2.5.0"; sha256="17s4iyp67w7m8gslm87p3ic5r9iq7x1ifpxqrmnin3y5a3d04f5v"; depends=[reportr]; }; + traitr = derive { name="traitr"; version="0.13"; sha256="0xn2w83w9mh2aal375snzv9r7yv7adly3axf8kchlcxs2kgrrn8f"; depends=[digest proto gWidgets]; }; + TraMineR = derive { name="TraMineR"; version="1.8-8"; sha256="12zbk7bq4ff4dzq86zbh9pspl1b9a69k0rw9lg8sh3mmc0f09m8j"; depends=[RColorBrewer boot]; }; + TraMineRextras = derive { name="TraMineRextras"; version="0.2.2"; sha256="0sb072ssg5q3kncb3b1a0nrnapjq8rly0ibh3gdrld9fdbdbjx68"; depends=[TraMineR RColorBrewer combinat survival]; }; + TRAMPR = derive { name="TRAMPR"; version="1.0-7"; sha256="135ylhijhpdxpznfdbdzwfsvy8bhw1yx28c3520a3lyrqvinpawg"; depends=[]; }; + translate = derive { name="translate"; version="0.1"; sha256="0lpgpwwfgwg7mcgf6k460l4z2q4s6i2hqwbyb8l82qgcyvbf3ddb"; depends=[RCurl RJSONIO functional lisp]; }; + transnet = derive { name="transnet"; version="0.1"; sha256="0apsb67dxcnnsjnldr1vsjpc7xwy4cipybk9d86rf86l6cmirci6"; depends=[rJava plyr reshape2]; }; + trapezoid = derive { name="trapezoid"; version="2.0-0"; sha256="0f6rwmnn61bj97xxdgbydi94jizv1dbq0qycl60jb4dsxvif8l3n"; depends=[]; }; + TreatmentSelection = derive { name="TreatmentSelection"; version="1.1.1"; sha256="1l4k33cs3wy2hh5chkh7bb4kdh2vmqrp14nrbv639y5h16n3msba"; depends=[ggplot2]; }; + tree = derive { name="tree"; version="1.0-35"; sha256="1k8c2kjk53gix68frprlyx5ww7cm373vz1xg2r2jxbzxg1y4v691"; depends=[]; }; + treebase = derive { name="treebase"; version="0.0-7.1"; sha256="0kj1cyk14j4qzm31f47a8g7qh4842rqkzr0fqh9i5c8kzrqxbc0g"; depends=[ape XML RCurl reshape2 data_table]; }; + treecm = derive { name="treecm"; version="1.2"; sha256="0085d3rq8c31g8mh6qjvmll13ikvii58ky0dcva7kmv7ac54nlqk"; depends=[plyr]; }; + treelet = derive { name="treelet"; version="1.0"; sha256="16g4lmp4yrfg328d0qwrp101y1qnwcrff7kna60cjmqdpvg3wm15"; depends=[]; }; + treemap = derive { name="treemap"; version="2.2"; sha256="0h4wkjw12n9awqsvrs72nmsxq3d5as3zjy8kyhw7715h1cvry769"; depends=[colorspace data_table ggplot2 gridBase igraph RColorBrewer shiny]; }; + TreePar = derive { name="TreePar"; version="2.5"; sha256="0x53s39gypg9dfi671i1lam1lpirm7kg4qvxgi5yrj6n8zaa788g"; depends=[ape Matrix subplex TreeSim deSolve]; }; + TreeSim = derive { name="TreeSim"; version="1.9.1"; sha256="0kds8zwm7l4ljsfz32gwl4mg1gf2r5ixbpfdadpbamr0xn34hj3x"; depends=[ape geiger]; }; + TreeSimGM = derive { name="TreeSimGM"; version="1.1"; sha256="01jgcdwnammznrq6ccy5bhhp27pzh4lb2i7ak096z996hf96xa77"; depends=[TreeSim]; }; + treethresh = derive { name="treethresh"; version="0.1-7"; sha256="0757w8y7hqki9znn726h7ry1hdrhnfj9ps179jmh5cl0gb5p2qin"; depends=[EbayesThresh wavethresh]; }; + TrialSize = derive { name="TrialSize"; version="1.3"; sha256="1hikhw2l7d3c7cg4p7zzrgdwhy9g4rv06znpw5mc6kwinyakp75q"; depends=[]; }; + TRIANG = derive { name="TRIANG"; version="1.2"; sha256="09hfvfmqrmx8dphlk46ga0y9s986kb32qdhgiq95faqfhpirf0qa"; depends=[]; }; + TRIANGG = derive { name="TRIANGG"; version="1.0"; sha256="1ycqyaijxmgi7v9rzdsq3gxx1wll51yfpdyxbjiyp9gpgmcs7h48"; depends=[]; }; + triangle = derive { name="triangle"; version="0.8"; sha256="0jdphz1rf4cx4y28syfffaz7fbl41g3rw3mrv9dywycdznhxdnrp"; depends=[]; }; + trifield = derive { name="trifield"; version="1.1"; sha256="0xk48fkd5xa3mfn3pwdya0ihpkwnh20sgj3rc7fmzjil47kqscvy"; depends=[]; }; + TriMatch = derive { name="TriMatch"; version="0.9.1"; sha256="1207lnysdjd347m1lsbxy19lq73bjs1irqwk94y8idp1pcj4pfpd"; depends=[ggplot2 scales reshape2 ez psych PSAgraphics]; }; + trimcluster = derive { name="trimcluster"; version="0.1-2"; sha256="0lsgbg93hm0w1rdb813ry0ks2l0jfpyqzqkf3h3bj6fch0avcbv2"; depends=[]; }; + trioGxE = derive { name="trioGxE"; version="0.1-1"; sha256="1ra86l3i7fhb6nsy8izixyvm6z23shv7fcjmnnpil54995j15ax4"; depends=[msm mgcv gtools]; }; + trip = derive { name="trip"; version="1.1-17"; sha256="1i1hc89bdws4k10w6yz0wqnkkk2mgbhkv0kdnx2q8ljir9p4gbyx"; depends=[sp maptools MASS spatstat]; }; + tripack = derive { name="tripack"; version="1.3-6"; sha256="1dknz1arzfyknip04a9fxdhqmrkb0r0lr8hgria9s0d57hr1ay12"; depends=[]; }; + tripEstimation = derive { name="tripEstimation"; version="0.0-41"; sha256="11cn9lz4vdcx8wb46cm5sj0rfjl9cs50z7zxfxrn79nz0pga4gwn"; depends=[lattice mgcv rgdal sp zoo]; }; + TripleR = derive { name="TripleR"; version="1.2.1"; sha256="0ab0mb044594rixira088l2dr5r9jrbphiigi8nv8ggm6536sqf0"; depends=[reshape plyr]; }; + trueskill = derive { name="trueskill"; version="0.1"; sha256="0mqvm64fcsxjlh789lqdk6l28q31yhh6jjirwjlgbpxxb90c5107"; depends=[]; }; + truncdist = derive { name="truncdist"; version="1.0-1"; sha256="0aszs6rz8nydyf2dw1m4fj9fclb0r4vpgqywyaqjkdnhzmyn593g"; depends=[evd]; }; + truncgof = derive { name="truncgof"; version="0.6-0"; sha256="0b499i9zjwvva5jfl9fj02jjrgy8myxqfjwa0cjg0jrpgxczgwg8"; depends=[MASS]; }; + truncnorm = derive { name="truncnorm"; version="1.0-7"; sha256="1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7"; depends=[]; }; + truncreg = derive { name="truncreg"; version="0.2-1"; sha256="0qvdfj93phk1s2p4n0rmpf8x9gj5n1j75h4z424mrg10r24699rd"; depends=[maxLik]; }; + truncSP = derive { name="truncSP"; version="1.2.1"; sha256="144ypplkxpnarab8zcc4kc3c62pvc117bnhrsjv5ln3vlsvp05y6"; depends=[truncreg boot]; }; + trust = derive { name="trust"; version="0.1-6"; sha256="1jghgwnazhqgyn2k0b3x4n8swncyy6dzlkv86chv98zw4s3bnlak"; depends=[]; }; + trustOptim = derive { name="trustOptim"; version="0.8.3"; sha256="04pkni5053r9czmf81jaq3y1kvw902g237pa6d3jgkvlqaznqwg3"; depends=[Rcpp RcppEigen Matrix]; }; + TSA = derive { name="TSA"; version="1.01"; sha256="0cm97hwxm6vfgy9mc3kgwq6dnmn86p8a4avnfjbai048qnwrn6hx"; depends=[leaps locfit mgcv tseries]; }; + TSAgg = derive { name="TSAgg"; version="1.0.1"; sha256="01s0grwfbhhfipqdnc0932rjsz4k52rln2bs8dsvrk6f8wps7h1k"; depends=[lubridate]; }; + tsbridge = derive { name="tsbridge"; version="1.0"; sha256="0frp6whd5c8gxw0nv1y1qngifxbvpakyagbx3i80c19ic3hk6q8p"; depends=[mvtnorm tsbugs]; }; + tsbugs = derive { name="tsbugs"; version="1.2"; sha256="130v4x6cfy7ddvhijsnvipm4ycrispkj1j0z5f326yb4v5lrk91x"; depends=[]; }; + TSclust = derive { name="TSclust"; version="1.2.1"; sha256="1ixawrs686p5g8kdaiqpf4y8ndpz0vgz9ji1ahja8i6nscfzasd9"; depends=[wmtsa pdc cluster locpol KernSmooth dtw longitudinalData]; }; + TScompare = derive { name="TScompare"; version="2013.9-1"; sha256="1gghr7xsg524sc9lhy1ymlhigaz6pi69fnccgn784ff2hl3w6d8w"; depends=[TSdbi tframe tfplot]; }; + TSdata = derive { name="TSdata"; version="2013.9-1"; sha256="1r3x6w17517if2jpcz2mr8jk5i080dkx4nlffblrcsxjhfvlz0xh"; depends=[]; }; + TSdbi = derive { name="TSdbi"; version="2013.9-1"; sha256="12v9dv7hrq626q44v3lws950m241fq5fsfsnmgvfbbyya5ixis86"; depends=[DBI tframe]; }; + tsDyn = derive { name="tsDyn"; version="0.9-33"; sha256="080bzbxvjfwayq9j7r1ghalvjcql9sk7ryzj880k2by4179fhnkk"; depends=[mnormt mgcv nnet tseriesChaos tseries vars urca forecast MASS Matrix foreach]; }; + TSEN = derive { name="TSEN"; version="1.0"; sha256="1pn313g2ylbjc37rqcakd797vffnh7v0rgg1xl5wjyvcgmm5mxix"; depends=[ncdf]; }; + tseries = derive { name="tseries"; version="0.10-32"; sha256="0jz8a3z3hx2ps7krmpg6m10jvz5ddgmcrmnd38jpxb6ndnhh3pzw"; depends=[quadprog zoo]; }; + tseriesChaos = derive { name="tseriesChaos"; version="0.1-13"; sha256="0f2hycxyvcaj3s1lmva1qy46xr6qi43k8fvnm4md5qj8jp2zkazg"; depends=[deSolve]; }; + tsfa = derive { name="tsfa"; version="2014.2-2"; sha256="07g9qfdrhccl5dlsbpxn1ihavxljd9nq21hzbyn225cfi4bkx42h"; depends=[GPArotation dse EvalEst setRNG tframe tfplot]; }; + TSfame = derive { name="TSfame"; version="2013.8-2"; sha256="19awl7jrx97y93wsms3h87w8qdgpdrkbbpsjsa2aqsnyq5vgy82l"; depends=[TSdbi DBI tframe tframePlus fame tis]; }; + TSgetSymbol = derive { name="TSgetSymbol"; version="2013.9-1"; sha256="1hn78xrfdnwhjrgcnn71ihvdgv4qwdxhpjwcqp0pbkgbxj3q5w3k"; depends=[TSdbi quantmod DBI zoo tframe tframePlus]; }; + TShistQuote = derive { name="TShistQuote"; version="2013.9-1"; sha256="06din7frxmbk4qxkpv0z5srh8nh0wkmrfl9lz17y7cwsmldl4hvr"; depends=[TSdbi DBI tframe tframePlus zoo tseries]; }; + TSHRC = derive { name="TSHRC"; version="0.1-3"; sha256="18ygg7bqwg1pdqi52l1lf33gcd277895rlf5853yzh7ln2ivssmi"; depends=[]; }; + TSjson = derive { name="TSjson"; version="2014.4-1"; sha256="1rkxc4dm7hdva0hiqbka8isfszjy26if9hnarsm51cflk8b60zhk"; depends=[TSdbi findpython DBI tframe tframePlus rjson]; }; + tslars = derive { name="tslars"; version="1.0"; sha256="0ylpn4jxmrck7hna3j420kw2yhsrklrq2664w85z30xij3zrrrci"; depends=[]; }; + tsModel = derive { name="tsModel"; version="0.6"; sha256="0mkmhzj4g38ngzfcfx0zsiqpxs2qpw82kgmm1b8gl671s4rz00zs"; depends=[]; }; + TSMySQL = derive { name="TSMySQL"; version="2013.9-1"; sha256="1ls3mpp5xq707vgv8l14cfbw1vn4ygy4d9n19nw5mnl3izz4p0pk"; depends=[TSdbi RMySQL DBI tframe TSsql]; }; + tsne = derive { name="tsne"; version="0.1-2"; sha256="12q5s79r2949zhm61byd4dbgw6sz3bmxzcwr8b0wlp8g1xg4bhy6"; depends=[]; }; + TSodbc = derive { name="TSodbc"; version="2013.9-1"; sha256="0s0bgid5slvyqlsrc0jvybqd73qjbs7qb0klws4ynk51rw6rilml"; depends=[TSdbi RODBC DBI tframe tframePlus TSsql]; }; + TSP = derive { name="TSP"; version="1.0-8"; sha256="1yk4ivxa835l4808m1yiv3gqm0bdd5shwf9i5k8ngnmirj30d67j"; depends=[]; }; + Tsphere = derive { name="Tsphere"; version="1.0"; sha256="0xgxw2hfj40k5s0b54dcmz7savl8wy4midmmgc7lq4pyb8vd58xx"; depends=[glasso rms]; }; + tspmeta = derive { name="tspmeta"; version="1.1"; sha256="11kr5avf67v2cxy3k1yrpv9lcbmiprd0w43w7zvizhsij58h13vm"; depends=[ggplot2 TSP MASS BBmisc fpc vegan stringr splancs]; }; + TSPostgreSQL = derive { name="TSPostgreSQL"; version="2013.9-1"; sha256="0ihfz0q1faxb7mk4jm10czfb9fz168x4z8890vql98djsxzjxpz4"; depends=[TSdbi RPostgreSQL DBI tframe tframePlus TSsql]; }; + TSsql = derive { name="TSsql"; version="2014.4-1"; sha256="10h83z0d9xjc1g0pnjvr4idz5c2vwf36x6qx1lpa48ybap50s215"; depends=[DBI tframe TSdbi]; }; + TSSQLite = derive { name="TSSQLite"; version="2013.9-1"; sha256="0yw5whn95dvv3wbwmlhfgkapwp66nk94fjfl1r8irbqvrscmjin0"; depends=[TSdbi RSQLite DBI tframe tframePlus TSsql]; }; + TSTutorial = derive { name="TSTutorial"; version="1.2.3"; sha256="0hpk6k3lc72p8pdz5aad04lcjsz9k443h5gs09dc3i10wqw3yhxs"; depends=[MASS]; }; + TSxls = derive { name="TSxls"; version="2013.8-2"; sha256="1a0cmw41jf9jqibg25s4s04lawdb86c5r4bkxp8bznzkkhihpxn1"; depends=[TSdbi DBI tframe tframePlus gdata]; }; + TSzip = derive { name="TSzip"; version="2013.9-1"; sha256="09fqjsppj7qmbiiy19s64j77kf6drqfiphk5dfz25w5df1lzdw0f"; depends=[TSdbi DBI tframe tframePlus gdata]; }; + TTAinterfaceTrendAnalysis = derive { name="TTAinterfaceTrendAnalysis"; version="1.5.1"; sha256="1i9p5s7xj3py8465yjjaqs2m7krjxzzqd86lkpbgzxnxjdnxcx5i"; depends=[Hmisc pastecs reshape wq e1071 timeSeries fBasics relimp multcomp nlme lubridate tcltk2]; }; + tth = derive { name="tth"; version="4.3-1"; sha256="0mdcwialbr0s3hzh0vf0wildra4xxxhmka35avnkj1jc8igpax3h"; depends=[]; }; + TTR = derive { name="TTR"; version="0.22-0"; sha256="0aackwmmakjcynpq4nxi8xw1x3688rkg6kypgd5jiprzzdhsz5rq"; depends=[xts]; }; + ttScreening = derive { name="ttScreening"; version="1.3"; sha256="1ixy3s0a1vwr5qf1w24n8bhbq6qbwraal8xb8ypbvpjkrl0d14z2"; depends=[matrixStats corpcor]; }; + ttutils = derive { name="ttutils"; version="1.0-1"; sha256="18mk30070mcplybg320vjbk9v5flxnbqi5gx0yyr1z6ymjmnrxbc"; depends=[]; }; + ttwa = derive { name="ttwa"; version="0.8.5.1"; sha256="1lhypcwssq0dspizvln3w4dg16ad6mz8cj4w34c5vsrayqid7fyn"; depends=[data_table]; }; + TukeyC = derive { name="TukeyC"; version="1.1-4"; sha256="0p6wiyk6k2jabbf1s8fgzd547f3c0paf8d9hfa9aan5vwfcfyld6"; depends=[]; }; + TunePareto = derive { name="TunePareto"; version="2.4"; sha256="0pljl3q5s9yqc4ph70y66ff9ci9w8gwj8jsy8srxqkgqvahc8arf"; depends=[]; }; + tuneR = derive { name="tuneR"; version="1.2.1"; sha256="1f6mdkfwfy6r62sbwq37sylvcji6f3mj9w13sgicxjn6swbszf57"; depends=[signal]; }; + turboEM = derive { name="turboEM"; version="2012.2-1"; sha256="1vv7bjkkqm96qkqqz6gzhz7ii4yzr252r8wf37dgv5qfh1jlbvp2"; depends=[numDeriv quantreg foreach]; }; + turner = derive { name="turner"; version="0.1.7"; sha256="1xckb750hbfmzhvabj0lzrsscib7g187b44ag831z58zvawwh772"; depends=[tester]; }; + TUWmodel = derive { name="TUWmodel"; version="0.1-2"; sha256="1k3gdsl8rv10ipa82rgyhjh4pqf4n2d2dj68s9r5pkv362kzk1ra"; depends=[]; }; + tvm = derive { name="tvm"; version="0.2"; sha256="1fwa37xnp3idal8v1xxlc9gr25595f644i7a3h8xpd0k086sp1dg"; depends=[ggplot2 reshape2]; }; + twang = derive { name="twang"; version="1.4-0"; sha256="0r9n0s421dhvsr3ppzhdxsq4viz18mbi9mglhyyl5r6slzyb4m0x"; depends=[gbm survey xtable latticeExtra]; }; + tweedie = derive { name="tweedie"; version="2.1.7"; sha256="1ivyfpksxds9p26lmi67kxc2fldc7869lj58l81wrnnjzh0jpq8w"; depends=[statmod]; }; + twiddler = derive { name="twiddler"; version="0.5-0"; sha256="0r16nfk2afcw7w0j0n3g0sjs07dnafrp88abwcqg3jyvldp3kxnx"; depends=[]; }; + twitteR = derive { name="twitteR"; version="1.1.7"; sha256="0zkz44brvkrsp1g7i90j2lvnj462vav706vqyxv0jfkp52f0s1z4"; depends=[ROAuth RCurl rjson]; }; + TwoCop = derive { name="TwoCop"; version="1.0"; sha256="1ycxq8vbp68z82r2dfg2wkc9zk3bn33d94xay20g2p55lnzl2ifd"; depends=[]; }; + twoStageGwasPower = derive { name="twoStageGwasPower"; version="0.99.0"; sha256="1xvy6v444v47i29aw54y29xiizkmryv8p3mjha93xr3xq9bx2mq7"; depends=[]; }; + twostageTE = derive { name="twostageTE"; version="1.0"; sha256="18dkf92zc6l2s41hwp0kic64q313j9hrnkld65sh015l2lfinrq7"; depends=[isotone]; }; + TwoStepCLogit = derive { name="TwoStepCLogit"; version="1.2.2"; sha256="0z3jg0hl7v2g1bral94gn3b1d11dzrlnzc912yh52vrcawbkmckq"; depends=[survival]; }; + txtplot = derive { name="txtplot"; version="1.0-3"; sha256="1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h"; depends=[]; }; + UBCRM = derive { name="UBCRM"; version="1.0"; sha256="1lkj0pg3pmj91s8i9xzs3bpizpmvjn85bs89wl54whjjhfnnfynk"; depends=[]; }; + ucminf = derive { name="ucminf"; version="1.1-3"; sha256="19gmbz32rhrdagvhf2s901lvi1r6273wzznry5daryq6w1jx5z3v"; depends=[]; }; + udunits2 = derive { name="udunits2"; version="0.6"; sha256="1dlxcx7yw7yqpimnfikdraqcmjsjz7js0j24li0879dzwrqa27ja"; depends=[]; }; + ump = derive { name="ump"; version="0.5-4"; sha256="05nd9bnysp8gaw916h7hk425banffcm0xfygalbp7brl71q0zby6"; depends=[]; }; + unbalanced = derive { name="unbalanced"; version="1.1"; sha256="0crkykmyxbag4ri2zikz4r22bf92r3v6q1lfdcvwdvv27slhyfn2"; depends=[FNN RANN]; }; + unbalhaar = derive { name="unbalhaar"; version="2.0"; sha256="0v6bkin1cakwl9lmv49s0jnccl9d6vdslbi1a7kfvmr5dgy760hs"; depends=[]; }; + Unicode = derive { name="Unicode"; version="0.1-4"; sha256="0ja0l8b95r2wgybbrpbdbbfjzdq2ns0kcvffv47sq29m516dasyh"; depends=[]; }; + uniCox = derive { name="uniCox"; version="1.0"; sha256="1glgk6k8gwxk3haqaswd2gmr7a2hgwjkwk2i1qc5ya7gg8svyavv"; depends=[survival]; }; + uniReg = derive { name="uniReg"; version="1.0"; sha256="1xl19dqnxxibgiiny9ysll2z8j1i70qrszf4xbacq1a6z31vm840"; depends=[DoseFinding MASS mvtnorm quadprog SEL]; }; + unmarked = derive { name="unmarked"; version="0.10-4"; sha256="1mb9c6h51y476y50q4bh9v6wx6d91b2npf18a66gjs406nra3yck"; depends=[reshape lattice Rcpp plyr]; }; + untb = derive { name="untb"; version="1.7-2"; sha256="1ha0xj94sz1r325qb4sb5hla9hw1gbqr76703vk792x9696skhji"; depends=[Brobdingnag partitions polynom]; }; + upclass = derive { name="upclass"; version="1.0"; sha256="0ga49pcxib4lp0pq1ljj1fjbrg7jz4vpjp5hq0c1v1hw2p7a3giy"; depends=[mclust classifly gclus]; }; + uplift = derive { name="uplift"; version="0.3.5"; sha256="11xikfmg6dg8mhwqq6wq9j9aw4ljh84vywpm9v0fk8r5a1wyy2f6"; depends=[RItools MASS coin tables penalized]; }; + urca = derive { name="urca"; version="1.2-8"; sha256="0gyjb99m6w6h701vmsav16jpfl5276vlyaagizax8k20ns9ddl4b"; depends=[nlme]; }; + UScancer = derive { name="UScancer"; version="0.1-1"; sha256="0x7hr7rwplbs8bny7qr8m1rljdzwm27v0nddd2jj0v4561ljkih2"; depends=[rgdal]; }; + UScensus2000blkgrp = derive { name="UScensus2000blkgrp"; version="0.03"; sha256="196hpqrc3rq0m6ra6qinlhz1yknplx08pfp57l6yalni26c8pia0"; depends=[maptools sp foreign]; }; + UScensus2000cdp = derive { name="UScensus2000cdp"; version="0.03"; sha256="143hqnzdla3p31n422ddzaaa34wc6xnnhil4y53m4qydyg407700"; depends=[maptools sp foreign]; }; + UScensus2000tract = derive { name="UScensus2000tract"; version="0.03"; sha256="11ppw75k8zghj7xphx5xyl3azsdsyd142avp0la2g941w6f8l2n1"; depends=[maptools sp foreign]; }; + UScensus2010 = derive { name="UScensus2010"; version="0.11"; sha256="1q06spkh8f4ijvfg557rl3176ki4i8a1y39cyqm3v7mnzwckyj3l"; depends=[maptools sp foreign]; }; + usdm = derive { name="usdm"; version="1.1-12"; sha256="0padc9ppfisnjg1nzw5csv2zki6dby7487lis8pixf1hhbinsnci"; depends=[raster]; }; + useful = derive { name="useful"; version="1.1.8"; sha256="1lzl7rr9qxqa0ga6ml7qi7wi02fd4isgpfskvi3igy10iw1zv3hb"; depends=[ggplot2 plyr scales]; }; + userfriendlyscience = derive { name="userfriendlyscience"; version="0.1-2"; sha256="1b2ypga0kzf8qsl160by1vfp8p6z2mczn3w1qgk042y83kiaiawx"; depends=[ggplot2 plyr psych pwr fBasics e1071 ltm MBESS foreign knitr xtable GGally lavaan]; }; + UsingR = derive { name="UsingR"; version="0.1-18"; sha256="1mk1dnz9ssnn9k5plq4wxbqbb73ma7d3b89lv2jbzh2iglbn0r0s"; depends=[MASS]; }; + usl = derive { name="usl"; version="1.2.2"; sha256="03kx14fs0qi8zjb29xp7pnjh124z290sr7biim8kal1w4a4s946p"; depends=[boot nlmrt]; }; + utility = derive { name="utility"; version="1.2"; sha256="10dwmf4gcz0jbakwnvgm475sjjilqj1gf3zisil22pk0rcm51kgj"; depends=[]; }; + uuid = derive { name="uuid"; version="0.1-1"; sha256="1b35h2n86233zb6dwkgxxlvnlld8kmv0j6j3m31xjbpmc3ppr7w3"; depends=[]; }; + UWHAM = derive { name="UWHAM"; version="1.0"; sha256="1qaj8anaxqnx4nc6vvzda9hhhzqk9qp8q7bxm26qgia4hgascnrv"; depends=[trust]; }; + vacem = derive { name="vacem"; version="0.1-1"; sha256="0lh32hj4g1hsa45v6pmfyj1hw0klk8gr1k451lvs4hzpkkcwkqbn"; depends=[foreach]; }; + varbvs = derive { name="varbvs"; version="1.0"; sha256="0ywgb6ibijffjjzqqb5lvh1lk5qznwwiq7kbsyzkwcxbp8xkabjw"; depends=[]; }; + varComp = derive { name="varComp"; version="0.1-317"; sha256="16nmhipi0nlh0igc3g9jbv1pqvigmgxy8f395xx6hbzyg87x2ha9"; depends=[quadprog Matrix MASS CompQuadForm RLRsim SPA3G mvtnorm nlme]; }; + varcompci = derive { name="varcompci"; version="1.0.1"; sha256="11fxb63479cha4apakfd1rs89ngrpfhy0h1412wxyn4k8kbibkk4"; depends=[]; }; + vardiag = derive { name="vardiag"; version="0.2-0"; sha256="0avj900zx4nr67dk08n0n6arxx2cb2ymm0kd5xxnzsmyrmwm40mm"; depends=[]; }; + VarEff = derive { name="VarEff"; version="1.0"; sha256="0zp024z5xl43z2z67fq5ryfiamfvdbbbv1iaaiyw3shjbg2bp8dp"; depends=[mcmc]; }; + VaRES = derive { name="VaRES"; version="1.0"; sha256="0gw05jiqgirhz3c8skbb07y4h44r6vi68gnd5y7ql455v0c2raza"; depends=[]; }; + VAR_etp = derive { name="VAR.etp"; version="0.2"; sha256="1782x49mmx5cchndrcvcm4ffccszjv7kd4yzngk18j0ql1asx92s"; depends=[]; }; + VariABEL = derive { name="VariABEL"; version="0.9-2"; sha256="0vlr6zxl75i49p35jxrc5fwfrb55n91hqdan2ikcix3r2k4qs5k0"; depends=[]; }; + VarianceGamma = derive { name="VarianceGamma"; version="0.3-1"; sha256="01jv5qrfw8y8yyd3jy3058bpnfyzz7d0m4rx0iibs79gv2rvq5sn"; depends=[DistributionUtils GeneralizedHyperbolic RUnit]; }; + vars = derive { name="vars"; version="1.5-2"; sha256="1q45z5b07ww4nafrvjl48z0w1zpck3cd8fssgwgh4pw84id3dyjh"; depends=[MASS strucchange urca lmtest sandwich]; }; + varSelectIP = derive { name="varSelectIP"; version="0.2-1"; sha256="180lzsg48hnlcmhpk0a5yzmy2syw8yr7f5npnyspx3897hjag1vp"; depends=[MASS mvtnorm]; }; + varSelRF = derive { name="varSelRF"; version="0.7-3"; sha256="11am1hdcaxh58mqa1v16siip6adg61pjxhdyl8mlgnnmffslnpq9"; depends=[randomForest]; }; + VarSwapPrice = derive { name="VarSwapPrice"; version="1.0"; sha256="12q2wp2cqi9q47mzbb7sc250zkjqkhs9z0h93ik0h63dv339abgj"; depends=[]; }; + vbdm = derive { name="vbdm"; version="0.0.4"; sha256="1rbff0whhbfcf6q5wpr3ws1n4n2kcr79yifcni12vxg69a3v6dd3"; depends=[]; }; + VBLPCM = derive { name="VBLPCM"; version="2.4.3"; sha256="0aibjkqlc8l3f17m52ifb25s639gkydvgdj2gkijk5mk0g681qdj"; depends=[ergm sna mclust]; }; + VBmix = derive { name="VBmix"; version="0.2.16"; sha256="1sb67bhvarf39v0sj0ccy0hss74iv923mdj6gnn64w63k3iw644z"; depends=[lattice pixmap mnormt]; }; + vcd = derive { name="vcd"; version="1.3-1"; sha256="1sci4p9q45dfc12zihgismkjmp7fivvdf88jizfivvq2i4qk7f56"; depends=[MASS colorspace]; }; + vcdExtra = derive { name="vcdExtra"; version="0.6-0"; sha256="16lvrjawm3b07614fqi3vg9g2zdx6s6k261zpn89mz3kr7hsxgih"; depends=[vcd gnm MASS]; }; + vcf2geno = derive { name="vcf2geno"; version="2.3"; sha256="1ib9g3162d4mlwrk77fhzsgkcbrbvygav0ycl8527nxbdiyb77f1"; depends=[]; }; + VDA = derive { name="VDA"; version="1.3"; sha256="063mpwbyykx4f46wzfvrgnlq73ar7i06gxr4mjzbhqcfrsybi72b"; depends=[rgl]; }; + Vdgraph = derive { name="Vdgraph"; version="2.1-3"; sha256="1vyx6q7h2xj9qipyh7pdnd0mh6cs379irxqaylnn2m9rcrmj191q"; depends=[]; }; + VdgRsm = derive { name="VdgRsm"; version="1.01"; sha256="01hywwjmyvl9ls6gn2vl5z5cv2zlnxl2rfr3k1pachz3gq0yhdc1"; depends=[DoE_wrapper AlgDesign permute]; }; + vec2dtransf = derive { name="vec2dtransf"; version="1.0"; sha256="0hi7x38f3lyxqgwzjz86ld4snva4ci5rinbqhap04d5hcr2sdpzi"; depends=[sp]; }; + vecsets = derive { name="vecsets"; version="1.0"; sha256="0jj02fri400pzdqvydcdm3z70wzcwi9zgh45g3rwz3rh5lg15778"; depends=[]; }; + VecStatGraphs2D = derive { name="VecStatGraphs2D"; version="1.7"; sha256="08f9ixpiq8s5h8h608wrs9l16xk3c1xcrvwgvm5wqm6xfkj9gpfd"; depends=[MASS]; }; + VecStatGraphs3D = derive { name="VecStatGraphs3D"; version="1.5"; sha256="04x2xqnbgkbi626y9ihs3nlxzf84jz44zlapsdlrxqlswiw4n0mw"; depends=[rgl misc3d MASS]; }; + vectoptim = derive { name="vectoptim"; version="0.2"; sha256="1n19sipx5r0qy08jmrbsrf0kgwgl31np88wc1zyc2bkx8h1zkmf2"; depends=[foreach doParallel]; }; + vegan = derive { name="vegan"; version="2.0-10"; sha256="06anm8q82qziqhc3x8cll2xshhjiqkdbwnq1cyn98mshmxlg8i4z"; depends=[permute lattice]; }; + vegclust = derive { name="vegclust"; version="1.6.3"; sha256="0l6j4sgzfqvcypx2dszpnsd1sivk33pixlgf9abqifp45skpkwfg"; depends=[vegan sp]; }; + vegdata = derive { name="vegdata"; version="0.6-6"; sha256="0fwilqdzfhmdp8v0i6swmd6600g7mf5pdmz7r5076k0qzapalb3r"; depends=[foreign XML]; }; + vegetarian = derive { name="vegetarian"; version="1.2"; sha256="15ys1m8p3067dfsjwz6ds837n6rqd19my23yj8vw78xli3qmn445"; depends=[]; }; + VennDiagram = derive { name="VennDiagram"; version="1.6.5"; sha256="1zkxriznnfwxvg7rjq84jrhd990ldq0lyi5dmcbzsszql463lbla"; depends=[]; }; + venneuler = derive { name="venneuler"; version="1.1-0"; sha256="10fviqv9vr7zkmqm6iy2l9bjxglf2ljb7sx423vi4s9vffcxjp17"; depends=[rJava]; }; + verification = derive { name="verification"; version="1.38"; sha256="1nhyhpz427i122nxqrf7lyrvwp5mjj9kvy182rf329zws76hfwfq"; depends=[fields boot CircStats MASS dtw]; }; + VGAM = derive { name="VGAM"; version="0.9-3"; sha256="1g1w0zh87cavpa8w80mvcyp440v5nxhp82lrbswfhmhlq9vzscmy"; depends=[]; }; + VGAMdata = derive { name="VGAMdata"; version="0.9-3"; sha256="1fvmgblqwgg9diy2bdk5hcrp1rdj77hnqk27n13ld74lkx5637m7"; depends=[]; }; + VHDClassification = derive { name="VHDClassification"; version="0.3"; sha256="1ij4h3gzxb9mm9q743kc3sg2q609mnqz6mhlrbim1wcjji2b7bv4"; depends=[e1071 lattice]; }; + VideoComparison = derive { name="VideoComparison"; version="0.9-4"; sha256="0xbsivqzxqciwi7zx78v5s4mrpp2zld1dkddx7n4z61r0mfk547c"; depends=[RJSONIO RCurl zoo pracma Rcpp]; }; + VIF = derive { name="VIF"; version="1.0"; sha256="0yvg6ikrcs7mhg0pavhcywrfysv7ylvnhxpc5sam86dbp69flx9x"; depends=[]; }; + VIM = derive { name="VIM"; version="4.0.0"; sha256="1w62x5vvbpn3h1zwh0jvvy3lpwai1d708jq18zq99bh1qn8n6bfg"; depends=[colorspace car robustbase sp vcd MASS nnet e1071 Rcpp glmnet]; }; + vimcom = derive { name="vimcom"; version="0.9-93"; sha256="1yy67s3pkwg3hj2ry0wfqknxnq2wg8n4yh14dmmig00m6cg0gswy"; depends=[]; }; + VIMGUI = derive { name="VIMGUI"; version="0.9.0"; sha256="195lakyik597sjkq6c5v3881p35111gzmj2r5f5nr53vi6bn4pzm"; depends=[tkrplot VIM survey gWidgetsRGtk2 foreign RGtk2 Cairo Hmisc]; }; + VineCopula = derive { name="VineCopula"; version="1.3"; sha256="1vxm7bk7p452p4kbm5q3ricxcd4f74zzlibxx13wj0cbza5p49nl"; depends=[MASS mvtnorm igraph copula]; }; + vines = derive { name="vines"; version="1.0.11"; sha256="0rvrb03v696z3r2ybgkzdx3bzcdd3a6pid29j8zlrdg96zjwnqgr"; depends=[copula ADGofTest cubature TSP]; }; + violinmplot = derive { name="violinmplot"; version="0.2.1"; sha256="1j3hb03y988xa704kp25v1z1pmpxw5k1502zfqjaf8cy4lr3kzsc"; depends=[lattice]; }; + vioplot = derive { name="vioplot"; version="0.2"; sha256="16wkb26kv6qr34hv5zgqmgq6zzgysg9i78pvy2c097lr60v087v0"; depends=[sm]; }; + viopoints = derive { name="viopoints"; version="0.2-1"; sha256="0cpbkkzm1rxch8gnvlmmzy8g521f5ang3nhlcnin419gha0w6avf"; depends=[]; }; + visreg = derive { name="visreg"; version="2.0-4"; sha256="0ba673182kh6ds0s3mvc4qqaxiasl95090algrjqp3dabp1j4hkq"; depends=[lattice]; }; + visualFields = derive { name="visualFields"; version="0.4"; sha256="07pkaccnk8c9zzizpcdw82vcbqdng2bi9aczpa68i7fz24bvcfan"; depends=[gridBase flip matrixStats Hmisc]; }; + visualizationTools = derive { name="visualizationTools"; version="0.2.05"; sha256="08ry8bz2278ncjx0sdrg19mv448i0n497l5abpv9f8xhsfsqyrpf"; depends=[]; }; + visualize = derive { name="visualize"; version="4.2"; sha256="1jgk7j0f3p72wbqnmplrgpy7hlh7k2cmvx83gr2zfnbhygdi22mk"; depends=[]; }; + VisuClust = derive { name="VisuClust"; version="1.1"; sha256="02jb8kg7bxakcn76zyl68z5ab2c9s2cdz3prrgzh95rf9k893sbc"; depends=[aplpack]; }; + vitality = derive { name="vitality"; version="1.0"; sha256="0di72khz1mwqlirx78a86lwqhjmbbgmxm6vmlwq546dwvs6q071g"; depends=[IMIS]; }; + VizOR = derive { name="VizOR"; version="0.7-9"; sha256="1xw06y86nsrwpri6asrwh8kccjsqzzidgbpld6d6l7vrglp8m6sr"; depends=[lattice rms]; }; + VLF = derive { name="VLF"; version="1.0"; sha256="1il8zhm80mc22zj16dpsy4s6s9arj21l9ik0vccyrpnlr8ws3d3l"; depends=[]; }; + VLMC = derive { name="VLMC"; version="1.3-13"; sha256="16zi2sx4hhibviqi5j0jv271zvhzgwhyddjiazwa5v0252fmy93d"; depends=[MASS]; }; + Voss = derive { name="Voss"; version="0.1-4"; sha256="056izh1j26vqjhjh01fr7nwiz1l6vwr5z4fll87w99nc5wc4a467"; depends=[fields]; }; + vowels = derive { name="vowels"; version="1.2"; sha256="07w2jv5sswwwzrsc9hdnjh5kj5lqqmpmjn5ihrdj0xpmnhcm4vhp"; depends=[]; }; + vows = derive { name="vows"; version="0.2-1"; sha256="0aqk09y45l4p814x83l07smy1m2aypsf0c341j56di5bsc55vl2m"; depends=[fda gamm4 RLRsim Rniftilib rpanel shape stringr tkrplot]; }; + VoxR = derive { name="VoxR"; version="0.5.1"; sha256="07lsp6lrkq0gv55m84dl9w7gz5246d9avypqnkz96n3rbbgd0w5z"; depends=[]; }; + VPdtw = derive { name="VPdtw"; version="2.1-10"; sha256="1sipiqbk766czd1jxam3bc2hfq7wsn72x51j5ssn2s2q0gvpl7m1"; depends=[]; }; + vrmlgen = derive { name="vrmlgen"; version="1.4.9"; sha256="0lifhhf41yml4k83wpkssl14jgn8jaw1lcknwbci1sd8s1c4478l"; depends=[]; }; + vrtest = derive { name="vrtest"; version="0.96"; sha256="1sg1w8n0729h2kxazg5lk2vjaraqhlwjbm9w276pa7dqh6iw2fa6"; depends=[]; }; + vscc = derive { name="vscc"; version="0.2"; sha256="1p14v8vd8kckd44g4dvzh51gdkd8jvsc4bkd2i4csx8vjiwrni5w"; depends=[teigen mclust]; }; + VSURF = derive { name="VSURF"; version="0.8.1"; sha256="07j2qvk5zj4jdj5cwvc4q3sjjv3pnr0sq0alvqpbdmahd3ifsm3w"; depends=[randomForest rpart doParallel]; }; + vwr = derive { name="vwr"; version="0.3.0"; sha256="1h790vjcdfngs1siwldvqz8jrxpkajl3266lzadfnmchfan1x7xv"; depends=[stringdist lattice latticeExtra]; }; + W2CWM2C = derive { name="W2CWM2C"; version="1.0"; sha256="14q1y4vpmrx8qz5nav8bbjkxqsqk646zcwr8h7yzi7cfa85b4cxz"; depends=[waveslim wavemulcor]; }; + waffect = derive { name="waffect"; version="1.2"; sha256="0r5dvm0ggyxyv81hxdr1an658wkqkhqq2xaqzqpnh4sh4wbak35a"; depends=[Rcpp]; }; + waldwolf = derive { name="waldwolf"; version="0.1"; sha256="0gig3dqs8f44kdzr3abmm4wcnby2ifgqs72ck5wvny6gkwyfdvys"; depends=[]; }; + walkscoreAPI = derive { name="walkscoreAPI"; version="1.2"; sha256="1c2gfkl5yl3mkviah8s8zjnqk6lnzma1yilxgfxckdh5wywi39fx"; depends=[]; }; + WARN = derive { name="WARN"; version="1.0"; sha256="14gqcxvfh4z77z4qzk12mg0yhwg8gc06y7cn54az46vh4vmhg32y"; depends=[MASS]; }; + wasim = derive { name="wasim"; version="1.1.2"; sha256="1zydzw7cihhdwv0474fnc4lgaq5fwrv8jinz79vkbidbgcy7i2fd"; depends=[MASS qualV tiger fast]; }; + waterData = derive { name="waterData"; version="1.0.3"; sha256="1vwawyn1hzfd9mknpfnysf2whskyg88hl70sgny0zbd2fy1287q5"; depends=[lattice latticeExtra XML]; }; + waterfall = derive { name="waterfall"; version="0.9.9.20121030"; sha256="140s5639ayd9qgn4i1s1qk541vi34ndzdcqpaps7q53g42n8akfw"; depends=[lattice]; }; + Wats = derive { name="Wats"; version="0.2-9"; sha256="0cx8806d946bbcc5my7mcyn0qvh766yy6lv9cb0afl6h4dlf3fsb"; depends=[boot colorspace ggplot2 lubridate plyr RColorBrewer scales testit zoo]; }; + waveband = derive { name="waveband"; version="4.6"; sha256="1y2qi2zb8l2ap6f8ihnpq2yavic464bl5mp5yv1dscbk0nmfn966"; depends=[wavethresh]; }; + WaveCD = derive { name="WaveCD"; version="1.0"; sha256="0gracn8lknw96nnir1m8fg5va3f45vvbiy69rxx8vibnfdg1q3l9"; depends=[waveslim lattice]; }; + waved = derive { name="waved"; version="1.1-2"; sha256="17pr9qhz0dbbcr78vwm964d9zd7yrfrqvadr1lwf756bsrscmlg3"; depends=[]; }; + wavelets = derive { name="wavelets"; version="0.3-0"; sha256="141s7z7wxl5plxp7xp7wczswlcvb18a4h3n881l9qc4ny9p7gfpa"; depends=[]; }; + wavemulcor = derive { name="wavemulcor"; version="1.2"; sha256="1039y5rakjkx2mvfmykg2z4jpkpbcj7rclyg7ab19wnxmdm8ls81"; depends=[waveslim]; }; + waveslim = derive { name="waveslim"; version="1.7.3"; sha256="0lkq8lcg8cd4iw95jb0r5iwl2habngzzzwcxfic05gbpj5gfmapk"; depends=[]; }; + wavethresh = derive { name="wavethresh"; version="4.6.6"; sha256="1ykhfw1bdibvq2b3rrgqszvwqmzkd3fgxqg7p36ms1cxph68g2r9"; depends=[MASS]; }; + wbs = derive { name="wbs"; version="1.1"; sha256="04hbmvhlmfv96s80riam7acjyaazdcr5dn7hb8f7qwadvlycrwsw"; depends=[]; }; + wccsom = derive { name="wccsom"; version="1.2.8"; sha256="0dnqcmrrnzqys4mr1md7f0k0h434x25mdc576j00s3pmjjjh873a"; depends=[class MASS]; }; + WCQ = derive { name="WCQ"; version="0.2"; sha256="1yhkr2iazd7lh9r68xz1lh32z6r1sdnmqrjshcrm4rbwai0j3lkr"; depends=[]; }; + WDI = derive { name="WDI"; version="2.4"; sha256="0ih6d9znq6b2prb4nvq5ypyjv1kpi1vylm3zvmkdjvx95z1qsinf"; depends=[RJSONIO]; }; + weatherData = derive { name="weatherData"; version="0.4"; sha256="0ka0mj59ivj073bwdinpwh44m3pkj44zzassw5175xj5fz8jvdxc"; depends=[plyr]; }; + weathermetrics = derive { name="weathermetrics"; version="1.0"; sha256="1ay4gcxpblqnn6zqkdnr0mgnm9r42wlmpb6k3smhbz4zca4kjfzy"; depends=[]; }; + WebDevelopR = derive { name="WebDevelopR"; version="1.0"; sha256="0q4plv5nh6xp35j53xl207d7x0l8041ipi7k7rjrspv9vx7ncgvl"; depends=[]; }; + webvis = derive { name="webvis"; version="0.0.2"; sha256="1cdn9jrpg2sbx4dsj0xf7m0daqr7fqiw3xy1lg0i0qn9cpvi348f"; depends=[]; }; + WeightedCluster = derive { name="WeightedCluster"; version="1.2"; sha256="1d0df284fzfa34fi7b3d7f4zzm9ppyah46rj865446l5pjvl9np3"; depends=[TraMineR cluster RColorBrewer]; }; + weightedKmeans = derive { name="weightedKmeans"; version="1.2.0"; sha256="140cvl1jwwqyvcsf7pbsxh9k4bynd7c1q159pp7ia1f1sgimxafb"; depends=[lattice latticeExtra clv]; }; + WeightedPortTest = derive { name="WeightedPortTest"; version="1.0"; sha256="007v3w9ssiv2sds7sikpal27g6pxwxhs7bvcyw6kr0vg8gvlbi8h"; depends=[]; }; + weightedScores = derive { name="weightedScores"; version="0.9"; sha256="0rmfikdpc0m1rsflq2cdhl3bwk8w1wmwyhwc7di8dqf5vlqyh6ws"; depends=[mvtnorm rootSolve]; }; + weights = derive { name="weights"; version="0.80"; sha256="147fgs99sg1agq081ikj2fhb4b2vzsppdg1h1w036bb92vsjb0g5"; depends=[Hmisc gdata]; }; + weirs = derive { name="weirs"; version="0.23"; sha256="1kp49r5ba7ii1mr1nszbssx3fn0c2hcfpawm3a1kbh4rmhvy3frs"; depends=[]; }; + wesanderson = derive { name="wesanderson"; version="0.3"; sha256="169phanzwz3mgzqncwxc5kdshhmj922nzlbq8gz6grvh51bc7aaa"; depends=[]; }; + wethepeople = derive { name="wethepeople"; version="0.6.1"; sha256="1qa3dla1fmzw80z0qly3vcqvyk86iylvr09h4awgdilihizf0007"; depends=[rjson ggplot2 plyr reshape tm wordcloud RColorBrewer RCurl]; }; + wfe = derive { name="wfe"; version="1.2"; sha256="0pdjd3n4cbw995sbka4w75pha7wfdzzp66h8838dc3xqx0l4pfss"; depends=[arm Matrix MASS]; }; + wgaim = derive { name="wgaim"; version="1.4-0"; sha256="0rm9p7c7kxzzpakcm6wc7viisn2y6rwayc0r0hgpiv8fkv3n1sai"; depends=[qtl lattice]; }; + WGCNA = derive { name="WGCNA"; version="1.34"; sha256="08695i1fp70vkx4sj0wahvy4pmlf0h5x1ri1gj6xvrsl4qm40cgm"; depends=[dynamicTreeCut flashClust Hmisc reshape foreach doParallel matrixStats]; }; + wgsea = derive { name="wgsea"; version="1.8"; sha256="1114wik011sm2n12bwm2bhqvdxagbhbscif45k4pgxdkahy2abpi"; depends=[]; }; + WhatIf = derive { name="WhatIf"; version="1.5-6"; sha256="02lqvirnf24jn8b2s08z5fjmpilp2z08lww1s793n3pn783adbky"; depends=[lpSolve]; }; + whisker = derive { name="whisker"; version="0.3-2"; sha256="0z4cn115gxcl086d6bnqr8afi67b6a7xqg6ivmk3l4ng1x8kcj28"; depends=[]; }; + WhopGenome = derive { name="WhopGenome"; version="0.8.2"; sha256="145sn2ikjv1xykx5xv0djj4vainqj0v9c3lqnd1r7bygjl4n4v7c"; depends=[]; }; + widals = derive { name="widals"; version="0.5.4"; sha256="1bl59s1r4gkvq4nkf94fk7m0zvhbrszkgmig66lfxhyvk9r84fvb"; depends=[snowfall]; }; + WideLM = derive { name="WideLM"; version="0.1-1"; sha256="0spxl960pgzh0cn1gkw2ayixpi982rr85qajcdqahmn9msk877h8"; depends=[Rcpp]; }; + widenet = derive { name="widenet"; version="0.1-2"; sha256="1nimm8szbg82vg00f5c7b3f3sk0gplssbl4ggasjnh7dl621vfny"; depends=[glmnet relaxnet]; }; + wikibooks = derive { name="wikibooks"; version="0.2"; sha256="178lhri1b8if2j7y7l9kqgyvmkn4z0bxp5l4dmm97x3pav98c7ks"; depends=[]; }; + WikipediR = derive { name="WikipediR"; version="1.0.0"; sha256="01w9km1g0cynsgsq3bv6d8ggizym211c1ksyz7w3nkq25288fcds"; depends=[httr jsonlite]; }; + WilcoxCV = derive { name="WilcoxCV"; version="1.0-2"; sha256="1kbb7ikgnlxybmvqrbn4cd8xnqrkwipk4xd6yja1xsi39a109xzl"; depends=[]; }; + wild1 = derive { name="wild1"; version="1.09"; sha256="1ydjz3f4z6fdw4wynyd64bwwm68vh0xqxvg6zw8z7pdg8y2h89zl"; depends=[chron survival sp maptools spatstat ICSNP ks]; }; + witness = derive { name="witness"; version="1.2"; sha256="1pccn7czm1q0w31zpmky5arkcbnfl94gh1nnkf8kmcccdrr3lxph"; depends=[]; }; + wle = derive { name="wle"; version="0.9-9"; sha256="032zqfqg6ghg56zgr005g8q94zskmbzv1p08lxv227ikkbmnwn53"; depends=[circular]; }; + WMCapacity = derive { name="WMCapacity"; version="0.9.6.6"; sha256="19x6l06srh59q1cnixisa5fgm5hkpq35h9zfmdnfaj3xl8pxhzyn"; depends=[gtools gWidgets gWidgetsRGtk2 coda cairoDevice RGtk2 XML]; }; + WMDB = derive { name="WMDB"; version="1.0"; sha256="10wdjy3g2qg975yf1dhy09w9b8rs3w6iszhbzqx9igfqvi8isrr1"; depends=[]; }; + wmtsa = derive { name="wmtsa"; version="2.0-0"; sha256="0y2bv166xwwpb1wf6897qybyf84f34qjsmygdbv90r637c050yk5"; depends=[splus2R ifultools MASS]; }; + wnominate = derive { name="wnominate"; version="0.98"; sha256="1c3g89f7xl781m8lqy730vlb6p5dxq16vgll80jmsx8p7fsy6pb4"; depends=[pscl]; }; + wombsoft = derive { name="wombsoft"; version="2.0"; sha256="11ri29vj1yg2lpr6vf1i45w20hqh8dswj04ylbq0vy27cwmxqljd"; depends=[]; }; + wordcloud = derive { name="wordcloud"; version="2.4"; sha256="0jdkbks4dxazwgz9862kfpkgnc4zlfc7vhzp7rib8ww7w0kandm3"; depends=[Rcpp RColorBrewer slam]; }; + wordmatch = derive { name="wordmatch"; version="1.0"; sha256="0zscp361qf79y1zsliga18hc7wj36cnydshrqb9pv67b65njrznz"; depends=[plyr reshape2]; }; + wordnet = derive { name="wordnet"; version="0.1-9"; sha256="1cwrdfdv1ma429na9y2yci9vrms8vfqqwj9qkcq8hzkm02yzkdsf"; depends=[rJava]; }; + WordPools = derive { name="WordPools"; version="1.0-2"; sha256="1izs4cymf2xy1lax85rvsgsgi05ygf0ibi9gzxc96sbgvy4m78kf"; depends=[]; }; + wpp2008 = derive { name="wpp2008"; version="1.0-1"; sha256="0gd3vjw1fpzhp3qlf1jpc24f76i0pxsjs5pb1v3k2si6df7q4msd"; depends=[]; }; + wpp2010 = derive { name="wpp2010"; version="1.2-0"; sha256="1h87r1cn4lnx80dprvawsyzfkriscqjgr27gvv7n19wvsx8qd57k"; depends=[]; }; + wpp2012 = derive { name="wpp2012"; version="2.0-0"; sha256="0yqqkj3dj5x784k375xdcxkmg5z12h11jc0cassicyaa3zmwlhzv"; depends=[]; }; + wppExplorer = derive { name="wppExplorer"; version="1.2-0"; sha256="0hvw6nxl0fvw0sspksgfab3m5y6aq4q60wiz8qlz20qzb4bhw5h5"; depends=[shiny plyr reshape2 googleVis wpp2012 Hmisc ggplot2]; }; + wq = derive { name="wq"; version="0.3-11"; sha256="0asdkagnaqn9danry972i4n845ljfap8fy7hdm3z1aggx2fd3zw1"; depends=[zoo]; }; + WrightMap = derive { name="WrightMap"; version="1.1"; sha256="0dmximp549gr37ps56vz8mnlii7753dc5v0wl3s78cymjmnmyr0z"; depends=[]; }; + write_snns = derive { name="write.snns"; version="0.0-4.2"; sha256="0sxg7z8rnh4lssbivkrfxldv4ivy37wkndzzndpbvq2gbvbjnp4l"; depends=[]; }; + WriteXLS = derive { name="WriteXLS"; version="3.5.0"; sha256="0b5md3jy18wrigadqjzfnrpvm35nn0aa62zsq5d72k5fr7lbh3gr"; depends=[]; }; + wrspathrow = derive { name="wrspathrow"; version="0.1"; sha256="1xkh12aal85qhk8d0pdj2qbi6pp4jnr6zbxkhdw2zwav57ly3f4i"; depends=[wrspathrowData sp raster rgeos rgdal]; }; + wrspathrowData = derive { name="wrspathrowData"; version="1.0"; sha256="0a1aggcll0fmkwfg4h7rs4j5h3v1bh95dkbriwrb0bx0cikg63x3"; depends=[]; }; + wsrf = derive { name="wsrf"; version="1.3.0"; sha256="0n4mzj3a0brs5mxynh34qwgqd7hkrsvv9p0vsviy6d4l4lh3rny6"; depends=[Rcpp]; }; + wSVM = derive { name="wSVM"; version="0.1-7"; sha256="0c7rblzgagwfb8mmddkc0nd0f9rv6kapw8znpwapv3fv0j2qzq7h"; depends=[MASS quadprog]; }; + wtcrsk = derive { name="wtcrsk"; version="1.2"; sha256="067ac52i22s6zban9x6dh4z956n76d22jxsrxbm2k1ms3zk9s4yp"; depends=[]; }; + WWGbook = derive { name="WWGbook"; version="1.0.1"; sha256="0q8lnd1fp4rmz715x0lf61py3xw8wg55yq3gvswaqwy68dlqrzjc"; depends=[]; }; + x12 = derive { name="x12"; version="1.5.0"; sha256="0z5hsq0rv71jl9102fqci2wyklmqxly0nc4h7ky845dpvqfrg9yv"; depends=[stringr]; }; + x12GUI = derive { name="x12GUI"; version="0.12.0"; sha256="0vks6m0jck6sl17z9qcw1p1wv5iqdblnmssmfrfjqv626sb9jsn6"; depends=[x12 Hmisc RGtk2 cairoDevice lattice stringr]; }; + XBRL = derive { name="XBRL"; version="0.99.11"; sha256="1rz2cyw028zkpj969mf4viqxgdbqzknx23dw2ikx3cyxqiiyvh7f"; depends=[Rcpp]; }; + xgobi = derive { name="xgobi"; version="1.2-15"; sha256="03ym5mm16rb1bdwrymr393r3xgprp0ign45ryym3g0x2zi8dy557"; depends=[]; }; + xgrid = derive { name="xgrid"; version="1.0-1"; sha256="1xg3frzybck2lmqsxnw448rw4si55k3ygwdkn88d1zfc6llswz9p"; depends=[]; }; + XiMpLe = derive { name="XiMpLe"; version="0.03-21"; sha256="1j387jzxh0z9dmhvc0kpjjjzf781sgrw57nwzdqwx6bn09bw509d"; depends=[]; }; + xkcd = derive { name="xkcd"; version="0.0.3"; sha256="086kdy4dp7312pxv7zpx3qf8rk91lv0snrhipzcmcn1m4q77q9z2"; depends=[Hmisc ggplot2]; }; + XLConnect = derive { name="XLConnect"; version="0.2-7"; sha256="15vqjlcdh51y3riqaifvj1gk8sfl657dyicbwagnwqq4vsniqihi"; depends=[rJava]; }; + xlsx = derive { name="xlsx"; version="0.5.5"; sha256="0dl0j0rk9m0chv9yxx92gbbfv9mf5igvk75jrpm2105l2cq5j8jc"; depends=[rJava xlsxjars]; }; + xlsxjars = derive { name="xlsxjars"; version="0.6.0"; sha256="0mjfvd433iz742gn3avaq48172yi5hhd0ajc3v22y1j4k9w82pr7"; depends=[rJava]; }; + XML = derive { name="XML"; version="3.98-1.1"; sha256="0n9i6746211wihglbpsgalj2cyvggn4rv6a4fbavqwnjw3h1hwwl"; depends=[ pkgs.libxml2 ]; }; + XML2R = derive { name="XML2R"; version="0.0.6"; sha256="0azfh950r2b7ck3n1vzk3mdll7zy844nx3mbk676jxnj8gg7nxk5"; depends=[XML RCurl plyr]; }; + XNomial = derive { name="XNomial"; version="1.0.1"; sha256="134bwglqhgah7v3w6ir65dch2dwp5h4vldw521ba74l5v9b2j2h4"; depends=[]; }; + xoi = derive { name="xoi"; version="0.61-1"; sha256="0ypy0rb0f0bns41vjzyln04k3hypgr3wysqbdi0b0r14ip5rb47k"; depends=[qtl]; }; + xpose4 = derive { name="xpose4"; version="4.4.1"; sha256="0jl7786rmc8yyvd6vpyyk4s318z647p432cyhpb5lp8vh0rmawl5"; depends=[xpose4data xpose4generic xpose4specific xpose4classic]; }; + xpose4classic = derive { name="xpose4classic"; version="4.4.1"; sha256="09syj51ahccwkxyqmmg55s80hldy5r2mq4ly6dbjh0q75r5fpmm8"; depends=[lattice xpose4data xpose4generic xpose4specific]; }; + xpose4data = derive { name="xpose4data"; version="4.4.1"; sha256="0c8ki1hlqqynl4v2g0mqin9swncaq89cg9ixd756gxyhshrcd9mc"; depends=[]; }; + xpose4generic = derive { name="xpose4generic"; version="4.4.1"; sha256="0m2g3d3d8vydxjvphcydph6wlq1y7540dm1bgix7binm244789fc"; depends=[lattice xpose4data]; }; + xpose4specific = derive { name="xpose4specific"; version="4.4.1"; sha256="13sffp76q9kvix4y6azcn75mldqz3spc6x1bvlpxz06lbv0ddfwq"; depends=[lattice gam xpose4data xpose4generic Hmisc survival]; }; + xtable = derive { name="xtable"; version="1.7-3"; sha256="1rsfq0acf1pvpci3jq9fbhsv6ws4d46yap8m2xjk1cr463m9gdcc"; depends=[]; }; + xtermStyle = derive { name="xtermStyle"; version="2.2-4"; sha256="0m1lwr7smym7aczcqqgqj5bx46j38ymmljilxl54bby188qhfcyz"; depends=[]; }; + xts = derive { name="xts"; version="0.9-7"; sha256="163hzcnxrdb4lbsnwwv7qa00h4qlg4jm289acgvbg4jbiywpq7zi"; depends=[zoo]; }; + yacca = derive { name="yacca"; version="1.1"; sha256="0wg2wgvh1najmccmgzyigj11mshrdb8w4r2pqq360dracpn0ak6x"; depends=[]; }; + yaImpute = derive { name="yaImpute"; version="1.0-21"; sha256="1lrxlxy3zq1cfmrcwv1qd18d6bihlsdfchbn64mss06y4pjvr0qj"; depends=[]; }; + YaleToolkit = derive { name="YaleToolkit"; version="4.1"; sha256="1r1vf0gldvcfqa7ln87q5d4sc75d8b99v6zaynvbq02rggzzynmy"; depends=[lattice vcd MASS colorspace barcode gpairs]; }; + yaml = derive { name="yaml"; version="2.1.11"; sha256="049kdmz6md5gx6x9sgfmi4sx67gz5ln4hdcsc2qbpgrzr085m4gm"; depends=[]; }; + ycinterextra = derive { name="ycinterextra"; version="0.1"; sha256="0hr37izbbmxqkjy6a7q8vcn0vs8an1ck9y8xfjpl5z0rygi8xc1v"; depends=[mcGlobaloptim]; }; + yhat = derive { name="yhat"; version="2.0-0"; sha256="0vdhkknmms7zy7iha894jn1hr1h5w67pr53r0q67m7p404w21iza"; depends=[yacca miscTools plotrix boot]; }; + yhatr = derive { name="yhatr"; version="0.8.1"; sha256="16fcsmxzlkxa0kaavsi9qvfnspjlcan6pp96k7hkmmpm2wkdx2v9"; depends=[httr RCurl rjson plyr]; }; + YieldCurve = derive { name="YieldCurve"; version="4.1"; sha256="0w47j8v2lvarrclnixwzaq98nv1xh2m48q5xvnmk7j9nsv2l3p68"; depends=[xts]; }; + ykmeans = derive { name="ykmeans"; version="1.0"; sha256="0xfji2fmslvc059kk3rwkv575ffzl787sa9d4vw5hxnsmkn8lq50"; depends=[plyr foreach]; }; + YourCast = derive { name="YourCast"; version="1.6.1"; sha256="03aq01amg4cxnxcxnsd1hxkx63w323f8ldkibl1f826gd7lbcqf1"; depends=[ggplot2 gridExtra lattice foreign reshape2]; }; + YplantQMC = derive { name="YplantQMC"; version="0.5"; sha256="0x3ndpamj1ayy1svh9q8pwmfnar9zyw5i6h1k1hqwc92h0k6jsmz"; depends=[rgl geometry LeafAngle devtools]; }; + YPmodel = derive { name="YPmodel"; version="1.1"; sha256="036f5y8qrcxglblgnaa15xzlz9pxbhbysrbr2gl66h9dvcd6kavr"; depends=[]; }; + YuGene = derive { name="YuGene"; version="1.1.1"; sha256="1shxvhdhf6ba8746p663s3xml0827vfcavqkx6xa4bmfj96br2l0"; depends=[]; }; + yuima = derive { name="yuima"; version="1.0.10"; sha256="0rn2wr4xyvabx4nqzqafmayd5j8g1la2m9bvacp9h54w5z00zra4"; depends=[zoo expm]; }; + ZeBook = derive { name="ZeBook"; version="0.5"; sha256="1djwda6hzx6kpf4dbmw0fkfq39fqh80aa3q9c6p41qxzcpim27dw"; depends=[triangle deSolve]; }; + Zelig = derive { name="Zelig"; version="4.2-1"; sha256="1hhr9jx25fdnkqwyj2bkgrvqlah4z2drphmb5mdn1an2p2g23v9z"; depends=[boot MASS sandwich]; }; + ZeligChoice = derive { name="ZeligChoice"; version="0.8-1"; sha256="1ql9yq83ipf0vpv63fpckylwq4jrcbfjgjm77f5ndkd83gqjzrmg"; depends=[Zelig VGAM]; }; + ZeligGAM = derive { name="ZeligGAM"; version="0.7-1"; sha256="1643ycx51mnlxwiarfkrwm8gr8clx00xi2llcaqsd3wsrr4z5j97"; depends=[Zelig mgcv]; }; + ZeligMultilevel = derive { name="ZeligMultilevel"; version="0.7-1"; sha256="00zlambykds4z1c5kx3rpla1kllyp96cxwvbc5lalwdb9i48pp3s"; depends=[Zelig lme4]; }; + zendeskR = derive { name="zendeskR"; version="0.4"; sha256="06cjwk08w3x6dx717123psinid5bx6c563jnfn890373jw6xnfrk"; depends=[RCurl rjson]; }; + zic = derive { name="zic"; version="0.8.1"; sha256="05mn894qdx6k7158dbsjy2b49n0gz5xnmlixr2dhkxc12ydj6zs5"; depends=[Rcpp RcppArmadillo coda]; }; + ZIM = derive { name="ZIM"; version="1.0"; sha256="0s72xazpcxxv87fy0m7xal41xgng58ilmkk37qarnpnfcd50acq8"; depends=[MASS]; }; + zipcode = derive { name="zipcode"; version="1.0"; sha256="0amzj2x103zxjv4iqjag226jmlzcrm52883xmkkrrvm4y4h5jqld"; depends=[]; }; + zipfR = derive { name="zipfR"; version="0.6-6"; sha256="1y3nqfjg5m89mdvcmqwjmwlc8p3hpcqnwv4ji1a7ggg4n63lwl3j"; depends=[]; }; + zoeppritz = derive { name="zoeppritz"; version="1.0-4"; sha256="0mjg55jc5b8h2jj6cy8b34a4q7jhhx73xns0v2dpfkq4kmilsv5p"; depends=[]; }; + zoo = derive { name="zoo"; version="1.7-11"; sha256="0fp726rp9mqsfmm391bmckk76lqsvzwd39ffvb355wf2spl8nzvf"; depends=[lattice]; }; + zooimage = derive { name="zooimage"; version="3.0-5"; sha256="1r3slmyw0dyqfa40dr5xga814z09ibhmmby8p1cii5lh61xm4c39"; depends=[svMisc svDialogs mlearning filehash jpeg png]; }; + zoom = derive { name="zoom"; version="2.0.4"; sha256="03f5rxfr6ncf1j6vpn7pip21q7ylj4bx0a5xphqb6x6i33lxf1g5"; depends=[]; }; + zyp = derive { name="zyp"; version="0.10-1"; sha256="0f1fqqxysf3psnvn08s5qly2c958h1hhznjjj8mvpjr5g6hqlr1k"; depends=[Kendall]; }; + +}; in self diff --git a/pkgs/development/r-modules/generic-builder.nix b/pkgs/development/r-modules/generic-builder.nix new file mode 100644 index 00000000000..da63566f38b --- /dev/null +++ b/pkgs/development/r-modules/generic-builder.nix @@ -0,0 +1,33 @@ +R: + +{ name, buildInputs ? [], ... } @ attrs: + +R.stdenv.mkDerivation ({ + buildInputs = buildInputs ++ [R]; + + configurePhase = '' + runHook preConfigure + export R_LIBS_SITE="$R_LIBS_SITE''${R_LIBS_SITE:+:}$out/library" + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/library + R CMD INSTALL -l $out/library . + runHook postInstall + ''; + + postFixup = '' + if test -e $out/nix-support/propagated-native-build-inputs; then + ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages + fi + ''; +} // attrs // { + name = "r-" + name; +}) diff --git a/pkgs/development/r-modules/generic/builder.sh b/pkgs/development/r-modules/generic/builder.sh deleted file mode 100644 index 0c5d934c10c..00000000000 --- a/pkgs/development/r-modules/generic/builder.sh +++ /dev/null @@ -1,23 +0,0 @@ -source $stdenv/setup - -export R_LIBS_SITE="$R_LIBS_SITE${R_LIBS_SITE:+:}$out/library" - - -if test -n "$rPreHook"; then - eval "$rPreHook" -fi - -installPhase() { - runHook preInstall - mkdir -p $out/library - R CMD INSTALL -l $out/library $src - runHook postInstall -} - -postFixup() { - if test -e $out/nix-support/propagated-native-build-inputs; then - ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages - fi -} - -genericBuild diff --git a/pkgs/development/r-modules/generic/default.nix b/pkgs/development/r-modules/generic/default.nix deleted file mode 100644 index d405cc018d1..00000000000 --- a/pkgs/development/r-modules/generic/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -R: - -{ buildInputs ? [], ... } @ attrs: - -R.stdenv.mkDerivation ( - { - } - // - attrs - // - { - name = "r-" + attrs.name; - builder = ./builder.sh; - buildInputs = buildInputs ++ [ R ]; - phases = [ "installPhase" "fixupPhase" ]; - } -) diff --git a/pkgs/development/r-modules/wrapper.nix b/pkgs/development/r-modules/wrapper.nix new file mode 100644 index 00000000000..b4b4c562873 --- /dev/null +++ b/pkgs/development/r-modules/wrapper.nix @@ -0,0 +1,18 @@ +{ stdenv, R, makeWrapper, recommendedPackages, packages }: + +stdenv.mkDerivation { + name = R.name + "-wrapper"; + + buildInputs = [makeWrapper R] ++ recommendedPackages ++ packages; + + unpackPhase = ":"; + + installPhase = '' + mkdir -p $out/bin + cd ${R}/bin + for exe in *; do + makeWrapper ${R}/bin/$exe $out/bin/$exe \ + --prefix "R_LIBS_SITE" ":" "$R_LIBS_SITE" + done + ''; +} diff --git a/pkgs/development/tools/analysis/cccc/cccc.patch b/pkgs/development/tools/analysis/cccc/cccc.patch new file mode 100644 index 00000000000..9454e3b18ad --- /dev/null +++ b/pkgs/development/tools/analysis/cccc/cccc.patch @@ -0,0 +1,24 @@ +diff --git a/cccc/cccc_tbl.cc b/cccc/cccc_tbl.cc +index df98e2b..59f2572 100644 +--- a/cccc/cccc_tbl.cc ++++ b/cccc/cccc_tbl.cc +@@ -96,7 +96,7 @@ bool CCCC_Table::remove(T* old_item_ptr) + typename map_t::iterator value_iterator=map_t::find(old_item_ptr->key()); + if(value_iterator!=map_t::end()) + { +- erase(value_iterator); ++ map_t::erase(value_iterator); + retval=true; + } + return retval; +diff --git a/makefile b/makefile +index 23ad004..2cca469 100644 +--- a/makefile ++++ b/makefile +@@ -20,5 +20,5 @@ test : + cd test ; make -f posix.mak + + install : +- cd install ; su root -c "make -f install.mak" ++ cd install ; make -f install.mak + diff --git a/pkgs/development/tools/analysis/cccc/default.nix b/pkgs/development/tools/analysis/cccc/default.nix new file mode 100644 index 00000000000..c672c7964e7 --- /dev/null +++ b/pkgs/development/tools/analysis/cccc/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl }: + +let + name = "cccc"; + version = "3.1.4"; +in +stdenv.mkDerivation { + name = "${name}-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/${name}/${version}/${name}-${version}.tar.gz"; + sha256 = "1gsdzzisrk95kajs3gfxks3bjvfd9g680fin6a9pjrism2lyrcr7"; + }; + patches = [ ./cccc.patch ]; + preConfigure = '' + substituteInPlace install/install.mak --replace /usr/local/bin $out/bin + substituteInPlace install/install.mak --replace MKDIR=mkdir "MKDIR=mkdir -p" + ''; + + meta = { + description = "C and C++ Code Counter"; + longDescription = '' + CCCC is a tool which analyzes C++ and Java files and generates a report + on various metrics of the code. Metrics supported include lines of code, McCabe's + complexity and metrics proposed by Chidamber&Kemerer and Henry&Kafura. + ''; + homepage = "http://cccc.sourceforge.net/"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.linquize ]; + }; +} diff --git a/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch b/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch new file mode 100644 index 00000000000..bcb3ac1d146 --- /dev/null +++ b/pkgs/development/tools/analysis/clang-analyzer/0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch @@ -0,0 +1,33 @@ +From 6ab08bc1c889e4fb9a39432b1a654eaa19ee65eb Mon Sep 17 00:00:00 2001 +From: Austin Seipp +Date: Fri, 2 May 2014 12:28:23 -0500 +Subject: [PATCH] Fix scan-build to use NIX_CFLAGS_COMPILE + +Signed-off-by: Austin Seipp +--- + tools/scan-build/ccc-analyzer | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/tools/scan-build/ccc-analyzer b/tools/scan-build/ccc-analyzer +index b463ec0..9d39dd0 100755 +--- a/tools/scan-build/ccc-analyzer ++++ b/tools/scan-build/ccc-analyzer +@@ -207,6 +207,15 @@ sub Analyze { + push @Args, "-Xclang", "-analyzer-viz-egraph-ubigraph"; + } + ++ ++ # Add Nix flags to analysis ++ if (defined $ENV{'NIX_CFLAGS_COMPILE'}) { ++ my @nixArgs = split(/\s+/, $ENV{'NIX_CFLAGS_COMPILE'}); ++ foreach my $nixArg (@nixArgs) { ++ push @Args, $nixArg; ++ } ++ } ++ + my $AnalysisArgs = GetCCArgs("--analyze", \@Args); + @CmdArgs = @$AnalysisArgs; + } +-- +1.8.3.2 + diff --git a/pkgs/development/tools/analysis/clang-analyzer/default.nix b/pkgs/development/tools/analysis/clang-analyzer/default.nix new file mode 100644 index 00000000000..50583f65f60 --- /dev/null +++ b/pkgs/development/tools/analysis/clang-analyzer/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, clang, llvmPackages, perl, makeWrapper }: + +stdenv.mkDerivation rec { + name = "clang-analyzer-${version}"; + version = "3.4"; + + src = fetchurl { + url = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz"; + sha256 = "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"; + }; + + patches = [ ./0001-Fix-scan-build-to-use-NIX_CFLAGS_COMPILE.patch ]; + buildInputs = [ clang llvmPackages.clang perl makeWrapper ]; + buildPhase = "true"; + + installPhase = '' + mkdir -p $out/bin $out/libexec + cp -R tools/scan-view $out/libexec + cp -R tools/scan-build $out/libexec + + makeWrapper $out/libexec/scan-view/scan-view $out/bin/scan-view + makeWrapper $out/libexec/scan-build/scan-build $out/bin/scan-build \ + --add-flags "--use-cc=${clang}/bin/clang" \ + --add-flags "--use-c++=${clang}/bin/clang++" \ + --add-flags "--use-analyzer='${llvmPackages.clang}/bin/clang'" + ''; + + meta = { + description = "Clang Static Analyzer"; + homepage = "http://clang-analyzer.llvm.org"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/tools/analysis/cov-build/default.nix b/pkgs/development/tools/analysis/cov-build/default.nix new file mode 100644 index 00000000000..fef98f1e04a --- /dev/null +++ b/pkgs/development/tools/analysis/cov-build/default.nix @@ -0,0 +1,48 @@ +{ stdenv, requireFile }: + +let + message = '' + Register an account at https://scan.coverity.com, download the + build tools, and add it to the nix store with nix-prefetch-url + ''; +in +stdenv.mkDerivation rec { + name = "cov-build-${version}"; + version = "7.0.2"; + + src = + if stdenv.system == "i686-linux" + then requireFile { + name = "cov-analysis-linux32-${version}.tar.gz"; + sha256 = "0i06wbd7blgx9adh9w09by4i18vwmldfp9ix97a5dph2cjymsviy"; + inherit message; + } + else requireFile { + name = "cov-analysis-linux64-${version}.tar.gz"; + sha256 = "0iby75p0g8gv7b501xav47milr8m9781h0hcgm1ch6x3qj6irqd8"; + inherit message; + }; + + dontStrip = true; + buildPhase = false; + installPhase = '' + mkdir -p $out/bin $out/libexec + mv * $out/libexec + for x in cov-build cov-capture cov-configure cov-emit cov-emit-java \ + cov-export-cva cov-extract-scm cov-help cov-import-scm cov-link \ + cov-internal-clang cov-internal-emit-clang cov-internal-nm \ + cov-internal-emit-java-bytecode cov-internal-reduce cov-translate \ + cov-preprocess cov-internal-pid-to-db cov-manage-emit \ + cov-manage-history; do + ln -s $out/libexec/bin/$x $out/bin/$x; + done + ''; + + meta = { + description = "Coverity Scan build tools"; + homepage = "https://scan.coverity.com"; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix index b3769245bbe..500cef43bcb 100644 --- a/pkgs/development/tools/analysis/cppcheck/default.nix +++ b/pkgs/development/tools/analysis/cppcheck/default.nix @@ -14,7 +14,11 @@ stdenv.mkDerivation { sha256 = "0n2hrg99rsp77b3plpip315pyk0x4gh8gljs9z3iwcbcg14mliff"; }; - configurePhase = "makeFlags=PREFIX=$out"; + configurePhase = '' + makeFlags="PREFIX=$out CFGDIR=$out/cfg" + ''; + + postInstall = "cp -r cfg $out/cfg"; meta = { description = "Check C/C++ code for memory leaks, mismatching allocation-deallocation, buffer overrun and more"; diff --git a/pkgs/development/tools/analysis/frama-c/0004-Port-to-OCamlgraph-1.8.5.patch b/pkgs/development/tools/analysis/frama-c/0004-Port-to-OCamlgraph-1.8.5.patch new file mode 100644 index 00000000000..798d17fd369 --- /dev/null +++ b/pkgs/development/tools/analysis/frama-c/0004-Port-to-OCamlgraph-1.8.5.patch @@ -0,0 +1,254 @@ +From: Mehdi Dogguy +Date: Sun, 27 Apr 2014 13:46:16 +0200 +Subject: Port to OCamlgraph 1.8.5 + +--- + src/impact/reason_graph.ml | 2 +- + src/kernel/stmts_graph.ml | 10 +++++----- + src/logic/property_status.ml | 8 ++++---- + src/misc/service_graph.ml | 4 ++-- + src/pdg_types/pdgTypes.ml | 6 +++--- + src/postdominators/print.ml | 2 +- + src/semantic_callgraph/register.ml | 4 ++-- + src/slicing/printSlice.ml | 10 +++++----- + src/syntactic_callgraph/register.ml | 4 ++-- + src/wp/cil2cfg.ml | 12 ++++++------ + 10 files changed, 31 insertions(+), 31 deletions(-) + +diff --git a/src/impact/reason_graph.ml b/src/impact/reason_graph.ml +index eabacb0..ce19b4a 100644 +--- a/src/impact/reason_graph.ml ++++ b/src/impact/reason_graph.ml +@@ -139,7 +139,7 @@ module Printer (X: AdditionalInfo) = struct + + let graph_attributes _ = [`Label "Impact graph"] + +- let default_vertex_attributes _g = [`Style [`Filled]; `Shape `Box] ++ let default_vertex_attributes _g = [`Style `Filled; `Shape `Box] + let default_edge_attributes _g = [] + + let vertex_attributes v = +diff --git a/src/kernel/stmts_graph.ml b/src/kernel/stmts_graph.ml +index a8fe121..16059c3 100644 +--- a/src/kernel/stmts_graph.ml ++++ b/src/kernel/stmts_graph.ml +@@ -157,12 +157,12 @@ module TP = struct + + let vertex_attributes s = + match s.skind with +- | Loop _ -> [`Color 0xFF0000; `Style [`Filled]] +- | If _ -> [`Color 0x00FF00; `Style [`Filled]; `Shape `Diamond] +- | Return _ -> [`Color 0x0000FF; `Style [`Filled]] ++ | Loop _ -> [`Color 0xFF0000; `Style `Filled] ++ | If _ -> [`Color 0x00FF00; `Style `Filled; `Shape `Diamond] ++ | Return _ -> [`Color 0x0000FF; `Style `Filled] + | Block _ -> [`Shape `Box; `Fontsize 8] +- | Goto _ -> [`Shape `Diamond; `Color 0x00FFFF ; `Style [`Filled]] +- | Instr (Skip _) -> [`Color 0x00FFFF ; `Style [`Filled]] ++ | Goto _ -> [`Shape `Diamond; `Color 0x00FFFF ; `Style `Filled] ++ | Instr (Skip _) -> [`Color 0x00FFFF ; `Style `Filled] + | _ -> [] + let default_vertex_attributes _ = [] + +diff --git a/src/logic/property_status.ml b/src/logic/property_status.ml +index f7c278d..47485f6 100644 +--- a/src/logic/property_status.ml ++++ b/src/logic/property_status.ml +@@ -1481,12 +1481,12 @@ module Consolidation_graph = struct + let s = get_status p in + let color = status_color p s in + let style = match s with +- | Never_tried -> [`Style [`Bold]; `Width 0.8 ] +- | _ -> [`Style [`Filled]] ++ | Never_tried -> [`Style `Bold; `Width 0.8 ] ++ | _ -> [`Style `Filled] + in + style @ [ label v; `Color color; `Shape `Box ] + | Emitter _ as v -> +- [ label v; `Shape `Diamond; `Color 0xb0c4de; `Style [`Filled] ] ++ [ label v; `Shape `Diamond; `Color 0xb0c4de; `Style `Filled ] + | Tuning_parameter _ as v -> + [ label v; (*`Style `Dotted;*) `Color 0xb0c4de; ] + (*| Correctness_parameter _ (*as v*) -> assert false (*[ label v; `Color 0xb0c4de ]*)*) +@@ -1495,7 +1495,7 @@ module Consolidation_graph = struct + | None -> [] + | Some s -> + let c = emitted_status_color s in +- [ `Color c; `Fontcolor c; `Style [`Bold] ] ++ [ `Color c; `Fontcolor c; `Style `Bold ] + + let default_vertex_attributes _ = [] + let default_edge_attributes _ = [] +diff --git a/src/misc/service_graph.ml b/src/misc/service_graph.ml +index 4f866c5..d158028 100644 +--- a/src/misc/service_graph.ml ++++ b/src/misc/service_graph.ml +@@ -289,7 +289,7 @@ Src root:%s in %s (is_root:%b) Dst:%s in %s (is_root:%b) [2d case]" + color e + else + match CallG.E.label e with +- | Inter_services -> [ `Style [`Invis] ] ++ | Inter_services -> [ `Style `Invis ] + | Inter_functions | Both -> color e + + let default_edge_attributes _ = [] +@@ -303,7 +303,7 @@ Src root:%s in %s (is_root:%b) Dst:%s in %s (is_root:%b) [2d case]" + sg_attributes = + [ `Label ("S " ^ cs); + `Color (Extlib.number_to_color id); +- `Style [`Bold] ] } ++ `Style `Bold ] } + + end + +diff --git a/src/pdg_types/pdgTypes.ml b/src/pdg_types/pdgTypes.ml +index 05754e4..74cdebf 100644 +--- a/src/pdg_types/pdgTypes.ml ++++ b/src/pdg_types/pdgTypes.ml +@@ -626,7 +626,7 @@ module Pdg = struct + + let graph_attributes _ = [`Rankdir `TopToBottom ] + +- let default_vertex_attributes _ = [`Style [`Filled]] ++ let default_vertex_attributes _ = [`Style `Filled] + let vertex_name v = string_of_int (Node.id v) + + let vertex_attributes v = +@@ -711,13 +711,13 @@ module Pdg = struct + if Dpd.is_ctrl d then (`Arrowtail `Odot)::attrib else attrib + in + let attrib = +- if Dpd.is_addr d then (`Style [`Dotted])::attrib else attrib ++ if Dpd.is_addr d then (`Style `Dotted)::attrib else attrib + in + attrib + + let get_subgraph v = + let mk_subgraph name attrib = +- let attrib = (`Style [`Filled]) :: attrib in ++ let attrib = (`Style `Filled) :: attrib in + Some { Graph.Graphviz.DotAttributes.sg_name= name; + sg_parent = None; + sg_attributes = attrib } +diff --git a/src/postdominators/print.ml b/src/postdominators/print.ml +index f2e3a25..15f4ff2 100644 +--- a/src/postdominators/print.ml ++++ b/src/postdominators/print.ml +@@ -63,7 +63,7 @@ module Printer = struct + + let graph_attributes (title, _) = [`Label title] + +- let default_vertex_attributes _g = [`Style [`Filled]] ++ let default_vertex_attributes _g = [`Style `Filled] + let default_edge_attributes _g = [] + + let vertex_attributes (s, has_postdom) = +diff --git a/src/semantic_callgraph/register.ml b/src/semantic_callgraph/register.ml +index 1c79dcc..071f061 100644 +--- a/src/semantic_callgraph/register.ml ++++ b/src/semantic_callgraph/register.ml +@@ -102,8 +102,8 @@ module Service = + let name = Kernel_function.get_name + let attributes v = + [ `Style +- [if Kernel_function.is_definition v then `Bold +- else `Dotted] ] ++ (if Kernel_function.is_definition v then `Bold ++ else `Dotted) ] + let entry_point () = + try Some (fst (Globals.entry_point ())) + with Globals.No_such_entry_point _ -> None +diff --git a/src/slicing/printSlice.ml b/src/slicing/printSlice.ml +index c5363f9..211e0bb 100644 +--- a/src/slicing/printSlice.ml ++++ b/src/slicing/printSlice.ml +@@ -227,7 +227,7 @@ module PrintProject = struct + + let graph_attributes (name, _) = [`Label name] + +- let default_vertex_attributes _ = [`Style [`Filled]] ++ let default_vertex_attributes _ = [`Style `Filled] + + let vertex_name v = match v with + | Src fi -> SlicingMacros.fi_name fi +@@ -280,16 +280,16 @@ module PrintProject = struct + + let edge_attributes (e, call) = + let attrib = match e with +- | (Src _, Src _) -> [`Style [`Invis]] +- | (OptSliceCallers _, _) -> [`Style [`Invis]] +- | (_, OptSliceCallers _) -> [`Style [`Invis]] ++ | (Src _, Src _) -> [`Style `Invis] ++ | (OptSliceCallers _, _) -> [`Style `Invis] ++ | (_, OptSliceCallers _) -> [`Style `Invis] + | _ -> [] + in match call with None -> attrib + | Some call -> (`Label (string_of_int call.sid)):: attrib + + let get_subgraph v = + let mk_subgraph name attrib = +- let attrib = (*(`Label name) ::*) (`Style [`Filled]) :: attrib in ++ let attrib = (*(`Label name) ::*) (`Style `Filled) :: attrib in + Some { Graph.Graphviz.DotAttributes.sg_name= name; + sg_parent = None; + sg_attributes = attrib } +diff --git a/src/syntactic_callgraph/register.ml b/src/syntactic_callgraph/register.ml +index d4669c4..d41980e 100644 +--- a/src/syntactic_callgraph/register.ml ++++ b/src/syntactic_callgraph/register.ml +@@ -37,8 +37,8 @@ module Service = + let name v = nodeName v.cnInfo + let attributes v = + [ match v.cnInfo with +- | NIVar (_,b) when not !b -> `Style [`Dotted] +- | _ -> `Style [`Bold] ] ++ | NIVar (_,b) when not !b -> `Style `Dotted ++ | _ -> `Style `Bold ] + let equal v1 v2 = id v1 = id v2 + let compare v1 v2 = + let i1 = id v1 in +diff --git a/src/wp/cil2cfg.ml b/src/wp/cil2cfg.ml +index 6d8cf09..ba5f410 100644 +--- a/src/wp/cil2cfg.ml ++++ b/src/wp/cil2cfg.ml +@@ -1278,9 +1278,9 @@ module Printer (PE : sig val edge_txt : edge -> string end) = struct + | Vstart | Vend | Vexit -> [`Color 0x0000FF; `Shape `Doublecircle] + | VfctIn | VfctOut -> [`Color 0x0000FF; `Shape `Box] + | VblkIn _ | VblkOut _ -> [`Shape `Box] +- | Vloop _ | Vloop2 _ -> [`Color 0xFF0000; `Style [`Filled]] ++ | Vloop _ | Vloop2 _ -> [`Color 0xFF0000; `Style `Filled] + | Vtest _ | Vswitch _ -> +- [`Color 0x00FF00; `Style [`Filled]; `Shape `Diamond] ++ [`Color 0x00FF00; `Style `Filled; `Shape `Diamond] + | Vcall _ | Vstmt _ -> [] + in (`Label (String.escaped label))::attr + +@@ -1290,15 +1290,15 @@ module Printer (PE : sig val edge_txt : edge -> string end) = struct + let attr = [] in + let attr = (`Label (String.escaped (PE.edge_txt e)))::attr in + let attr = +- if is_back_edge e then (`Constraint false)::(`Style [`Bold])::attr ++ if is_back_edge e then (`Constraint false)::(`Style `Bold)::attr + else attr + in + let attr = match (edge_type e) with + | Ethen | EbackThen -> (`Color 0x00FF00)::attr + | Eelse | EbackElse -> (`Color 0xFF0000)::attr +- | Ecase [] -> (`Color 0x0000FF)::(`Style [`Dashed])::attr ++ | Ecase [] -> (`Color 0x0000FF)::(`Style `Dashed)::attr + | Ecase _ -> (`Color 0x0000FF)::attr +- | Enext -> (`Style [`Dotted])::attr ++ | Enext -> (`Style `Dotted)::attr + | Eback -> attr (* see is_back_edge above *) + | Enone -> attr + in +@@ -1308,7 +1308,7 @@ module Printer (PE : sig val edge_txt : edge -> string end) = struct + + let get_subgraph v = + let mk_subgraph name attrib = +- let attrib = (`Style [`Filled]) :: attrib in ++ let attrib = (`Style `Filled) :: attrib in + Some { Graph.Graphviz.DotAttributes.sg_name= name; + sg_parent = None; + sg_attributes = attrib } +-- diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix new file mode 100644 index 00000000000..baa63855a0a --- /dev/null +++ b/pkgs/development/tools/analysis/frama-c/default.nix @@ -0,0 +1,96 @@ +{ stdenv, fetchurl, ncurses, ocamlPackages, graphviz +, ltl2ba, coq, alt-ergo, gmp, why3 }: + +stdenv.mkDerivation rec { + name = "frama-c-${version}"; + version = "20140301"; + slang = "Neon"; + + src = fetchurl { + url = "http://frama-c.com/download/frama-c-${slang}-${version}.tar.gz"; + sha256 = "0ca7ky7vs34did1j64v6d8gcp2irzw3rr5qgv47jhmidbipn1865"; + }; + + why2 = fetchurl { + url = "http://why.lri.fr/download/why-2.34.tar.gz"; + sha256 = "1335bhq9v3h46m8aba2c5myi9ghm87q41in0m15xvdrwq5big1jg"; + }; + + buildInputs = with ocamlPackages; [ + ncurses ocaml findlib alt-ergo ltl2ba ocamlgraph gmp + lablgtk coq graphviz zarith why3 zarith + ]; + + + enableParallelBuilding = true; + configureFlags = [ "--disable-local-ocamlgraph" ]; + + unpackPhase = '' + tar xf $src + tar xf $why2 + ''; + + buildPhase = '' + cd frama* + ./configure --prefix=$out + make -j$NIX_BUILD_CORES + make install + cd ../why* + FRAMAC=$out/bin/frama-c ./configure --prefix=$out + make + make install + ''; + + + # Taken from Debian Sid + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746091 + patches = ./0004-Port-to-OCamlgraph-1.8.5.patch; + + # Enter frama-c directory before patching + prePatch = ''cd frama*''; + postPatch = '' + # strip absolute paths to /usr/bin + for file in ./configure ./share/Makefile.common ./src/*/configure; do + substituteInPlace $file --replace '/usr/bin/' "" + done + + # find library paths + OCAMLGRAPH_HOME=`ocamlfind query ocamlgraph` + LABLGTK_HOME=`ocamlfind query lablgtk2` + + # patch search paths + # ensure that the tests against the ocamlgraph version succeeds + # filter out the additional search paths from ocamldep + substituteInPlace ./configure \ + --replace '$OCAMLLIB/ocamlgraph' "$OCAMLGRAPH_HOME" \ + --replace '$OCAMLLIB/lablgtk2' "$LABLGTK_HOME" \ + --replace '+ocamlgraph' "$OCAMLGRAPH_HOME" \ + substituteInPlace ./Makefile --replace '+lablgtk2' "$LABLGTK_HOME" \ + --replace '$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES))' \ + '$(patsubst /%,.,$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES)))' + + substituteInPlace ./src/aorai/aorai_register.ml --replace '"ltl2ba' '"${ltl2ba}/bin/ltl2ba' + + cd ../why* + substituteInPlace ./frama-c-plugin/Makefile --replace 'shell frama-c' "shell $out/bin/frama-c" + substituteInPlace ./jc/jc_make.ml --replace ' why-dp ' " $out/bin/why-dp " + substituteInPlace ./jc/jc_make.ml --replace "?= why@\n" "?= $out/bin/why@\n" + substituteInPlace ./jc/jc_make.ml --replace ' gwhy-bin@' " $out/bin/gwhy-bin@" + substituteInPlace ./jc/jc_make.ml --replace ' why3 ' " ${why3}/bin/why3 " + substituteInPlace ./jc/jc_make.ml --replace ' why3ide ' " ${why3}/bin/why3ide " + substituteInPlace ./jc/jc_make.ml --replace ' why3replayer ' " ${why3}/bin/why3replayer " + substituteInPlace ./jc/jc_make.ml --replace ' why3ml ' " ${why3}/bin/why3ml " + substituteInPlace ./jc/jc_make.ml --replace ' coqdep@' " ${coq}/bin/coqdep@" + substituteInPlace ./jc/jc_make.ml --replace 'coqc' " ${coq}/bin/coqc" + substituteInPlace ./frama-c-plugin/register.ml --replace ' jessie ' " $out/bin/jessie " + cd .. + ''; + + meta = { + description = "Frama-C is an extensible tool for source-code analysis of C software"; + homepage = http://frama-c.com/; + license = stdenv.lib.licenses.lgpl21; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice amiddelk ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix new file mode 100644 index 00000000000..a415ffd152d --- /dev/null +++ b/pkgs/development/tools/apktool/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, makeWrapper, jre, buildTools }: + +stdenv.mkDerivation rec { + name = "apktool-${version}"; + version = "1.5.2"; + + src = fetchurl { + url = "https://android-apktool.googlecode.com/files/apktool${version}.tar.bz2"; + sha1 = "2dd828cf79467730c7406aa918f1da1bd21aaec8"; + }; + + unpackCmd = '' + tar -xvf $src || true + cd apktool* + ''; + + phases = [ "unpackPhase" "installPhase" ]; + + buildInputs = [ makeWrapper ]; + + installPhase = '' + install -D apktool.jar "$out/libexec/apktool/apktool.jar" + ensureDir "$out/bin" + makeWrapper "${jre}/bin/java" "$out/bin/apktool" \ + --add-flags "-jar $out/libexec/apktool/apktool.jar" \ + --prefix PATH : "${buildTools}/build-tools/android-4.3/" + ''; + + meta = with stdenv.lib; { + description = "A tool for reverse engineering Android apk files"; + homepage = https://code.google.com/p/android-apktool/; + license = licenses.asl20; + maintainers = with maintainers; [ offline ]; + }; + +} diff --git a/pkgs/development/tools/build-managers/buildbot-slave/default.nix b/pkgs/development/tools/build-managers/buildbot-slave/default.nix index b28c4d9296f..f21be7cc48c 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 c872d67146b..2d7c63fdc7d 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/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 9ce69374cd8..42277b22036 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -26,7 +26,13 @@ stdenv.mkDerivation rec { patches = # Don't search in non-Nix locations such as /usr, but do search in # Nixpkgs' Glibc. - optional (stdenv ? glibc) ./search-path.patch; + optional (stdenv ? glibc) ./search-path.patch ++ + optional (stdenv ? cross) (fetchurl { + name = "fix-darwin-cross-compile.patch"; + url = "http://public.kitware.com/Bug/file_download.php?" + + "file_id=4981&type=bug"; + sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv"; + }); buildInputs = [ curl expat zlib bzip2 libarchive ] ++ optional useNcurses ncurses diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix index ff21e518936..a5f34746fef 100644 --- a/pkgs/development/tools/build-managers/leiningen/default.nix +++ b/pkgs/development/tools/build-managers/leiningen/default.nix @@ -31,6 +31,6 @@ stdenv.mkDerivation rec { description = "Project automation for Clojure"; license = "EPL"; platforms = stdenv.lib.platforms.linux; - maintainer = with stdenv.lib.maintainers; [ the-kenny ]; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; }; } diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix index a64360c5727..b57c4c263f5 100644 --- a/pkgs/development/tools/build-managers/rebar/default.nix +++ b/pkgs/development/tools/build-managers/rebar/default.nix @@ -2,14 +2,14 @@ let - version = "2.2.0"; + version = "2.3.0"; in stdenv.mkDerivation { name = "rebar-${version}"; src = fetchurl { url = "https://github.com/rebar/rebar/archive/${version}.tar.gz"; - sha256 = "0wprgzin09286v583jmlc385jqpi2lcpdql9srm4c7g39122dg43"; + sha256 = "0g23ib96lalpmynx39fprlw08ivgyb7i6c6a8jvgqwr9jmd0nj06"; }; buildInputs = [ erlang ]; diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/simple-build-tool/default.nix index 8f01486cfe7..b54f894d8eb 100644 --- a/pkgs/development/tools/build-managers/simple-build-tool/default.nix +++ b/pkgs/development/tools/build-managers/simple-build-tool/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "sbt-${version}"; - version = "0.13.0"; + version = "0.13.5"; src = fetchurl { url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar"; - sha256 = "04s49v5mw4kwz1rmvbf07kq51i2m0lcv60c9i5y524gjj518pk1w"; + sha256 = "05zvb3j7xxswpz7fz2nwbl4dwfdf0cyx5xzjis5fyi2dbzmfdrmp"; }; phases = [ "installPhase" ]; @@ -21,10 +21,10 @@ stdenv.mkDerivation rec { chmod +x $out/bin/sbt ''; - meta = { + meta = { homepage = http://www.scala-sbt.org/; license = stdenv.lib.licenses.bsd3; description = "A build tool for Scala, Java and more"; - maintainers = [ stdenv.lib.maintainers.rickynils ]; - }; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; } diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch b/pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch deleted file mode 100644 index b3a67515620..00000000000 --- a/pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/cdecl.c 2009-07-07 13:20:37.000000000 +0200 -+++ a/cdecl.c.new 2009-07-07 13:25:00.000000000 +0200 -@@ -91,7 +91,7 @@ - #ifdef USE_READLINE - # include - /* prototypes for functions related to readline() */ -- char * getline(); -+ char * mygetline(); - char ** attempt_completion(char *, int, int); - char * keyword_completion(char *, int); - char * command_completion(char *, int); -@@ -375,7 +375,7 @@ - static char *line_read = NULL; - - /* Read a string, and return a pointer to it. Returns NULL on EOF. */ --char * getline () -+char * mygetline () - { - /* If the buffer has already been allocated, return the memory - to the free pool. */ -@@ -887,7 +887,7 @@ - - if (!quiet) (void) printf("Type `help' or `?' for help\n"); - ret = 0; -- while ((line = getline())) { -+ while ((line = mygetline())) { - if (!strcmp(line, "quit") || !strcmp(line, "exit")) { - free(line); - return ret; diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch b/pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch deleted file mode 100644 index ee4949beb6e..00000000000 --- a/pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: cdecl-2.5/cdecl.c -=================================================================== ---- cdecl-2.5.orig/cdecl.c -+++ cdecl-2.5/cdecl.c -@@ -204,6 +204,7 @@ int DebugFlag = 0; /* -d, output debugg - #define ANSI 4 /* combo not allowed anymore in ANSI compiler */ - #define A ANSI - -+extern char **completion_matches PARAMS((char *, rl_compentry_func_t *)); - /* This is an lower left triangular array. If we needed */ - /* to save 9 bytes, the "long" row can be removed. */ - char crosscheck[9][9] = { \ No newline at end of file diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch b/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch new file mode 100644 index 00000000000..ecdee5d544f --- /dev/null +++ b/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 1643b74..8f1ae11 100644 +--- a/Makefile ++++ b/Makefile +@@ -33,7 +33,7 @@ c++decl: cdgram.c cdlex.c cdecl.c + rm -f cdecl + + cdlex.c: cdlex.l +- lex cdlex.l && mv lex.yy.c cdlex.c ++ flex cdlex.l && mv lex.yy.c cdlex.c + + cdgram.c: cdgram.y + yacc cdgram.y && mv y.tab.c cdgram.c diff --git a/pkgs/development/tools/cdecl/cdecl-2.5.patch b/pkgs/development/tools/cdecl/cdecl-2.5.patch deleted file mode 100644 index 4b00849f372..00000000000 --- a/pkgs/development/tools/cdecl/cdecl-2.5.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/Makefile b/Makefile -index 9e85686..b8e6e02 100644 ---- a/Makefile -+++ b/Makefile -@@ -15,13 +15,14 @@ - # - # add -DUSE_READLINE To compile in support for the GNU readline library. - --CFLAGS= -s -O2 -DUSE_READLINE -+CFLAGS=-DUSE_READLINE - CC= gcc --LIBS= -lreadline -ltermcap -+LIBS= -lreadline -lncursesw - ALLFILES= makefile cdgram.y cdlex.l cdecl.c cdecl.1 testset testset++ --BINDIR= /usr/bin --MANDIR= /usr/man/man1 --CATDIR= /usr/man/cat1 -+PREFIX?= /usr -+BINDIR= $(PREFIX)/bin -+MANDIR= $(PREFIX)/man/man1 -+CATDIR= $(PREFIX)/man/cat1 - INSTALL= install -c - INSTALL_DATA= install -c -m 644 - -@@ -33,7 +34,7 @@ c++decl: cdgram.c cdlex.c cdecl.c - rm -f cdecl - - cdlex.c: cdlex.l -- lex cdlex.l && mv lex.yy.c cdlex.c -+ flex cdlex.l && mv lex.yy.c cdlex.c - - cdgram.c: cdgram.y - yacc cdgram.y && mv y.tab.c cdgram.c -@@ -43,8 +44,10 @@ test: - ./c++decl < testset++ - - install: cdecl -+ $(INSTALL) -d $(BINDIR) - $(INSTALL) cdecl $(BINDIR) - ln $(BINDIR)/cdecl $(BINDIR)/c++decl -+ $(INSTALL) -d $(MANDIR) - $(INSTALL_DATA) cdecl.1 $(MANDIR) - $(INSTALL_DATA) c++decl.1 $(MANDIR) - -diff --git a/cdecl.c b/cdecl.c -index f03f01e..1fdde9f 100644 ---- a/cdecl.c -+++ b/cdecl.c -@@ -67,6 +67,7 @@ char cdeclsccsid[] = "@(#)cdecl.c 2.5 1/15/96"; - # include - # include - # include -+# include - #else - # ifndef NOVARARGS - # include -@@ -124,7 +125,6 @@ char real_prompt[MAX_NAME+3]; - - #if __STDC__ - char *ds(char *), *cat(char *, ...), *visible(int); -- int getopt(int,char **,char *); - int main(int, char **); - int yywrap(void); - int dostdin(void); diff --git a/pkgs/development/tools/cdecl/default.nix b/pkgs/development/tools/cdecl/default.nix index a9eb323f9a8..d923fea8b59 100644 --- a/pkgs/development/tools/cdecl/default.nix +++ b/pkgs/development/tools/cdecl/default.nix @@ -1,22 +1,25 @@ -{stdenv, fetchurl, yacc, flex, readline, ncurses}: +{stdenv, fetchurl, yacc, flex, readline, ncurses, gnused}: stdenv.mkDerivation { name = "cdecl-2.5"; src = fetchurl { - url = ftp://metalab.unc.edu/pub/linux/devel/lang/c/cdecl-2.5.tar.gz; - md5 = "29895dab52e85b2474a59449e07b7996"; + url = "http://cdecl.org/files/cdecl-blocks-2.5.tar.gz"; + md5 = "c1927e146975b1c7524cbaf07a7c10f8"; }; - patches = [ ./cdecl-2.5-implicit-pointer.patch ./cdecl-2.5.patch ./cdecl-2.5-gentoo.patch ]; - preBuild = " - makeFlags=\"PREFIX=$out\" - "; + patches = [ ./cdecl-2.5-lex.patch ]; + preBuild = '' + ${gnused}/bin/sed 's/getline/cdecl_getline/g' -i cdecl.c; + makeFlagsArray=(CFLAGS="-DBSD -DUSE_READLINE -std=gnu89" LIBS=-lreadline); + makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANDIR=$out/man1 CATDIR=$out/cat1"; + mkdir -p $out/bin; + ''; buildInputs = [yacc flex readline ncurses]; meta = { description = "Translator English -- C/C++ declarations"; license = "Public Domain"; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + maintainers = with stdenv.lib.maintainers; [viric joelteon]; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/development/tools/documentation/haddock/2.14.2.nix b/pkgs/development/tools/documentation/haddock/2.14.2.nix index c4677f202dd..af611de4b9f 100644 --- a/pkgs/development/tools/documentation/haddock/2.14.2.nix +++ b/pkgs/development/tools/documentation/haddock/2.14.2.nix @@ -1,5 +1,5 @@ -{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, hspec -, QuickCheck, xhtml +{ cabal, Cabal, deepseq, filepath, ghcPaths, hspec, QuickCheck +, xhtml }: cabal.mkDerivation (self: { @@ -10,7 +10,6 @@ cabal.mkDerivation (self: { 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/"; diff --git a/pkgs/development/tools/haskell/BNFC/default.nix b/pkgs/development/tools/haskell/BNFC/default.nix index ebe8d2c3e24..f335aebc570 100644 --- a/pkgs/development/tools/haskell/BNFC/default.nix +++ b/pkgs/development/tools/haskell/BNFC/default.nix @@ -1,4 +1,4 @@ -{ cabal, mtl, fetchurl, alex, happy }: +{ cabal, mtl, fetchpatch, alex, happy }: cabal.mkDerivation (self: { pname = "BNFC"; @@ -8,7 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ mtl ]; buildTools = [ alex happy ]; - patches = [ (fetchurl { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "103l04ylzswgxrmpv5zy6dd0jyr96z21mdkpgk1z4prvn8wjl624"; }) ]; + patches = [ (fetchpatch { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "1i87crwva5m3v095lv3zxs38pr6nmly58krlr6sxpwnakpr0pxsp"; }) ]; patchFlags = "-p2"; preConfigure = "runhaskell Setup.lhs clean"; meta = { diff --git a/pkgs/development/tools/haskell/DrIFT/default.nix b/pkgs/development/tools/haskell/DrIFT/default.nix new file mode 100644 index 00000000000..f0ae57b6287 --- /dev/null +++ b/pkgs/development/tools/haskell/DrIFT/default.nix @@ -0,0 +1,16 @@ +{ cabal, filepath, random }: + +cabal.mkDerivation (self: { + pname = "DrIFT"; + version = "2.4.2"; + sha256 = "1w0wfmrjifidl2qz998ig07afd4p6yp890lwl8as57bay490nakl"; + isLibrary = true; + isExecutable = true; + buildDepends = [ filepath random ]; + meta = { + homepage = "http://repetae.net/computer/haskell/DrIFT/"; + description = "Program to derive type class instances"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/HaRe/default.nix b/pkgs/development/tools/haskell/HaRe/default.nix index 7cbc6630584..0bcb19968ba 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.2.2"; - sha256 = "0w9cjs3r99k4mf835higcsllk0h8lbich1v9wb2pvwbqi3i9r0sp"; + version = "0.7.2.3"; + sha256 = "1zhwi568asgwvsbqrcglwa6jmbm85m3fi94mklb40ib149k4il1s"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/cabal-bounds/default.nix b/pkgs/development/tools/haskell/cabal-bounds/default.nix new file mode 100644 index 00000000000..5de7645a5e4 --- /dev/null +++ b/pkgs/development/tools/haskell/cabal-bounds/default.nix @@ -0,0 +1,23 @@ +{ cabal, Cabal, cabalLenses, cmdargs, either, filepath, lens +, strict, tasty, tastyGolden, transformers, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "cabal-bounds"; + version = "0.5"; + sha256 = "0sx6vyf3p62khg7qv7nwgd8fns6dsfpw34gpl7zmb6n0c1kjj60b"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + Cabal cabalLenses cmdargs either lens strict transformers + unorderedContainers + ]; + testDepends = [ filepath tasty tastyGolden ]; + jailbreak = true; + doCheck = false; + meta = { + description = "A command line program for managing the bounds/versions of the dependencies in a cabal file"; + 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 00000000000..65a7b4d3211 --- /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 00000000000..7aec5022720 --- /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; + buildDepends = [ shelly systemFileio systemFilepath text ]; + testDepends = [ hspec shelly systemFilepath text ]; + doCheck = false; + 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/cake3/default.nix b/pkgs/development/tools/haskell/cake3/default.nix index c5c35ac571c..f7b678ad9fb 100644 --- a/pkgs/development/tools/haskell/cake3/default.nix +++ b/pkgs/development/tools/haskell/cake3/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "cake3"; - version = "0.4.0.0"; - sha256 = "15v50m60fr2mgfm2irxfaw4pi2s3bx187p0y0ns20rqfy0dasxyx"; + version = "0.5.0.0"; + sha256 = "0hfnda0xp8saav85pgqmcb6ib699gm6gy5f087nlrx7058f4n7ji"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/codex/default.nix b/pkgs/development/tools/haskell/codex/default.nix new file mode 100644 index 00000000000..eeba452f5c8 --- /dev/null +++ b/pkgs/development/tools/haskell/codex/default.nix @@ -0,0 +1,21 @@ +{ cabal, Cabal, downloadCurl, either, filepath, hackageDb, MissingH +, monadLoops, tar, text, transformers, yaml, zlib +}: + +cabal.mkDerivation (self: { + pname = "codex"; + version = "0.0.2"; + sha256 = "156830krsn1qczrx27bn3ihqlis698sjf563sa2njvc7v85plx55"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + Cabal downloadCurl either filepath hackageDb MissingH monadLoops + tar text transformers yaml zlib + ]; + meta = { + homepage = "http://github.com/aloiscochard/codex"; + description = "A ctags file generator for cabal project dependencies"; + license = self.stdenv.lib.licenses.asl20; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/ghc-gc-tune/default.nix b/pkgs/development/tools/haskell/ghc-gc-tune/default.nix new file mode 100644 index 00000000000..193d12fdefa --- /dev/null +++ b/pkgs/development/tools/haskell/ghc-gc-tune/default.nix @@ -0,0 +1,16 @@ +{ cabal, filepath }: + +cabal.mkDerivation (self: { + pname = "ghc-gc-tune"; + version = "0.3"; + sha256 = "0ghp3f86m91zi6kl8zq157717s2p73nwdgln4aiclq830m72ys9w"; + isLibrary = false; + isExecutable = true; + buildDepends = [ filepath ]; + meta = { + homepage = "http://code.haskell.org/~dons/code/ghc-gc-tune"; + description = "Graph performance of Haskell programs with different GC flags"; + 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 036c308a712..8942a1b79c2 100644 --- a/pkgs/development/tools/haskell/hasktags/default.nix +++ b/pkgs/development/tools/haskell/hasktags/default.nix @@ -2,9 +2,9 @@ cabal.mkDerivation (self: { pname = "hasktags"; - version = "0.68.7"; - sha256 = "0z98ha2xjc6npcyn15arp6h6ad87bs4acdhd1rnqrsy4lc0lny04"; - isLibrary = false; + version = "0.69.0"; + sha256 = "1bba6w5h5a5frc899cdlxcyshiqdni6lcqby618akr1917ih1qh8"; + isLibrary = true; isExecutable = true; buildDepends = [ filepath json utf8String ]; meta = { diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix index 17ae7d508d3..69e880176a3 100644 --- a/pkgs/development/tools/haskell/hlint/default.nix +++ b/pkgs/development/tools/haskell/hlint/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hlint"; - version = "1.8.60"; - sha256 = "10kc4g9sipd5758n3x2xndaw1c887263gvff0y395drfgqh5qxal"; + version = "1.8.61"; + sha256 = "08y8ny6dv14gxnzzr5f1hvs22m7y62yffyq2pzvw2aja8fbj5d2z"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/hobbes/default.nix b/pkgs/development/tools/haskell/hobbes/default.nix new file mode 100644 index 00000000000..0c9b2d45ae1 --- /dev/null +++ b/pkgs/development/tools/haskell/hobbes/default.nix @@ -0,0 +1,16 @@ +{ cabal, filemanip, filepath, fsnotify, systemFilepath, text }: + +cabal.mkDerivation (self: { + pname = "hobbes"; + version = "0.2.2"; + sha256 = "1pri63d59q918jv1hdp2ib06m6lzw9a2b6bjyn86b2qrrx2512xd"; + isLibrary = false; + isExecutable = true; + buildDepends = [ filemanip filepath fsnotify systemFilepath text ]; + meta = { + homepage = "http://github.com/jhickner/hobbes"; + description = "A small file watcher for OSX"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hscolour/default.nix b/pkgs/development/tools/haskell/hscolour/default.nix similarity index 85% rename from pkgs/development/libraries/haskell/hscolour/default.nix rename to pkgs/development/tools/haskell/hscolour/default.nix index d8bc08b4b33..88c4545ff6d 100644 --- a/pkgs/development/libraries/haskell/hscolour/default.nix +++ b/pkgs/development/tools/haskell/hscolour/default.nix @@ -1,4 +1,4 @@ -{ cabal }: +{ cabal, hyperlinkSource ? true }: cabal.mkDerivation (self: { pname = "hscolour"; @@ -6,6 +6,7 @@ cabal.mkDerivation (self: { sha256 = "15ix93sw4p7g5ln2halcgqppdc0i0vmkzcjzxvqzkk9yp9pq3nrs"; isLibrary = true; isExecutable = true; + hyperlinkSource = hyperlinkSource; meta = { homepage = "http://code.haskell.org/~malcolm/hscolour/"; description = "Colourise Haskell code"; diff --git a/pkgs/development/tools/haskell/hslogger/default.nix b/pkgs/development/tools/haskell/hslogger/default.nix index a851b8912c7..deb97d85fdc 100644 --- a/pkgs/development/tools/haskell/hslogger/default.nix +++ b/pkgs/development/tools/haskell/hslogger/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "hslogger"; - version = "1.2.3"; - sha256 = "0rmijkrf24srcg8zgizf5vidpsgr4171wbzbwgrg66l704mkkb7m"; + version = "1.2.4"; + sha256 = "0r0c7wqz49lzxg7sakkw6nwmxnyzhqscxvnxiqwkwsgv3q2sh3wc"; isLibrary = true; isExecutable = true; buildDepends = [ mtl network time ]; diff --git a/pkgs/development/tools/haskell/packunused/default.nix b/pkgs/development/tools/haskell/packunused/default.nix index 35d318d36ba..8acee158683 100644 --- a/pkgs/development/tools/haskell/packunused/default.nix +++ b/pkgs/development/tools/haskell/packunused/default.nix @@ -1,12 +1,16 @@ -{ cabal, Cabal, cmdargs, filepath, haskellSrcExts }: +{ cabal, Cabal, filepath, haskellSrcExts, optparseApplicative +, split +}: cabal.mkDerivation (self: { pname = "packunused"; - version = "0.1.0.1"; - sha256 = "130717k4rknj5jl904cmb4h09msp4xjj84w6iwzc10lz736dk3jd"; + version = "0.1.1.2"; + sha256 = "1kp004lh6sa4gjqm37ldgk70jbncrnr76rk9c77464cnj6ajxmlm"; isLibrary = false; isExecutable = true; - buildDepends = [ Cabal cmdargs filepath haskellSrcExts ]; + buildDepends = [ + Cabal filepath haskellSrcExts optparseApplicative split + ]; jailbreak = true; meta = { homepage = "https://github.com/hvr/packunused"; diff --git a/pkgs/development/tools/haskell/profiteur/default.nix b/pkgs/development/tools/haskell/profiteur/default.nix new file mode 100644 index 00000000000..748b0093ba2 --- /dev/null +++ b/pkgs/development/tools/haskell/profiteur/default.nix @@ -0,0 +1,20 @@ +{ cabal, aeson, attoparsec, filepath, text, unorderedContainers +, vector +}: + +cabal.mkDerivation (self: { + pname = "profiteur"; + version = "0.1.2.1"; + sha256 = "1108hhh2ivhs85jkga4wps2yscgjnp211sw5w45j4wp9dgpz2hak"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + aeson attoparsec filepath text unorderedContainers vector + ]; + meta = { + homepage = "http://github.com/jaspervdj/profiteur"; + description = "Treemap visualiser for GHC prof files"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/tools/haskell/rehoo/default.nix b/pkgs/development/tools/haskell/rehoo/default.nix new file mode 100644 index 00000000000..016070f66c3 --- /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/splot/default.nix b/pkgs/development/tools/haskell/splot/default.nix index 4e99a1e68cd..987715a9cf8 100644 --- a/pkgs/development/tools/haskell/splot/default.nix +++ b/pkgs/development/tools/haskell/splot/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "splot"; - version = "0.3.11"; - sha256 = "0mpyfmafjjcf85v740h69p5mggyqsq3li8m1fa5c0z4rdd0395an"; + version = "0.3.12"; + sha256 = "0xk5p2ikrzrmhvl69cl36sskcqgfnhxbbdlyp7bzl5pny0l0h9in"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/threadscope/default.nix b/pkgs/development/tools/haskell/threadscope/default.nix index 4928c40e129..afc904ecf95 100644 --- a/pkgs/development/tools/haskell/threadscope/default.nix +++ b/pkgs/development/tools/haskell/threadscope/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "threadscope"; - version = "0.2.2"; - sha256 = "07cmza391hjq77lx8m9g2287bzsh5ffka3s07fr49v6x6hivsic3"; + version = "0.2.3"; + sha256 = "07kbkcckxfsb50zks8jgw2g0ary63hymicq5lqrm5jjaarjb80gr"; isLibrary = false; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix index 84444522d19..6ae2b40b081 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.24"; - sha256 = "1k6xinnnc0723mbf0yvqn6qipjr3hcvy2qjv38sy7f5h0gp8lfhc"; + version = "1.0.25"; + sha256 = "14zyzr53gpp0i7wx49zzdrndqdhsw3q4z3w5hdl8c4m541pr25fw"; 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 00000000000..172949818a6 --- /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/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix new file mode 100644 index 00000000000..c8905dcbafd --- /dev/null +++ b/pkgs/development/tools/libsigrok/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, libzip, glib, libusb1, libftdi, check +, libserialport, librevisa +}: + +stdenv.mkDerivation rec { + name = "libsigrok-0.3.0"; + + src = fetchurl { + url = "http://sigrok.org/download/source/libsigrok/${name}.tar.gz"; + sha256 = "0l3h7zvn3w4c1b9dgvl3hirc4aj1csfkgbk87jkpl7bgl03nk4j3"; + }; + + buildInputs = [ pkgconfig libzip glib libusb1 libftdi check libserialport + librevisa + ]; + + meta = with stdenv.lib; { + description = "Core library of the sigrok signal analysis software suite"; + homepage = http://sigrok.org/; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/tools/libsigrokdecode/default.nix b/pkgs/development/tools/libsigrokdecode/default.nix new file mode 100644 index 00000000000..87ecd637b4e --- /dev/null +++ b/pkgs/development/tools/libsigrokdecode/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, glib, python3, libsigrok, check }: + +stdenv.mkDerivation rec { + name = "libsigrokdecode-0.3.0"; + + src = fetchurl { + url = "http://sigrok.org/download/source/libsigrokdecode/${name}.tar.gz"; + sha256 = "13s7ss52dqj7fccjgrkx10zkj41ygxn8ml1l0bs1vgczz4fvnkpf"; + }; + + buildInputs = [ pkgconfig glib python3 libsigrok check ]; + + meta = with stdenv.lib; { + description = "Protocol decoding library for the sigrok signal analysis software suite"; + homepage = http://sigrok.org/; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix new file mode 100644 index 00000000000..02fe572edab --- /dev/null +++ b/pkgs/development/tools/misc/arcanist/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchgit, php, flex, makeWrapper }: + +let + libphutil = fetchgit { + url = "git://github.com/facebook/libphutil.git"; + rev = "7e75bf271c669b61eb6e6e2ea312a36e64b80a4a"; + sha256 = "ffb7ee8141b925889e9bbc945d2f38f12d1489148b9c9b7eaeadd7524d254a78"; + }; + arcanist = fetchgit { + url = "git://github.com/facebook/arcanist.git"; + rev = "50caec620a8ed45c54323cb71fee72fd0d935115"; + sha256 = "dd18ed22375ad1ba058703952be0d339d9c93704e9d75dd7e4e6625236dfe9b0"; + }; +in +stdenv.mkDerivation rec { + name = "arcanist-${version}"; + version = "20140606"; + + src = [ arcanist libphutil ]; + buildInputs = [ php makeWrapper flex ]; + + unpackPhase = "true"; + buildPhase = '' + ORIG=`pwd` + chmod +w -R ${libphutil} + cd ${libphutil}/support/xhpast + ls + make clean all install + cd $ORIG + ''; + installPhase = '' + mkdir -p $out/bin $out/libexec + cp -R ${libphutil} $out/libexec/libphutil + cp -R ${arcanist} $out/libexec/arcanist + + ln -s $out/libexec/arcanist/bin/arc $out/bin + wrapProgram $out/bin/arc \ + --prefix PATH : "${php}/bin" + ''; + + meta = { + description = "Command line interface to Phabricator"; + homepage = "http://phabricator.org"; + license = stdenv.lib.licenses.asl20; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/development/tools/misc/avrdude/default.nix b/pkgs/development/tools/misc/avrdude/default.nix index 89e848df03b..2026e0ad2c8 100644 --- a/pkgs/development/tools/misc/avrdude/default.nix +++ b/pkgs/development/tools/misc/avrdude/default.nix @@ -1,31 +1,33 @@ -{ composableDerivation, fetchurl, yacc, flex, texLive, libusb }: +{ stdenv, fetchurl, yacc, flex, libusb, libelf, libftdi1, readline +# docSupport is a big dependency, disabled by default +, docSupport ? false, texLive ? null, texinfo ? null, texi2html ? null +}: -let edf = composableDerivation.edf; in +assert docSupport -> texLive != null && texinfo != null && texi2html != null; -composableDerivation.composableDerivation {} rec { - name="avrdude-6.0.1"; +stdenv.mkDerivation rec { + name = "avrdude-6.1"; src = fetchurl { url = "mirror://savannah/avrdude/${name}.tar.gz"; - sha256 = "0hfy1qkc6a5vpqsp9ahi1fpf9x4s10wq4bpyblc26sx9vxl4d066"; + sha256 = "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y"; }; - configureFlags = [ "--disable-dependency-tracking" ]; + configureFlags = stdenv.lib.optionalString docSupport "--enable-doc"; - buildInputs = [ yacc flex libusb ]; + buildInputs = [ yacc flex libusb libelf libftdi1 readline ] + ++ stdenv.lib.optionals docSupport [ texLive texinfo texi2html ]; - flags = - edf { name = "doc"; enable = { buildInputs = texLive; configureFlags = ["--enable-doc"]; }; } - // edf { name = "parport"; }; - - cfg = { - docSupport = false; # untested - parportSupport = true; - }; - - meta = { - license = "GPL-2"; - description = "AVR Downloader/UploaDEr"; - homepage = http://savannah.nongnu.org/projects/avrdude; + meta = with stdenv.lib; { + description = "Command-line tool for programming Atmel AVR microcontrollers"; + longDescription = '' + AVRDUDE (AVR Downloader/UploaDEr) is an utility to + download/upload/manipulate the ROM and EEPROM contents of AVR + microcontrollers using the in-system programming technique (ISP). + ''; + homepage = http://www.nongnu.org/avrdude/; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix index d19bb24eb37..aa8e70b5edc 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-cross/builder.sh b/pkgs/development/tools/misc/binutils-cross/builder.sh deleted file mode 100644 index 29d3b3779b6..00000000000 --- a/pkgs/development/tools/misc/binutils-cross/builder.sh +++ /dev/null @@ -1,26 +0,0 @@ -source $stdenv/setup - -if test $cross = "arm-linux" ; then - configureFlags="--target=arm-linux" -elif test $cross = "mips-linux" ; then - configureFlags="--target=mips-linux" -elif test $cross = "mipsel-linux" ; then - configureFlags="--target=mipsel-linux" -elif test $cross = "sparc-linux" ; then - configureFlags="--target=sparc-linux" -elif test $cross = "powerpc-linux" ; then - configureFlags="--target=powerpc-linux" -elif test $cross = "ppc-linux" ; then - configureFlags="--target=powerpc-linux" -fi - -patchConfigure() { - # Clear the default library search path. - if test "$noSysDirs" = "1"; then - echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt - fi -} - -preConfigure=patchConfigure - -genericBuild diff --git a/pkgs/development/tools/misc/binutils-cross/default.nix b/pkgs/development/tools/misc/binutils-cross/default.nix deleted file mode 100644 index 7d77baced37..00000000000 --- a/pkgs/development/tools/misc/binutils-cross/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, noSysDirs, cross}: - -stdenv.mkDerivation { - name = "binutils-2.16.1"; - builder = ./builder.sh; - src = fetchurl { - url = http://ftp.nluug.nl/gnu/binutils/binutils-2.16.1.tar.bz2; - md5 = "6a9d529efb285071dad10e1f3d2b2967"; - }; - inherit noSysDirs; - #configureFlags = if cross=="arm-linux" then "--target=arm-linux" else if cross=="mips-linux" then "--target=mips-linux" else if cross=="sparc-linux" then "--target=sparc-linux"; - inherit cross; -} diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix index 5d7da48cced..14a36470bba 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="4.0.2.2"; + version="4.0.4"; name="${baseName}-${version}"; - hash="1a7nwm1gkvpypfbhl29gj4gba50r5b069g3c87cfvrk2n4plm65b"; - url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.2.2.tar.gz"; - sha256="1a7nwm1gkvpypfbhl29gj4gba50r5b069g3c87cfvrk2n4plm65b"; + hash="152m834myhcgi4iacfqn81fznlbqxn7pvdlxvk2lbba09h0slm56"; + url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.4.tar.gz"; + sha256="152m834myhcgi4iacfqn81fznlbqxn7pvdlxvk2lbba09h0slm56"; }; buildInputs = [ ]; 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 00000000000..6553dea7b4c --- /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 e2f6c693298..53e4bd6821f 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.155"; + version = "0.158"; src = fetchurl { urls = [ "http://fedorahosted.org/releases/e/l/elfutils/${version}/${name}.tar.bz2" "mirror://gentoo/distfiles/${name}.tar.bz2" ]; - sha256 = "1n0fsg2q961i0lj355w2ad3cmp7d1jjcdhrfhmlgsvs14r2lli38"; + sha256 = "0z9rprmizd7rwb3xwfmz5liii7hbiv3g2arl23h56brm45fay9xy"; }; patches = [ + ./CVE-2014-0172.patch (fetchurl { url = "http://fedorahosted.org/releases/e/l/elfutils/${version}/elfutils-portability.patch"; - sha256 = "0w8i94x9hqirgs2lwcd1g36s77r5svh4j1fgcrd6lx5w18vch0di"; + sha256 = "0y2fyjis5xrd3g2pcbcm145q2kmh52n5c74w8dwv3hqdp5ky7igd"; }) ]; # We need bzip2 in NativeInputs because otherwise we can't unpack the src, diff --git a/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch b/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch deleted file mode 100644 index 1c16e1794ab..00000000000 --- a/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: Mehdi Dogguy -Date: Wed, 16 May 2012 14:48:40 +0200 -Subject: Port to OCamlgraph 1.8.2 - - o Graph.Topological: as of OCamlgraph 1.8.2, the input graph must - implement Sig.COMPARABLE instead of Sig.HASHABLE ---- - src/misc/service_graph.ml | 2 +- - src/misc/service_graph.mli | 2 +- - src/semantic_callgraph/register.ml | 1 + - src/syntactic_callgraph/register.ml | 1 + - 4 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/misc/service_graph.ml b/src/misc/service_graph.ml -index f30a1be..567698f 100644 ---- a/src/misc/service_graph.ml -+++ b/src/misc/service_graph.ml -@@ -24,7 +24,7 @@ module Make - (G: sig - type t - module V: sig -- include Graph.Sig.HASHABLE -+ include Graph.Sig.COMPARABLE - val id: t -> int - val name: t -> string - val attributes: t -> Graph.Graphviz.DotAttributes.vertex list -diff --git a/src/misc/service_graph.mli b/src/misc/service_graph.mli -index 5ebb570..8006977 100644 ---- a/src/misc/service_graph.mli -+++ b/src/misc/service_graph.mli -@@ -28,7 +28,7 @@ module Make - (G: sig - type t - module V: sig -- include Graph.Sig.HASHABLE -+ include Graph.Sig.COMPARABLE - val id: t -> int - (** assume is >= 0 and unique for each vertices of the graph *) - val name: t -> string -diff --git a/src/semantic_callgraph/register.ml b/src/semantic_callgraph/register.ml -index 0b3b4df..064dca8 100644 ---- a/src/semantic_callgraph/register.ml -+++ b/src/semantic_callgraph/register.ml -@@ -107,6 +107,7 @@ module Service = - (if Kernel_function.is_definition v then `Bold - else `Dotted) ] - let equal = Kernel_function.equal -+ let compare v1 v2 = Datatype.Int.compare (id v1) (id v2) - let hash = Kernel_function.hash - let entry_point () = - try Some (fst (Globals.entry_point ())) -diff --git a/src/syntactic_callgraph/register.ml b/src/syntactic_callgraph/register.ml -index 4efb594..d9d78b9 100644 ---- a/src/syntactic_callgraph/register.ml -+++ b/src/syntactic_callgraph/register.ml -@@ -41,6 +41,7 @@ module Service = - | NIVar (_,b) when not !b -> `Style `Dotted - | _ -> `Style `Bold ] - let equal v1 v2 = id v1 = id v2 -+ let compare v1 v2 = Datatype.Int.compare (id v1) (id v2) - let hash = id - let entry_point () = !entry_point_ref - end --- diff --git a/pkgs/development/tools/misc/frama-c/default.nix b/pkgs/development/tools/misc/frama-c/default.nix deleted file mode 100644 index ede316b4b7b..00000000000 --- a/pkgs/development/tools/misc/frama-c/default.nix +++ /dev/null @@ -1,67 +0,0 @@ -# Note on a potential dependency-bloat: -# Frama-c ships with several plugins that have dependencies on other -# software. Not providing the dependencies has as effect that certain -# plugins will not be available. -# I've included the dependencies that are well-supported by nixpkgs -# and seem useful in general. Not included are: -# alt-ergo, ltl2ba, otags, why-dp - -{ stdenv, fetchurl, ncurses, ocamlPackages, coq, graphviz }: - -let - - version = "20111001"; - sha256 = "8afad848321c958fab265045cd152482e77ce7c175ee7c9af2d4bec57a1bc671"; - -in stdenv.mkDerivation { - name = "frama-c-${version}"; - - src = fetchurl { - url = "http://frama-c.com/download/frama-c-Nitrogen-${version}.tar.gz"; - inherit sha256; - }; - - buildInputs = with ocamlPackages; [ - ncurses ocaml findlib ocamlgraph - lablgtk coq graphviz # optional dependencies - ]; - - patches = [ - # this patch comes from the debian frama-c package, and was - # posted on the frama-c issue tracker. - ./0007-Port-to-OCamlgraph-1.8.2.patch - ]; - - postPatch = '' - # strip absolute paths to /usr/bin - for file in ./configure ./share/Makefile.common ./src/*/configure; do - substituteInPlace $file --replace '/usr/bin/' "" - done - - # find library paths - OCAMLGRAPH_HOME=`ocamlfind query ocamlgraph` - LABLGTK_HOME=`ocamlfind query lablgtk2` - - # patch search paths - # ensure that the tests against the ocamlgraph version succeeds - # filter out the additional search paths from ocamldep - substituteInPlace ./configure \ - --replace '$OCAMLLIB/ocamlgraph' "$OCAMLGRAPH_HOME" \ - --replace '$OCAMLLIB/lablgtk2' "$LABLGTK_HOME" \ - --replace '+ocamlgraph' "$OCAMLGRAPH_HOME" \ - --replace '1.8)' '*)' - substituteInPlace ./Makefile --replace '+lablgtk2' "$LABLGTK_HOME" \ - --replace '$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES))' \ - '$(patsubst /%,.,$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES)))' - ''; - - meta = { - description = "Frama-C is an extensible tool for source-code analysis of C software"; - - homepage = http://frama-c.com/; - license = "GPLv2"; - - maintainers = [ stdenv.lib.maintainers.amiddelk ]; - platforms = stdenv.lib.platforms.gnu; - }; -} diff --git a/pkgs/development/tools/misc/gob2/default.nix b/pkgs/development/tools/misc/gob2/default.nix index c86a65f33b6..2f35f96e932 100644 --- a/pkgs/development/tools/misc/gob2/default.nix +++ b/pkgs/development/tools/misc/gob2/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl_gnome, pkgconfig, glib, bison, flex }: +{ stdenv, fetchurlGnome, pkgconfig, glib, bison, flex }: stdenv.mkDerivation rec { name = src.pkgname; - src = fetchurl_gnome { + src = fetchurlGnome { project = "gob2"; major = "2"; minor = "0"; patchlevel = "18"; extension = "gz"; sha256 = "1r242s3rsxyqiw2ic2gdpvvrx903jgjd1aa4mkl26in5k9zk76fa"; diff --git a/pkgs/development/tools/misc/grafana/default.nix b/pkgs/development/tools/misc/grafana/default.nix new file mode 100644 index 00000000000..346c7fb6ad2 --- /dev/null +++ b/pkgs/development/tools/misc/grafana/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, unzip, conf ? null }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "grafana-${version}"; + version = "1.5.4"; + + src = fetchurl { + url = "http://grafanarel.s3.amazonaws.com/${name}.zip"; + sha256 = "fee7334efba967142955be2fa39ecae7bca0cc9b7a76c301430746be4fc7ec6d"; + }; + + buildInputs = [ unzip ]; + + phases = ["unpackPhase" "installPhase"]; + installPhase = '' + ensureDir $out && cp -R * $out + ${optionalString (conf!=null) ''cp ${conf} $out/config.js''} + ''; + + meta = { + description = "A Graphite & InfluxDB Dashboard and Graph Editor"; + homepage = http://grafana.org/; + license = licenses.asl20; + + maintainers = [ maintainers.offline ]; + }; +} diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix index 1d223d83a65..541385d8bec 100644 --- a/pkgs/development/tools/misc/lttng-tools/default.nix +++ b/pkgs/development/tools/misc/lttng-tools/default.nix @@ -1,11 +1,11 @@ { 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 ]; diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix index 014a97a9158..0cba211f28b 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/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix index 953035342fd..c8579ef3831 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.2"; + version="2.2"; name="${baseName}-${version}"; - hash="1wwz71ymzjcyw8pz36yiw2x87c6v8nx5vdcd7zibm1n815v5qqk2"; - url="http://luarocks.org/releases/luarocks-2.1.2.tar.gz"; - sha256="1wwz71ymzjcyw8pz36yiw2x87c6v8nx5vdcd7zibm1n815v5qqk2"; + hash="03i46ayimp087288f0bi6g30fi3aixp2bha2jmsbbhwmsxm1yshs"; + url="http://luarocks.org/releases/luarocks-2.2.0beta1.tar.gz"; + sha256="03i46ayimp087288f0bi6g30fi3aixp2bha2jmsbbhwmsxm1yshs"; }; buildInputs = [ lua curl diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix new file mode 100644 index 00000000000..8f77b3d7283 --- /dev/null +++ b/pkgs/development/tools/misc/opengrok/default.nix @@ -0,0 +1,29 @@ +{ fetchurl, stdenv, jre, ctags, makeWrapper, coreutils, git }: + +stdenv.mkDerivation rec { + name = "opengrok-0.12.1"; + + src = fetchurl { + url = "http://java.net/projects/opengrok/downloads/download/${name}.tar.gz"; + sha256 = "0ihaqgf1z2gsjmy2q96m0s07dpnh92j3ss3myiqjdsh9957fwg79"; + }; + + buildInputs = [ makeWrapper ]; + + installPhase = '' + ensureDir $out + cp -a * $out/ + substituteInPlace $out/bin/OpenGrok --replace /bin/uname ${coreutils}/bin/uname + wrapProgram $out/bin/OpenGrok \ + --prefix PATH : "${ctags}/bin:${git}/bin" \ + --set JAVA_HOME "${jre}" \ + --set OPENGROK_TOMCAT_BASE "/var/tomcat" + ''; + + meta = with stdenv.lib; { + description = "Source code search and cross reference engine"; + homepage = http://opengrok.github.io/OpenGrok/; + license = licenses.cddl; + maintainers = [ maintainers.lethalman ]; + }; +} diff --git a/pkgs/development/tools/misc/srecord/default.nix b/pkgs/development/tools/misc/srecord/default.nix index 25140093f51..e316b4a628e 100644 --- a/pkgs/development/tools/misc/srecord/default.nix +++ b/pkgs/development/tools/misc/srecord/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, boost, libtool, groff, ghostscript }: stdenv.mkDerivation rec { - name = "srecord-1.62"; + name = "srecord-1.63"; src = fetchurl { url = "mirror://sourceforge/srecord/${name}.tar.gz"; - sha256 = "0bfbmhsm9mbwiik3yrhm95q8bgx1k4mh2ai412k8zjyi8f5f3904"; + sha256 = "06mzj9lrk8lzfzhnfyh8xm4p92j242jik6zm37ihcia20inwgzkq"; }; buildInputs = [ boost libtool groff ghostscript ]; 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 00000000000..653fb061603 --- /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 d489feba4dc..80c6b20e69d 100644 --- a/pkgs/development/tools/misc/swig/default.nix +++ b/pkgs/development/tools/misc/swig/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, boost }: +{ stdenv, fetchurl, boost, tcl }: stdenv.mkDerivation rec { name = "swig-1.3.40"; @@ -8,18 +8,9 @@ stdenv.mkDerivation rec { sha256 = "02dc8g8wy75nd2is1974rl24c6mdl0ai1vszs1xpg9nd7dlv6i8r"; }; - #buildInputs = [ boost ]; # needed for `make check' - - /* The test suite fails this way: - - building python_cpp - python: tpp.c:63: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)' failed. - /bin/sh: line 1: 32101 Aborted env LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH PYTHONPATH=.:$PYTHONPATH python ./li_boost_shared_ptr_runme.py - make[1]: *** [li_boost_shared_ptr.cpptest] Error 134 - - This may be an uninitialized mutex or mutexattr or something. - */ - doCheck = false; + doCheck = true; + # 'make check' uses boost and tcl + buildInputs = stdenv.lib.optionals doCheck [ boost tcl ]; meta = { description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages"; @@ -39,7 +30,7 @@ stdenv.mkDerivation rec { # Licensing is a mess: http://www.swig.org/Release/LICENSE . license = "BSD-style"; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.all; maintainers = [ ]; }; diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix index 0a7446fe534..d5aeac2eef8 100644 --- a/pkgs/development/tools/misc/texinfo/5.2.nix +++ b/pkgs/development/tools/misc/texinfo/5.2.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { installTargets="install install-tex"; ''; - doCheck = true; + doCheck = !stdenv.isDarwin; meta = { homepage = "http://www.gnu.org/software/texinfo/"; diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix index d49077a5ef6..67ef086941e 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 8b00d17ac7d..5b66ea75f65 100644 --- a/pkgs/development/tools/neoload/default.nix +++ b/pkgs/development/tools/neoload/default.nix @@ -31,15 +31,15 @@ let dotInstall4j = path: writeTextFile { name = "dot-install4j"; text = '' ''; }; in stdenv.mkDerivation rec { - name = "neoload-4.1.3"; + name = "neoload-4.1.4"; src = fetchurl ( if stdenv.system == "x86_64-linux" then - { url = http://www.neotys.com/documents/download/neoload/v4.1/neoload_4_1_3_linux_x64.sh; - sha256 = "0qqp7iy6xpaqg535hk21yqmxi0inin5v160sa7nwxh41dq0li5xx"; } + { url = http://neoload.installers.neotys.com/documents/download/neoload/v4.1/neoload_4_1_4_linux_x64.sh; + sha256 = "199jcf5a0nwfm8wfld2rcjgq64g91vvz2bkmki8dxfzf1yasifcd"; } else - { url = http://www.neotys.com/documents/download/neoload/v4.1/neoload_4_1_3_linux_x86.sh; - sha256 = "0rvy6l9znha3wf8cn406lwvv2qshqnls9kasi68r4wgysr1hh662"; } ); + { url = http://neoload.installers.neotys.com/documents/download/neoload/v4.1/neoload_4_1_4_linux_x86.sh; + sha256 = "1z66jiwcxixsqqwa0f4q8m2p5kna4knq6lic8y8l74dgv25mw912"; } ); buildInputs = [ makeWrapper ]; phases = [ "installPhase" ]; @@ -64,6 +64,8 @@ in stdenv.mkDerivation rec { export INSTALL4J_JAVA_HOME=${jre} bash -ic './installer -q -varfile response.varfile' + sed -i 's/Xmx450m/Xmx900m/;s/Xss192k/Xss384k/' $out/lib/neoload/conf/agent.properties + for i in $out/bin/*; do wrapProgram $i --run 'cp ${dotInstall4j "/lib/openjdk/jre"} ~/.install4j' \ --run 'chmod u+w ~/.install4j' diff --git a/pkgs/development/tools/node-webkit/default.nix b/pkgs/development/tools/node-webkit/default.nix new file mode 100644 index 00000000000..be125801bd5 --- /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/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix index ec19d55c58e..18b03f5923b 100644 --- a/pkgs/development/tools/ocaml/findlib/default.nix +++ b/pkgs/development/tools/ocaml/findlib/default.nix @@ -5,11 +5,11 @@ let in stdenv.mkDerivation { - name = "ocaml-findlib-1.4"; + name = "ocaml-findlib-1.4.1"; src = fetchurl { - url = http://download.camlcity.org/download/findlib-1.4.tar.gz; - sha256 = "1y5xy6crldyh8pl9ca2cj31igbjfkicr9zqkq9p1fccxszjnah3f"; + url = http://download.camlcity.org/download/findlib-1.4.1.tar.gz; + sha256 = "0cdbr716r5686zvf86b9zm5ikdz0dw727m67b1f4rjjisp5v2zyf"; }; buildInputs = [m4 ncurses ocaml]; @@ -53,6 +53,7 @@ stdenv.mkDerivation { platforms = ocaml.meta.platforms; maintainers = [ stdenv.lib.maintainers.z77z + stdenv.lib.maintainers.vbmithr ]; }; } diff --git a/pkgs/development/tools/parsing/alex/3.0.5.nix b/pkgs/development/tools/parsing/alex/3.0.5.nix index f85aa42d165..c4458f7b829 100644 --- a/pkgs/development/tools/parsing/alex/3.0.5.nix +++ b/pkgs/development/tools/parsing/alex/3.0.5.nix @@ -1,4 +1,4 @@ -{ cabal, fetchurl, perl, QuickCheck }: +{ cabal, fetchpatch, perl, QuickCheck }: cabal.mkDerivation (self: { pname = "alex"; @@ -8,7 +8,7 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ QuickCheck ]; buildTools = [ perl ]; - patches = [ (fetchurl { url="https://github.com/simonmar/alex/pull/21.patch"; sha256="0apv3rk00gwkf5rqw3467bg6pnamr07zdksbp9khhzzi73k9aq4f"; }) ]; + patches = [ (fetchpatch { url="http://github.com/simonmar/alex/pull/21.patch"; sha256="050psfwmjlxhyxiy65jsn3v6b9rnfzy8x5q9mmhzwbirqwi0zkfm"; }) ]; 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/flex/2.5.39.nix b/pkgs/development/tools/parsing/flex/2.5.39.nix index c5337d647de..f12f89f6e24 100644 --- a/pkgs/development/tools/parsing/flex/2.5.39.nix +++ b/pkgs/development/tools/parsing/flex/2.5.39.nix @@ -12,6 +12,10 @@ stdenv.mkDerivation { 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 diff --git a/pkgs/development/tools/parsing/happy/1.19.3.nix b/pkgs/development/tools/parsing/happy/1.19.3.nix index b1a03fa3b9f..c43806cd2df 100644 --- a/pkgs/development/tools/parsing/happy/1.19.3.nix +++ b/pkgs/development/tools/parsing/happy/1.19.3.nix @@ -8,6 +8,10 @@ cabal.mkDerivation (self: { isExecutable = true; buildDepends = [ mtl ]; buildTools = [ perl ]; + preConfigure = self.stdenv.lib.optional (self.stdenv.lib.versionOlder "7.9" self.ghc.version) '' + sed -i -e 's|extensions: |extensions: FlexibleContexts, |' happy.cabal + sed -i -e 's|> import System.Exit|> import System.Exit ( exitWith, ExitCode(..) )|' src/Main.lhs + ''; meta = { homepage = "http://www.haskell.org/happy/"; description = "Happy is a parser generator for Haskell"; diff --git a/pkgs/development/tools/sigrok-cli/default.nix b/pkgs/development/tools/sigrok-cli/default.nix new file mode 100644 index 00000000000..b2e6dea09e6 --- /dev/null +++ b/pkgs/development/tools/sigrok-cli/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, glib, libsigrok, libsigrokdecode }: + +stdenv.mkDerivation rec { + name = "sigrok-cli-0.5.0"; + + src = fetchurl { + url = "http://sigrok.org/download/source/sigrok-cli/${name}.tar.gz"; + sha256 = "0g3jzspq9iwz2szzxil9ilim1and85qd605f4jbc04sva80hb8vk"; + }; + + buildInputs = [ pkgconfig glib libsigrok libsigrokdecode ]; + + meta = with stdenv.lib; { + description = "Command-line frontend for the sigrok signal analysis software suite"; + homepage = http://sigrok.org/; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix index 86c8b923cca..9741b0930d2 100644 --- a/pkgs/development/tools/slimerjs/default.nix +++ b/pkgs/development/tools/slimerjs/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="slimerjs"; - version="0.9.0"; + version="0.9.1"; name="${baseName}-${version}"; - hash="1b4c299gk20mqb91929jan9ldhwy3jska75wvil9vdmgjrr8496m"; - url="http://download.slimerjs.org/v0.9/0.9.0/slimerjs-0.9.0.zip"; - sha256="1b4c299gk20mqb91929jan9ldhwy3jska75wvil9vdmgjrr8496m"; + hash="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k"; + url="http://download.slimerjs.org/v0.9/0.9.1/slimerjs-0.9.1.zip"; + sha256="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k"; }; buildInputs = [ unzip zip diff --git a/pkgs/development/tools/yuicompressor/default.nix b/pkgs/development/tools/yuicompressor/default.nix new file mode 100644 index 00000000000..5dcc30811e2 --- /dev/null +++ b/pkgs/development/tools/yuicompressor/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "yuicompressor"; + version = "2.4.8"; + src = fetchurl { + url = "http://github.com/yui/yuicompressor/releases/download/v${version}/${name}-${version}.jar"; + sha256 = "1qjxlak9hbl9zd3dl5ks0w4zx5z64wjsbk7ic73r1r45fasisdrh"; + }; + + meta = { + description = "A JavaScript and CSS minifier"; + maintainers = [ stdenv.lib.maintainers.jwiegley ]; + platforms = stdenv.lib.platforms.all; + homepage = http://yui.github.io/yuicompressor/; + license = stdenv.lib.licenses.bsd3; + }; + + buildCommand = '' + ensureDir $out/lib + ln -s $src $out/lib/yuicompressor.jar + ''; +} diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix index b7cd7f32893..544634626b0 100644 --- a/pkgs/development/web/nodejs/build-node-package.nix +++ b/pkgs/development/web/nodejs/build-node-package.nix @@ -8,7 +8,7 @@ let npmFlags = concatStringsSep " " (map (v: "--${v}") flags); sources = runCommand "node-sources" {} '' - tar xf ${nodejs.src} + tar --no-same-owner -xf ${nodejs.src} mv *node* $out ''; diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix index 062d7f4ec06..4b79a500b1f 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, which }: let dtrace = runCommand "dtrace-native" {} '' @@ -6,12 +6,16 @@ let ln -sv /usr/sbin/dtrace $out/bin ''; - version = "0.10.26"; + version = "0.10.28"; # !!! Should we also do shared libuv? deps = { - inherit v8 openssl zlib http-parser; + inherit openssl zlib http-parser; cares = c-ares; + + # disabled system v8 because v8 3.14 no longer receives security fixes + # we fall back to nodejs' internal v8 copy which receives backports for now + # inherit v8 }; sharedConfigureFlags = name: [ @@ -26,7 +30,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz"; - sha256 = "1ahx9cf2irp8injh826sk417wd528awi4l1mh7vxg7k8yak4wppg"; + sha256 = "043pc6sb3y2b0aiakmmjvzvafgki7wly0id0v1p8y80g3r2cdpdb"; }; configureFlags = concatMap sharedConfigureFlags (builtins.attrNames deps); @@ -41,7 +45,7 @@ in stdenv.mkDerivation { (cd tools/gyp; patch -Np1 -i ${../../python-modules/gyp/no-darwin-cflags.patch}) '' else null; - buildInputs = [ python ] + buildInputs = [ python which ] ++ (optional stdenv.isLinux utillinux) ++ optionals stdenv.isDarwin [ pkgconfig openssl dtrace ]; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/web/remarkjs/default.nix b/pkgs/development/web/remarkjs/default.nix new file mode 100644 index 00000000000..bf96175b8cd --- /dev/null +++ b/pkgs/development/web/remarkjs/default.nix @@ -0,0 +1,66 @@ +{ stdenv, lib, fetchgit, fetchurl, nodejs, nodePackages }: + +with lib; + +let + + # highlight.js is a git submodule of remark + highlightjs = fetchgit { + url = https://github.com/isagalaev/highlight.js; + rev = "10b9500b67983f0a9c42d8ce8bf8e8c469f7078c"; + sha256 = "1yy8by15kfklw8lwh17z1swpj067q0skjjih12yawbryraig41m0"; + }; + +in stdenv.mkDerivation rec { + name = "remarkjs-${version}"; + + version = "0.6.4"; + + src = fetchurl { + url = "https://github.com/gnab/remark/archive/v${version}.tar.gz"; + sha256 = "0sdhpn91b05qdqfqbfrhkfx8rkqrgm9pqg4bgjhxf9prfjhvmlrn"; + }; + + buildInputs = with nodePackages; [ + nodejs + marked + browserify + uglify-js + less + mocha + mocha-phantomjs + phantomjs + should + sinon + jshint + shelljs + ]; + + configurePhase = '' + mkdir -p node_modules/.bin + ${concatStrings (map (dep: '' + test -d ${dep}/bin && (for b in $(ls ${dep}/bin); do + ln -sv -t node_modules/.bin ${dep}/bin/$b + done) + '') buildInputs)} + ''; + + buildPhase = '' + substituteInPlace make.js --replace "target.test();" "" + substituteInPlace make.js --replace vendor/highlight.js ${highlightjs} + node make all + ''; + + installPhase = '' + mkdir -p $out/lib + cp -v out/* $out/lib/ + ''; + + meta = { + homepage = http://remarkjs.com; + description = "A simple, in-browser, markdown-driven slideshow tool."; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.mit; + }; +} diff --git a/pkgs/games/MazesOfMonad/default.nix b/pkgs/games/MazesOfMonad/default.nix deleted file mode 100644 index 0e2abf6d7c7..00000000000 --- a/pkgs/games/MazesOfMonad/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ cabal, filepath, HUnit, mtl, random, regexPosix, time }: - -cabal.mkDerivation (self: { - pname = "MazesOfMonad"; - version = "1.0.7"; - sha256 = "1zk6bckll03b40iq8z13753glkmcan6439w8cc6rn5h2fhp189v9"; - isLibrary = false; - isExecutable = true; - buildDepends = [ filepath HUnit mtl random regexPosix time ]; - meta = { - description = "Console-based Role Playing Game"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix index 720be6fb1d2..77891f43881 100644 --- a/pkgs/games/anki/default.nix +++ b/pkgs/games/anki/default.nix @@ -6,13 +6,13 @@ let py = pythonPackages; - version = "2.0.22"; + version = "2.0.26"; in stdenv.mkDerivation rec { name = "anki-${version}"; src = fetchurl { url = "http://ankisrs.net/download/mirror/${name}.tgz"; - sha256 = "1bnjzf8050hrs3iiaak0m07sxj07vqic677llg2g6iarg9ws8x26"; + sha256 = "0w1dn2v6mbyq4dfyjskx51qwfqy6jpskpg4v5pzrv30big274p4q"; }; pythonPath = [ pyqt4 py.pysqlite py.sqlalchemy py.pyaudio ] diff --git a/pkgs/games/chessdb/default.nix b/pkgs/games/chessdb/default.nix new file mode 100644 index 00000000000..381e35632a6 --- /dev/null +++ b/pkgs/games/chessdb/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, tcl, tk, libX11, makeWrapper }: + +stdenv.mkDerivation { + name = "chessdb-3.6.19-beta-1"; + + src = fetchurl { + url = mirror://sourceforge/chessdb/ChessDB-3.6.19-beta-1.tar.gz; + sha256 = "0brc3wln3bxp979iqj2w1zxpfd0pch8zzazhdmwf7acww4hrsz62"; + }; + + buildInputs = [ tcl tk libX11 makeWrapper ]; + + makeFlags = [ + "BINDIR=$(out)/bin" + "SHAREDIR=$(out)/share/chessdb" + "SOUNDSDIR=$(out)/share/chessdb/sounds" + "TBDIR=$(out)/share/chessdb/tablebases" + "MANDIR=$(out)/man" + ]; + + postInstall = '' + wrapProgram $out/bin/chessdb --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}" + ''; + + meta = { + homepage = http://chessdb.sourceforge.net/; + description = "ChessDB is a free chess database"; + }; +} diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix index 4de74bde5a1..57d055ed3d3 100644 --- a/pkgs/games/construo/default.nix +++ b/pkgs/games/construo/default.nix @@ -25,6 +25,5 @@ stdenv.mkDerivation rec { (textClosure localDefs ["preConfigure" "doConfigure" "doMakeInstall" "doForceShare" "doPropagate"]); meta = { description = "Construo masses and springs simulation"; - inherit src; }; } diff --git a/pkgs/games/crafty/default.nix b/pkgs/games/crafty/default.nix new file mode 100644 index 00000000000..e0eb49b53cb --- /dev/null +++ b/pkgs/games/crafty/default.nix @@ -0,0 +1,666 @@ +{ stdenv, fetchurl, unzip, fullVariant ? false }: + +stdenv.mkDerivation rec { + name = "crafty-${version}"; + version = "23.4"; + + src = fetchurl { + url = "http://www.craftychess.com/crafty-${version}.zip"; + sha256 = "0rhf4pfxcwj8hqd7bqj98fpdd80v6ss1jnc9kgwx2fw4ksdi37pl"; + }; + + bookBin = fetchurl { + url = http://www.craftychess.com/book.bin; + sha256 = "1j8f33iks4xf19bpv2mpvxrnlm5w1f5fbnxcrxasg9p7w600wyb8"; + }; + + startPgn = fetchurl { + url = http://www.cis.uab.edu/hyatt/crafty/pgn/start.pgn; + sha256 = "08c066acqwgr19jkaizdbzdpcm3ld5nsixv5wp9pnc37b8w9f0vm"; + }; + + enormousPgn = stdenv.lib.optionalString fullVariant (fetchurl { + url = http://www.cis.uab.edu/hyatt/crafty/pgn/enormous.zip; + sha256 = "001574gz3881xfvhlc2wy6pg66c4sh0q2ms42swwvq0l80syz6y2"; + }); + + tableBases345 = + let root = http://www.cis.uab.edu/hyatt/crafty/TB/3-4-5/; + in stdenv.lib.optionals fullVariant (map fetchurl [ + { url = root + "kbbbk.nbb.emd"; + sha256 = "1yssskq32x22ki67ja7azvlglz0vgq6d6awdz4avj1k72nbcs90g"; } + { url = root + "kbbbk.nbw.emd"; + sha256 = "0n0hy09pnp0ldxkrvs1gz1ch7px0hzj1ni7iicfy7y9zhsqaky2r"; } + { url = root + "kbbk.nbb.emd"; + sha256 = "1gyd2p546rapisbzjpqm1kbdlsj77yw46lr5wx28sng11wkz8xnk"; } + { url = root + "kbbk.nbw.emd"; + sha256 = "1gvl0vw9k22wkas8mzdik2ynnykgiisp8smyf97i0v7h1y7bxsx5"; } + { url = root + "kbbkb.nbb.emd"; + sha256 = "0zk12q2d3xfbj7zv9jkk0p1gzj7n640jynx7nkcfhmpz9qvjz5d1"; } + { url = root + "kbbkb.nbw.emd"; + sha256 = "1kw68pbs12cjf0gg40j5b694zdyffprjblf56czgyj8xpfz219x9"; } + { url = root + "kbbkn.nbb.emd"; + sha256 = "0gibrw89zlz93sdi8bkhy0pkfcgl4sswbm3vg6fgp752cwsvksiv"; } + { url = root + "kbbkn.nbw.emd"; + sha256 = "0v781yid5g57y3raw5pqhr2cb8zm0rscim0zszypp4piz22pb60h"; } + { url = root + "kbbkp.nbb.emd"; + sha256 = "1y2nxqqd7fhk7x2fc3dxidqlcrgcbwd9gkk4bggay3xds9m5nhrg"; } + { url = root + "kbbkp.nbw.emd"; + sha256 = "0py5adrciqbs0cdwh1lz5q8ldkyvqbc7rx4995k6kvlq4nh95qam"; } + { url = root + "kbbkq.nbb.emd"; + sha256 = "141jkx0ifb91b5nwps4xssvvcm1fny8ng1zxqsjb1n9dgsigsna7"; } + { url = root + "kbbkq.nbw.emd"; + sha256 = "0iknfd1rjm4ar4gycg0yzw5dbf7hs3y1fnb3s9abypk8pkn8ga9d"; } + { url = root + "kbbkr.nbb.emd"; + sha256 = "0jpp1f0rgglrn7gc36v7y38rivwl68s6gr2p15lqdvngismmyp13"; } + { url = root + "kbbkr.nbw.emd"; + sha256 = "0gqs5bxg6kv4nw0sl0drfs9p043q10ic6d9il0rlvs6qds6d9bv0"; } + { url = root + "kbbnk.nbb.emd"; + sha256 = "0x7q6clkhfv3scqyyj42b8r7jkd99v396pmih2f10a4scca3glxc"; } + { url = root + "kbbnk.nbw.emd"; + sha256 = "1qry3mpl1rjsjasayfxhh6abnm7arfdljnz9q2n5v769kaqx1bx3"; } + { url = root + "kbbpk.nbb.emd"; + sha256 = "1y2vx6i351nbfrbg5qkjyp9ys8vkb45i5101gz8fx1w3pkxq9312"; } + { url = root + "kbbpk.nbw.emd"; + sha256 = "16jkjb1ljyck5k4mr3pwxasxb1l08h7mcc0iigjlgzrnvsc38nrb"; } + { url = root + "kbk.nbb.emd"; + sha256 = "162jy1dm8h35p5yxz9ii5y3bwspgf1xy4m0hhdxzqm3an8f2i7nr"; } + { url = root + "kbk.nbw.emd"; + sha256 = "1lks1fccaikrc455cadkw1h1012jk6nqfmqzi40ilmlckc3i7pnj"; } + { url = root + "kbkb.nbb.emd"; + sha256 = "1hvkp65jp5jd3j7rp9wivrfcwgr42kd4kbj9n2sk68nqbdw5j4h1"; } + { url = root + "kbkb.nbw.emd"; + sha256 = "1hvkp65jp5jd3j7rp9wivrfcwgr42kd4kbj9n2sk68nqbdw5j4h1"; } + { url = root + "kbkn.nbb.emd"; + sha256 = "1cwzqb64q7br94pc1wbp86k4fpcii14wcsj3f7l5n9mmgrzk3y9k"; } + { url = root + "kbkn.nbw.emd"; + sha256 = "17wnagdkc25d6daqa3cmr0923k4d98jjzpw1h4g70r19zrnczjn5"; } + { url = root + "kbkp.nbb.emd"; + sha256 = "05mcmbwwrp4iljlw0ba7d6vgh0w1pl5a1vsmvsg56k4npx6npc95"; } + { url = root + "kbkp.nbw.emd"; + sha256 = "1jsh96mrhshj07x9sv3prl4zzhpl2xmdr6znxshyr461481b6g7m"; } + { url = root + "kbnk.nbb.emd"; + sha256 = "0k6bn47hdj36szqcbh66wcbv3ygxv6cm0zj36rl9n1c7rc9j7p4g"; } + { url = root + "kbnk.nbw.emd"; + sha256 = "0rhkzsw9zw36zckjic6dd95psx90fr4d8rzbhkqskh8l945cyxky"; } + { url = root + "kbnkb.nbb.emd"; + sha256 = "10mblq1n0m0ipfs4zdnnay6dmwafshb8l5mynfrn5wiaf26jysvz"; } + { url = root + "kbnkb.nbw.emd"; + sha256 = "0h90b4a6m7pp0qfc1anm30ffqwmaj3h1zslsbivw4k8i0jnpfqax"; } + { url = root + "kbnkn.nbb.emd"; + sha256 = "009rw6czd9zagly7nz43rd9vq60h57mfrlzx02cchn1ydsr6cnj2"; } + { url = root + "kbnkn.nbw.emd"; + sha256 = "03harm479g91s2lb5ixk27n50kj15qjz8784nn1rmmcicisj4z7c"; } + { url = root + "kbnkp.nbb.emd"; + sha256 = "0y737si4zrf8ac9jmn9sbwylcd1yvcxn5ihn128p2kan3956fpdv"; } + { url = root + "kbnkp.nbw.emd"; + sha256 = "1902fn3pwrslxi4rv8lrahwq3hakz9kfq70b8c0hqshf44h06ggi"; } + { url = root + "kbnkq.nbb.emd"; + sha256 = "112chi9pw5fqrpv4q4a9p8jc5zld8wkiwd9y71rky09z7zng4vy5"; } + { url = root + "kbnkq.nbw.emd"; + sha256 = "1m1pdsq9zl9g2fs2gjp76za3qmdrv0k1ngxvz3cjyh3p08lixca0"; } + { url = root + "kbnkr.nbb.emd"; + sha256 = "13nkcvcn70g3q5fgrhbc8qs0i0fl7k78m5pxdgmijbkax52kpfgl"; } + { url = root + "kbnkr.nbw.emd"; + sha256 = "0kjplgzbza4wp8aqf7b4k9nqg0vzdj0q6nj90sg7ssiw2w95z1jz"; } + { url = root + "kbnnk.nbb.emd"; + sha256 = "1v3a5fi2fnh9mr9j59dv8jw2inx55jsfg9ypn92dgdmmlwg688yr"; } + { url = root + "kbnnk.nbw.emd"; + sha256 = "096l2zpi7ywrqsapkz47pcivkh2igsdmxb8szd9gq8ylylrsma37"; } + { url = root + "kbnpk.nbb.emd"; + sha256 = "1011x2w59fjn89nd8yqhvjcxdwla4chifwvx3hml2g82rfqgmw5r"; } + { url = root + "kbnpk.nbw.emd"; + sha256 = "1nvqwv6akdr5acs9cdcf1zircw351fmf433niyc7blzqa0nng7n1"; } + { url = root + "kbpk.nbb.emd"; + sha256 = "1bbyr59kapp6f2r4mn1b79668b6gf1j0pwh6f3fcym7xms7gg28k"; } + { url = root + "kbpk.nbw.emd"; + sha256 = "0bn70m7g225mpbs1s7vpw5swd12wwziryp25sv2z5xpg03y7zm10"; } + { url = root + "kbpkb.nbb.emd"; + sha256 = "0clwycpzqklasqw5igk74sm9w6wqwx6h8dbqajpccq3l6ipf2ylx"; } + { url = root + "kbpkb.nbw.emd"; + sha256 = "0w7sf6q3m2hn9ix7lyg1c8casz3qxnzqvfvsbsda46xx5chrp7wh"; } + { url = root + "kbpkn.nbb.emd"; + sha256 = "052fi7b56qq46pc4hvr5wpxkr0gv7wq0cnp5550qbr7an446nbri"; } + { url = root + "kbpkn.nbw.emd"; + sha256 = "1lbwj845qff7y51iw4fybqvpcbh9r5jlfphmhidzdkjhd2gflb0j"; } + { url = root + "kbpkp.nbb.emd"; + sha256 = "1ybzqw8fjqal6n6isy2m9rhhykd8g81slvc5m55ccald63zalk43"; } + { url = root + "kbpkp.nbw.emd"; + sha256 = "139dm4709pvzxn6aixfsbv88ly0cjn6dk7khr1sjf2x17c21mj69"; } + { url = root + "kbpkq.nbb.emd"; + sha256 = "0640xw9hasgif9cxyskpp397dzvhwnpkcfyn33d4vbi4r0cbdv81"; } + { url = root + "kbpkq.nbw.emd"; + sha256 = "13yhn55y65pl6bh67hlfjlwj3mm4w6gy1y34qypgc7kck0rrygn6"; } + { url = root + "kbpkr.nbb.emd"; + sha256 = "03avk4igjdyh6ayh3xm0ds8agmqhagyxmv3s8g8830qk3a6frkz3"; } + { url = root + "kbpkr.nbw.emd"; + sha256 = "0vqkywgxkys0dxnx0sv35kzx9fxhqzbnk4qskjzd1fw9ck21pnad"; } + { url = root + "kbppk.nbb.emd"; + sha256 = "0i4zgsp7izp789chl1vlp93dy567schz96my19vgki1y3ifx4wkz"; } + { url = root + "kbppk.nbw.emd"; + sha256 = "0ki9a0f5cp7ma9zrabjrz5alk6d3xihl388j1h9ii4g52g1zci3v"; } + { url = root + "knk.nbb.emd"; + sha256 = "162jy1dm8h35p5yxz9ii5y3bwspgf1xy4m0hhdxzqm3an8f2i7nr"; } + { url = root + "knk.nbw.emd"; + sha256 = "0irmycxkah9j5qf9inmrz6cvjv8i894vzg5378qmazkpgpmzvix8"; } + { url = root + "knkn.nbb.emd"; + sha256 = "0gwxp4q8wk9vsw4zprh3psrjdxkr3rjx0q3k3iqlf9y3rb6yy0hv"; } + { url = root + "knkn.nbw.emd"; + sha256 = "0gwxp4q8wk9vsw4zprh3psrjdxkr3rjx0q3k3iqlf9y3rb6yy0hv"; } + { url = root + "knkp.nbb.emd"; + sha256 = "1cfav9xgsmvs44j4irw1mx04phszlasz96i26ik8lw8wjdl8x6vx"; } + { url = root + "knkp.nbw.emd"; + sha256 = "0p560zfmixmcizy60f13lz5a3yd83w7bz06cac0nj0myv4m4s6yp"; } + { url = root + "knnk.nbb.emd"; + sha256 = "1w1dh6lmmrxjfi6srmznqvc7frzxhrs48f5g0jijb410y2c26y0l"; } + { url = root + "knnk.nbw.emd"; + sha256 = "1a9nvqk0w2xhwx5d2ia35z8g2xcsg2kh59ca1jwbvx9sh438b2xh"; } + { url = root + "knnkb.nbb.emd"; + sha256 = "1r8g6ml0hi6fxmff396wjnff76csrq47si1s0qsy1cdfkvax7yyn"; } + { url = root + "knnkb.nbw.emd"; + sha256 = "1v74lhr44s0plxab7qhn4crf55hhp4j7w2mr090sfxz0bzk7cb78"; } + { url = root + "knnkn.nbb.emd"; + sha256 = "1fy4ksqncjv0iqf0papy8hb353di0k39aq0jqh5jvshl9vmspz15"; } + { url = root + "knnkn.nbw.emd"; + sha256 = "1qgprlkaqfwfjkmc048faz2j8y1n46mqp3dfpdnn9ps1x3iqvs0f"; } + { url = root + "knnkp.nbb.emd"; + sha256 = "1xhsjq79nb7zgqgyjp0v6n0g8r37x2csa5svyz8ndsax9hrxc1r7"; } + { url = root + "knnkp.nbw.emd"; + sha256 = "08pxmb0sdppims2lfl0zi42rsh3dlrdbl7vq2rs8v0b470q4j5jx"; } + { url = root + "knnkq.nbb.emd"; + sha256 = "00y7vv6ajzr9kgwx8gk7wap7ncb9dg086iv3lwki6qcwvy14bxql"; } + { url = root + "knnkq.nbw.emd"; + sha256 = "09brsqvzwx4fmf7a6ljqcabx2isqfv1mmvsjb453wmhx98fkglj3"; } + { url = root + "knnkr.nbb.emd"; + sha256 = "01df21j4zdwb4dfngjrr4797b1ipdajs1730i4gajcbm4hqigi69"; } + { url = root + "knnkr.nbw.emd"; + sha256 = "0q0jxmqc57s22vlbk98dbb7c2zmzs6g6chlg42sw156j9414jdfb"; } + { url = root + "knnnk.nbb.emd"; + sha256 = "0jxlaqkbdxhw45p8y4g5ggryzc6l7s159fdlw0bi5ipcp40afpvg"; } + { url = root + "knnnk.nbw.emd"; + sha256 = "0782r7r4b4qmy3afrdmj5l0vlp5sgr33v0h0cigxghfmf19xhgdl"; } + { url = root + "knnpk.nbb.emd"; + sha256 = "0cxj1mxdz8hmjlzhnc7j4cdi5jkcj1l0xfrz4l4z4az7f4ad91ci"; } + { url = root + "knnpk.nbw.emd"; + sha256 = "13y2picx7c814hfsq3bb95js9s3bng85mblhhb7i12yqhddrzyx0"; } + { url = root + "knpk.nbb.emd"; + sha256 = "03xah0j9n427nvqwym0ay84zg831v26x3gnp1zkpg1072r78d2p2"; } + { url = root + "knpk.nbw.emd"; + sha256 = "10lv54gs3pgqqmndlihvjfbrfiqzgzfl7a127nchfyb12f9y91zz"; } + { url = root + "knpkb.nbb.emd"; + sha256 = "1jiihs0cd5jx2hwv99vb3n3iahqwz6ja60zk5nbr17cxzhw0g2ng"; } + { url = root + "knpkb.nbw.emd"; + sha256 = "19jxzp7v90hd1j6i109z03vdq81cndmlvmbb65fm2mc4ffrwms83"; } + { url = root + "knpkn.nbb.emd"; + sha256 = "1yqjxxhc0fq2jvsqifw8my8lzfs2fgn6z8c2lgvak8ag2mi57ka8"; } + { url = root + "knpkn.nbw.emd"; + sha256 = "1kh8sh9vscig0kkwvz79i3gk582xrgll8f4jlqw219f80ckh2ry6"; } + { url = root + "knpkp.nbb.emd"; + sha256 = "1sd46as18ciml1nyzwh8v5qm5slhchbv15yv4qhcaga7cmljy9w5"; } + { url = root + "knpkp.nbw.emd"; + sha256 = "0p8cwryphz16j2yihg7c1szx20s9mxzbgc7y6ddigvhafa19fc1d"; } + { url = root + "knpkq.nbb.emd"; + sha256 = "03vaswq917maa1wxfkilcxjxvm9srnwzmzq1sq36q3h3dlcv23mp"; } + { url = root + "knpkq.nbw.emd"; + sha256 = "1wmnipmacrbwggr1n63zdivvy9haqs96rkn458xswpmvks5fbyqj"; } + { url = root + "knpkr.nbb.emd"; + sha256 = "1ngpj8iaz6si5i3vxri8k8ajpaim71caldxal28djkpmw91yqil6"; } + { url = root + "knpkr.nbw.emd"; + sha256 = "1hqm6xp361iqdn7ayw6zvdk068iz2mwdz6sr087cr7gc0mim2ndw"; } + { url = root + "knppk.nbb.emd"; + sha256 = "1mphpswq01v7d0pxij12nd1lpiz683gp0zgwnz0nyninwsmpq08v"; } + { url = root + "knppk.nbw.emd"; + sha256 = "1m8l9jy96nxvqk48y73yj8b996q2gza1h448rrl00hjn1apbmjf3"; } + { url = root + "kpk.nbb.emd"; + sha256 = "1xgbahdym0nbj63rc6rwgiwzss8xw3ra4lg03z46666hwykx8gxp"; } + { url = root + "kpk.nbw.emd"; + sha256 = "1clkwzf3nb8lzrrs3gg4m9j5wh7z66ihra8gyz8majpjbhcz86an"; } + { url = root + "kpkp.nbb.emd"; + sha256 = "06jsna3795gjlymnrxmscgxnz9ic1i648hr6v5vfagf8lmqi9nq4"; } + { url = root + "kpkp.nbw.emd"; + sha256 = "1gplq6ksq4kvwramx137ncl6giwcm8rg3q8xmyqk1mq10dwcjfbp"; } + { url = root + "kppk.nbb.emd"; + sha256 = "11xlmyw2hx26mkca4bid4qg62yxd0pspgmb40l9kf6h0yjzq4q07"; } + { url = root + "kppk.nbw.emd"; + sha256 = "0j4dmlsm5i7rwrw7kkiq8j7zmcwvb6w38g41kfslm4sv6nm5mvjs"; } + { url = root + "kppkb.nbb.emd"; + sha256 = "0w2yzi0l3jdnr88my8gcsqy72crkm9ppyiy8wl629lpcbrwj75x6"; } + { url = root + "kppkb.nbw.emd"; + sha256 = "06f1h0x6rcsq9kag1fcz9z47hpffr4w9q171rkspd8ffpfzqq7za"; } + { url = root + "kppkn.nbb.emd"; + sha256 = "0wmkn2i8z7m4j93hid2z2ns31kg4yhn939lfkvglfdvrgqjn1kh9"; } + { url = root + "kppkn.nbw.emd"; + sha256 = "1ky4zcwyv5rn4g0h490s6l8vin6rwdv156ial7iczaq8hf70yhkm"; } + { url = root + "kppkp.nbb.emd"; + sha256 = "1ivfxjphcld71cg4rvvq9rvnkpidh6apd52jf2cv42fvx313d9mq"; } + { url = root + "kppkp.nbw.emd"; + sha256 = "1ymvp0z6jhrqi2hz87c81r54m9sdjpm91pvxwbx061yfbdpv230z"; } + { url = root + "kppkq.nbb.emd"; + sha256 = "018cy2q2dvhxjh80prjxg6fx1lal50qc5mzzbfy0xlkk1l1y4sk5"; } + { url = root + "kppkq.nbw.emd"; + sha256 = "0k4jlzcn213h8303jl3hkdapd9z8dhazsa22zac0bg52488r07gj"; } + { url = root + "kppkr.nbb.emd"; + sha256 = "187pjqvp7kzyxkncp51c3vi26khimabkw5b3nyaj498jqjjlfa23"; } + { url = root + "kppkr.nbw.emd"; + sha256 = "0mkrap8dizwxhhiij2xzlvbn8q9hrlsfvkcfcxajn8azaxnhx3ck"; } + { url = root + "kpppk.nbb.emd"; + sha256 = "10spzc39zks7pwa2qy8aps5hk0z4xsxq1lpfwd61qwm5hazci391"; } + { url = root + "kpppk.nbw.emd"; + sha256 = "1wx48xyb1xl5v7gjrahby8psig1gs9dipsj6iq44d052qr56513j"; } + { url = root + "kqbbk.nbb.emd"; + sha256 = "1zvacin043njqws2nwiylch5dan28yis3ybcjb3zvmkdxyy8qzrh"; } + { url = root + "kqbbk.nbw.emd"; + sha256 = "1s5likpps43bxplsv5yrqqnh2xzakibcknn6jh67xwdvl2v4jfz5"; } + { url = root + "kqbk.nbb.emd"; + sha256 = "1814l1cgfphzl4v7k3hnwi21ydzfzyr7xzbh05dw3mnm0dsg9gzk"; } + { url = root + "kqbk.nbw.emd"; + sha256 = "0xpmqr99qscrqjk5rzb7cgkjpcz4cmp6gngfsy8hq7530a4nknxk"; } + { url = root + "kqbkb.nbb.emd"; + sha256 = "1jpl4nx4ddwnz455433508ibxywsrccb098infn992gs7wqqjsi2"; } + { url = root + "kqbkb.nbw.emd"; + sha256 = "0krx6irqv0gvdy7hknhwa6gj2zwiv9rnjk2qlf2cy6xsldzn6af7"; } + { url = root + "kqbkn.nbb.emd"; + sha256 = "09xsg79xajh1g2d9nvms61pjgb13x6fc0nhw58nnfg28nbvjzz1n"; } + { url = root + "kqbkn.nbw.emd"; + sha256 = "0gb8pdsd77fmjd09h7ri1z8rrparqn5xa56dwi4yd4hhwsb8c4fq"; } + { url = root + "kqbkp.nbb.emd"; + sha256 = "07h1zzaic2qh2140wvcq0hvhmkv0j9h7rchm3avsk7m6ma98d7zi"; } + { url = root + "kqbkp.nbw.emd"; + sha256 = "13lffpplxis2a5949wnq998262idiydg2b2pz5np3mxyppc48r61"; } + { url = root + "kqbkq.nbb.emd"; + sha256 = "09l20wcjcvmncz97j4107q3ch81dgzmx7i86m6pzifhy8mrn2cll"; } + { url = root + "kqbkq.nbw.emd"; + sha256 = "0vra23shpwlsiyzd8wd2m2ayrs4ig2943l90ps9xh1p6igjv1n9d"; } + { url = root + "kqbkr.nbb.emd"; + sha256 = "0gmzhzr1m751djfp6b71yrah04r89lq41nshvw02qp531aqp1xyq"; } + { url = root + "kqbkr.nbw.emd"; + sha256 = "1zz0fdfn463xa76xd8hg2hz8a1kaljka9l01z64vsqvn73nkd5fm"; } + { url = root + "kqbnk.nbb.emd"; + sha256 = "1m7krpj5sd6mvrsks39jyxkg8mvz7g15rwnn55kql2flpsw481q4"; } + { url = root + "kqbnk.nbw.emd"; + sha256 = "1q6jvhxjzcani3ls402n3ylhhmf8kd482in19d2ny0q7pqcimvy7"; } + { url = root + "kqbpk.nbb.emd"; + sha256 = "1pdc8kd3q9f8vgfqxymar3vkg1h9qbsfr614lhgbmpmpmn4zxqdj"; } + { url = root + "kqbpk.nbw.emd"; + sha256 = "0dcyxa92200g0dgq7lk018grhvwxzrhh6wrwqdk6g3v02g63h38d"; } + { url = root + "kqk.nbb.emd"; + sha256 = "1f0cdqyakzck0ng11smhk9kdkch9hbm3azniqv2wjg2wp9aj9s1n"; } + { url = root + "kqk.nbw.emd"; + sha256 = "0gzxgkxzfnlri5ypvx67k2mwq4xnwkm4hn4n9mqpl7fjwdj733w2"; } + { url = root + "kqkb.nbb.emd"; + sha256 = "0j3w39l4mnwm5nrrw0zcd4icdj8hgds792nhick2mfn40injwna6"; } + { url = root + "kqkb.nbw.emd"; + sha256 = "0q30gjvlfmx1ld4i0x2xj97i4i3w6q1vhl2q91w8dd84bw1cy1k8"; } + { url = root + "kqkn.nbb.emd"; + sha256 = "15aivg3vpc6y1g3gcnmssjnww9l7npy3g5xxq3wq99ai1mbgik7p"; } + { url = root + "kqkn.nbw.emd"; + sha256 = "1qqi3r6a5d74108xgdxx9qx4cxv7fkr9jpkrcizirzv30dp3cb4z"; } + { url = root + "kqkp.nbb.emd"; + sha256 = "0hlsmjn9baa1bplnwygxvgnkfn15fm9fhc6k39bfiacy7ai0zkka"; } + { url = root + "kqkp.nbw.emd"; + sha256 = "0ibx6xp2v980626xffb7khz8lfnxb9577w5zc6mlc892kinaf4gf"; } + { url = root + "kqkq.nbb.emd"; + sha256 = "0kc2d1qwlib2v71fhx11frk2a06lx1mvvddw83mmvyzca108ggz3"; } + { url = root + "kqkq.nbw.emd"; + sha256 = "0kc2d1qwlib2v71fhx11frk2a06lx1mvvddw83mmvyzca108ggz3"; } + { url = root + "kqkr.nbb.emd"; + sha256 = "13fabjhiq5psyvg2a1cbx16471g35il0lm3fsfdy4dpl9zr2pw58"; } + { url = root + "kqkr.nbw.emd"; + sha256 = "0hwy21k0a3qa6b1093904krdqrqrz5iwqsb0qxqqnwljpz8kr1zl"; } + { url = root + "kqnk.nbb.emd"; + sha256 = "0dy9d9fwaqvmr3x796a7vq5ynqnpw8b4l0zsm7nkvvd5sak1blxj"; } + { url = root + "kqnk.nbw.emd"; + sha256 = "0zdzqhg0ww4b79w3w3hjpwfar0r8fhk2yc8jknwzcc9q9rv9a78n"; } + { url = root + "kqnkb.nbb.emd"; + sha256 = "04zvc8s2rwcgr9chx3rmvr3shs47i75pwh1wph9wiy33jx5gw846"; } + { url = root + "kqnkb.nbw.emd"; + sha256 = "1v22rln9plikvchdxqii4m9kh9s0mahrxnsqs6i2kzcfphiqp3ns"; } + { url = root + "kqnkn.nbb.emd"; + sha256 = "0kwz1390brs60ri0mrvf3f64ax0yncnp6kpaf7nrw5v29s5cxpyz"; } + { url = root + "kqnkn.nbw.emd"; + sha256 = "0gvsx71nf0bhggk338rsmvbpajwa6j1ja09gchny6i9gvg9l0frs"; } + { url = root + "kqnkp.nbb.emd"; + sha256 = "169llq4dv4fsh8hvvwwrbc2b1iwklnqwqmhzv77q862cxs8rbcsa"; } + { url = root + "kqnkp.nbw.emd"; + sha256 = "1b1mgfh7hgiqv9a0dv1f7vr180g1mjxcg3nlx4zmpj0mzgwka39g"; } + { url = root + "kqnkq.nbb.emd"; + sha256 = "02za7wp2z1h1sd55mmkaa6i0bh3piwiz5ybpdrxk2amm54kvjmsj"; } + { url = root + "kqnkq.nbw.emd"; + sha256 = "0s9c4zfw4slp7lv373nkhlyafn3hpw9pv4543mm69c6cdnl04xhk"; } + { url = root + "kqnkr.nbb.emd"; + sha256 = "0nffvkdfs17b6n2hmy9i7ha793dn8an7ff9nd97z62zxxm63gmyp"; } + { url = root + "kqnkr.nbw.emd"; + sha256 = "1jqmbna1i5wqahqz2lalviv61y6ak379fhjcc9xg651dxfnjnmwh"; } + { url = root + "kqnnk.nbb.emd"; + sha256 = "1dlhfqmv5g3f9lvfgvy4h7x0xfkbn9pcsplb9kjlqg7qhkimcvbg"; } + { url = root + "kqnnk.nbw.emd"; + sha256 = "0zlg34ff2bp88q8bws2isswwa8ls0qncpzyzc3d1j6avkprwkq2i"; } + { url = root + "kqnpk.nbb.emd"; + sha256 = "0i436sxh5093zy03v6rjf6r0ydjmkmfj5fkxqk2qjjps2gc6jwsn"; } + { url = root + "kqnpk.nbw.emd"; + sha256 = "0yf7il0maiw8c9gam9cvnjgvywjk5k3pjvmgcy377yf31hgi209g"; } + { url = root + "kqpk.nbb.emd"; + sha256 = "11vl1p9qwqsdbxdppqg3n73868kd69kqhl6h6q1p47a4dq9lqldy"; } + { url = root + "kqpk.nbw.emd"; + sha256 = "02ik15sm3mdhyn76rnx8jvg7fma1m7njm55h6mqqqgqgbji0zzvi"; } + { url = root + "kqpkb.nbb.emd"; + sha256 = "0s7k9dh87s6msmqpv43csax632i5w5gzc2s4ijiy38kg0d3cgz31"; } + { url = root + "kqpkb.nbw.emd"; + sha256 = "115y0gshq2g6p6mfclxag1lvba3pz2rlyw8b6d5rykkapm299yvb"; } + { url = root + "kqpkn.nbb.emd"; + sha256 = "1i3wx9c7dk1sdig6kv4h3pa2m9ir1gd6qz7jyan9q18wvrpag12l"; } + { url = root + "kqpkn.nbw.emd"; + sha256 = "0iqxrgr1x2k3mfvhgckz9dya92wj8vddpv746gz86yi6n05wp373"; } + { url = root + "kqpkp.nbb.emd"; + sha256 = "0ifxixayrfhdp3yq04h55kjcgbly4390ghrhpvllc3mf6yrcg3sh"; } + { url = root + "kqpkp.nbw.emd"; + sha256 = "1hf8b4lvci0lm4skvxsw83c521q2x1i7yij8ih9j8ijyg64fivp8"; } + { url = root + "kqpkq.nbb.emd"; + sha256 = "0vy9ihcl80q2ml7lilgi007d7zx4r9knsyn8f63fqfa8x3m5rs6b"; } + { url = root + "kqpkq.nbw.emd"; + sha256 = "0xqngdyq8anfz1xqyg24nvwds7k7027j1l5pjwl22x0ipi7hda98"; } + { url = root + "kqpkr.nbb.emd"; + sha256 = "1c3xbrvsmyjz0ydc3xpw5hcxky20742d2jqwf7rrx5q223y11mlv"; } + { url = root + "kqpkr.nbw.emd"; + sha256 = "0fsi0d0czwvi2az56v2a4r0k78drybyqdda264gqjs53j65h02bp"; } + { url = root + "kqppk.nbb.emd"; + sha256 = "0995h6li6ixljxfs4xxy1bvmzj589h675bg8pkhbrmvimhja2nrf"; } + { url = root + "kqppk.nbw.emd"; + sha256 = "18hh8080s90qdacy6svhymfs4nw27x0p0s8km8p090rwk5si860a"; } + { url = root + "kqqbk.nbb.emd"; + sha256 = "15n425kcfjypwbxj1ck9v4rzd24lmd36kczhsi1cp2y6955vz9vp"; } + { url = root + "kqqbk.nbw.emd"; + sha256 = "1mjkgcblgsga7vib0410mdcjqh3dkc3xq8nx17p1hapinj987w8s"; } + { url = root + "kqqk.nbb.emd"; + sha256 = "0ihmqjiqycybci4zczrdv4c3a1bdz7l2qln0g43rbzwbkjsplykx"; } + { url = root + "kqqk.nbw.emd"; + sha256 = "0m0359yb17azb8s482i63fvqqy1b9idgklrj82rpbidasz41gj0m"; } + { url = root + "kqqkb.nbb.emd"; + sha256 = "0b9hm4pw01dal7lazb1qakjbgg5wg3nrn2bdjmkabfjgbrnh4hbm"; } + { url = root + "kqqkb.nbw.emd"; + sha256 = "1msk54xzbn41rhlyx9qkragihmg7yw2r5jc97lkvb7d8lwg6s59r"; } + { url = root + "kqqkn.nbb.emd"; + sha256 = "18d8nc25h33gd1qr6jmsbka3qmd8xjb2q1545959x6b4ch93cbsy"; } + { url = root + "kqqkn.nbw.emd"; + sha256 = "0i2mzllfklvv8bw0g6rjjrjkw71mvn8hsvqg6m7hhdq8lg5ajhyp"; } + { url = root + "kqqkp.nbb.emd"; + sha256 = "14y51vjw0r605pbjz0gvhc0x2w14ijxn3nilvpd5sdcnfh79kaax"; } + { url = root + "kqqkp.nbw.emd"; + sha256 = "11m1034gb608czhzrrj3fgpixq4rlvr92bzv7ga5r8wypwwycbdp"; } + { url = root + "kqqkq.nbb.emd"; + sha256 = "1cxyavw61qqpy15vrq51a0sjsd2lhya60cf33nnh9vb370amwqj9"; } + { url = root + "kqqkq.nbw.emd"; + sha256 = "1lrv2757bivjs9bsyh7ghj53halg3jz29xhnx7xhjrf48rpv6nxw"; } + { url = root + "kqqkr.nbb.emd"; + sha256 = "1m2r0myc2piqn4pcd3b9ngivrjg1j5viwsi9740dlb730dbvkzna"; } + { url = root + "kqqkr.nbw.emd"; + sha256 = "1767n2993dw5akbd3h6w570nbs5bncd8qid1dhgzfs9yxxzjplns"; } + { url = root + "kqqnk.nbb.emd"; + sha256 = "047950dbkh0mzpfb1klm51lmqzx1d90w6j7r4z8mc1nw4knh5cpp"; } + { url = root + "kqqnk.nbw.emd"; + sha256 = "0yd35ra0s0qckqymzi634bxp127arbrqzyj3s3xww82qsn6lbm07"; } + { url = root + "kqqpk.nbb.emd"; + sha256 = "08wbdhpa8vna39i226hg71r8a7ydp2vd2gh5prskr39vqj0k5pa3"; } + { url = root + "kqqpk.nbw.emd"; + sha256 = "1vyd4pvb8mhbdkm85njnqxg755biw0y68ylxfbnar8wna4dl27ds"; } + { url = root + "kqqqk.nbb.emd"; + sha256 = "0l0ichgik395z90h37zj6x4kcxpf0121zw57s8s0y51iwz61ikg9"; } + { url = root + "kqqqk.nbw.emd"; + sha256 = "0jmkd9n96al6sggva1kmdax8vxqprai9hhkxxvsk35wivcp8akk8"; } + { url = root + "kqqrk.nbb.emd"; + sha256 = "02wahvwixy5l3q9h57ayr2mxqs79zg8m2qh8cv3mms39csa9axzh"; } + { url = root + "kqqrk.nbw.emd"; + sha256 = "05rypafy4lgb53x8zx2qlvdrjm91aqr61hc7iwlpfikqqcbiksiw"; } + { url = root + "kqrbk.nbb.emd"; + sha256 = "0bk77dvdg5qx86rss0q9v8zl079g85p7snfgjpr30jpfv2z0a6p6"; } + { url = root + "kqrbk.nbw.emd"; + sha256 = "0mgamh4fqr6g063ic5qapdjng6jw35f82f0wjq8j9gv5w83s0vqs"; } + { url = root + "kqrk.nbb.emd"; + sha256 = "0vsadlphh4b6cgs4pizw44nfw4lhpq65dws44fc9z74sf32q0ibr"; } + { url = root + "kqrk.nbw.emd"; + sha256 = "1qq8jqzqzkcarhnc7ad6xp3s2f8r4crrxgj0ajciz2pkyc98xdh6"; } + { url = root + "kqrkb.nbb.emd"; + sha256 = "0bxmkjmqx7gjdaz78d31sbk7v67crx24dpbhswfg6b3xkhi8cy3f"; } + { url = root + "kqrkb.nbw.emd"; + sha256 = "0hhz4yxrcwvvc4b36ixlh3g8gdm4krhvip80xazcy538dwl26b29"; } + { url = root + "kqrkn.nbb.emd"; + sha256 = "13h7qa2zy9akdrvrwl7wmlpncgljjamc7asa9vpd76bi5mp0wrap"; } + { url = root + "kqrkn.nbw.emd"; + sha256 = "0ihcp5wh61cgq439nh5rn3qqhpyjl5h4xz9ayyma298fm2xw7w89"; } + { url = root + "kqrkp.nbb.emd"; + sha256 = "1wjrcrjgq1gj0jqbw0mi8ah79qv80zp921bzjxsx9vjm35hdbbhl"; } + { url = root + "kqrkp.nbw.emd"; + sha256 = "0qwc76wyy60vicxyxx80gm6f40fw3izs6xndhhkfh86cj7sjl3l5"; } + { url = root + "kqrkq.nbb.emd"; + sha256 = "0drzfjrm6mh8q1vb36ycvfsipp6z4ij4a200zxypaxaimnxssq3x"; } + { url = root + "kqrkq.nbw.emd"; + sha256 = "0n12rixcd2k3bgm00k2z9cnlzx1av5y62r8adnx6h2grlgcyd26j"; } + { url = root + "kqrkr.nbb.emd"; + sha256 = "0zvzx89gp4saggjb062nafy3xncv01fmbymsmnlswmq80xdkcn4d"; } + { url = root + "kqrkr.nbw.emd"; + sha256 = "0by6f36850d4fdraqj8rqv7ryaplqxlmkm00prm0pcmlb3y5czc7"; } + { url = root + "kqrnk.nbb.emd"; + sha256 = "0z5599ci1n7qgpn3inch8zc3ciyy1b5gjbix78k3b5ig4ra2idv6"; } + { url = root + "kqrnk.nbw.emd"; + sha256 = "18a5bm0rlh4wf5im54acq0w0l6lnjjk4dxaxcph67q4smfbfacv3"; } + { url = root + "kqrpk.nbb.emd"; + sha256 = "10rbm2j3rz04jv0s70aink3y7h303zvnf29b9pim8b8pv23pwvy3"; } + { url = root + "kqrpk.nbw.emd"; + sha256 = "1jqvxfj3fnm456livvfbp3v750mm86js2qb7va5nq9wilif13chb"; } + { url = root + "kqrrk.nbb.emd"; + sha256 = "0h2g8v9i6ic2fmjgzwh1hcwaka2m8n8l28nvbbkq3447hrwl8sba"; } + { url = root + "kqrrk.nbw.emd"; + sha256 = "137iicxbws20rv93b5qas6dpk5a7qj18rcbj632117hkiw3ddjly"; } + { url = root + "krbbk.nbb.emd"; + sha256 = "1i0yjbvkrqz4m61qk6flz88zsb3nwskj6rrn3bz4fzv63m0yhcpk"; } + { url = root + "krbbk.nbw.emd"; + sha256 = "00rna709hpxw06sg5cnzn9xzgn2pib4n5yyffjz638sgivgh62k4"; } + { url = root + "krbk.nbb.emd"; + sha256 = "1xq45jiwg96084jm0qkacjmxl86v0mp1nrr6k85dpn99bmyzx5xw"; } + { url = root + "krbk.nbw.emd"; + sha256 = "0jnxrpwad8cpl6yp31bs5g0h89jjr8061lj69n8wdmmwhvjafvk0"; } + { url = root + "krbkb.nbb.emd"; + sha256 = "0gdwy9q7xf35fpb78g02jn07d969p7zzhnn4asbk5y3fmix209l2"; } + { url = root + "krbkb.nbw.emd"; + sha256 = "0kryfbjli1l05nqarz96q6fnviwzgjvmbljbmapirw40ma68nx4r"; } + { url = root + "krbkn.nbb.emd"; + sha256 = "01fll6vvqiyxpmn6qmwhrzd7f3j3irpbdvc2jn2hqzjdmsr0kz59"; } + { url = root + "krbkn.nbw.emd"; + sha256 = "13yipfw7v5w2hcgmnml3ka1rq1g5djcf81nkanrlmrkqaksxbc0m"; } + { url = root + "krbkp.nbb.emd"; + sha256 = "1bpa5x4zm9nap62hf3iiyzzwcp0fsh5bww0sdnvlzaclw9mbc1g8"; } + { url = root + "krbkp.nbw.emd"; + sha256 = "0y157ai66amm5lryigc7nizj79mfbcny925qqcsgbi8l2yhl7hk1"; } + { url = root + "krbkq.nbb.emd"; + sha256 = "199gckvazpsv1f3jkfxw9p3hyfshpvqm2i9wqjgzlm69dckbbj4x"; } + { url = root + "krbkq.nbw.emd"; + sha256 = "1m72pzaxlrppwpaqgdcxcjr9n5cnyxs8p0kxybgkl17vfvpc5jmw"; } + { url = root + "krbkr.nbb.emd"; + sha256 = "04wpcfq3y4nx1q57vina4z75lv3mrzljfzw5s73s5m0fhfq54i9v"; } + { url = root + "krbkr.nbw.emd"; + sha256 = "1wii5h5cyxxxgjp53ap43v0wnpj7amxyd8kg9bxsamcfz3wj1v70"; } + { url = root + "krbnk.nbb.emd"; + sha256 = "0s2jrbyjn4d2kik7ic4i1d4w6yx2841cdwb7lalpw3jf74ag2cv4"; } + { url = root + "krbnk.nbw.emd"; + sha256 = "1py0lnsahky21dvk5kdcfgbrca1cks7ihjslpvins91l58yzldh9"; } + { url = root + "krbpk.nbb.emd"; + sha256 = "1v3j61j125i9hbmqm11ay2ng65djq55mwxfr5v8173whqjk9cjc5"; } + { url = root + "krbpk.nbw.emd"; + sha256 = "1zvinpcr9mzm6jgicq6y6jfl6dsd7pyn648bfayszfgndyr2b125"; } + { url = root + "krk.nbb.emd"; + sha256 = "042qliismf63y6vims4bg31lj1w9r2y45p32frqxgk79hvb567yv"; } + { url = root + "krk.nbw.emd"; + sha256 = "1fam4n038dg4g1nc1zn55lyjagv4j4lkbq28rhiaz7mhj3z4r3zz"; } + { url = root + "krkb.nbb.emd"; + sha256 = "0y44rbly8ggzjg2i5vhxibia551ii28dnpyzls3b74a6078zy0wy"; } + { url = root + "krkb.nbw.emd"; + sha256 = "12bqs411yhv6k0b2jhil1l7hpk4cj3i8x0bcj168jnmikzhprvgq"; } + { url = root + "krkn.nbb.emd"; + sha256 = "1wcghsgr9g09pbyhak1hyxw3rvfis6zplc3zgzx3qphp69rivk3k"; } + { url = root + "krkn.nbw.emd"; + sha256 = "1jkwz4kjl91kxxascg21zj6c6qgx9s0k91jjbic6ybsmpv4wj4qc"; } + { url = root + "krkp.nbb.emd"; + sha256 = "1jmaansnxspb7x2ka8y44vssgk78wfcrmdczj60zyzg1bj3n5fl8"; } + { url = root + "krkp.nbw.emd"; + sha256 = "14yi4fsax0w9sd5bv463ajs6r4q0wxj3n19np9anc1zfvb3yk846"; } + { url = root + "krkr.nbb.emd"; + sha256 = "12y29sgqhxcvilg089766nn14scy8b0dxmla1isjmgq9qb4yi9vy"; } + { url = root + "krkr.nbw.emd"; + sha256 = "12y29sgqhxcvilg089766nn14scy8b0dxmla1isjmgq9qb4yi9vy"; } + { url = root + "krnk.nbb.emd"; + sha256 = "0gvm4y8p5a9769nqhgnx6xj6nlldgrh75k3z8c8hj2xd9cyj01pp"; } + { url = root + "krnk.nbw.emd"; + sha256 = "0p7j4x0xdq5krsvmj44qkcaqmww7rplrjdr08ix3jyjf31kk2x13"; } + { url = root + "krnkb.nbb.emd"; + sha256 = "0w9gybr4i7d8zjpbbyg1m4263bx2gpmnh91vd0xmpwi0ykrxrl57"; } + { url = root + "krnkb.nbw.emd"; + sha256 = "19wp8swng0q2wzxwx89km5fqlqfb4vcamky9h7pvas2sgh8frfmq"; } + { url = root + "krnkn.nbb.emd"; + sha256 = "0g3b48symag31lcgbimpmmqsqdmihsr6g9k5a15l0mfkisfwadlf"; } + { url = root + "krnkn.nbw.emd"; + sha256 = "1vryhaw1aj4bhv2ghb10zxyx930s2f4xqg7v9cxfnr9q5w2qv7xh"; } + { url = root + "krnkp.nbb.emd"; + sha256 = "13b8vahj7hj4f12kiaigx1nphdrf8z30j68zav9n617kpf5s35i0"; } + { url = root + "krnkp.nbw.emd"; + sha256 = "1qcnjwkg0pxp1hq4xws9dgq4bx6pxn0am3mcj1n837qcmv46mf7c"; } + { url = root + "krnkq.nbb.emd"; + sha256 = "150d9z4v6fk16sdxq1w96gl2pl9nsf0jimy8kdgc8a19i1ab1rjc"; } + { url = root + "krnkq.nbw.emd"; + sha256 = "13dn9hgk4i26axwymv0gvdkl0zr5shggvm5lpwa15gigmrva73bh"; } + { url = root + "krnkr.nbb.emd"; + sha256 = "14ja7chmg7aklg6swlc3lpik4akj8zv3x2qppsip0vi3j05lnqyv"; } + { url = root + "krnkr.nbw.emd"; + sha256 = "04qxh0kzk2p7m5zdrzg0faqva91qals4njnwf4vgfr65lmd4hyfn"; } + { url = root + "krnnk.nbb.emd"; + sha256 = "1f35pqprkf1clx0mzzkgx9mn8ncqdiyc2cbxcp5a4x1kzli7zp34"; } + { url = root + "krnnk.nbw.emd"; + sha256 = "16y28mqjl7fbl8rlwv51bn17sx0fpvfi0izyq1f5043l7fmpshfr"; } + { url = root + "krnpk.nbb.emd"; + sha256 = "097rmr9zb550qn41kn11c15qp8l5582wqncg5li46iq9mfxcskiw"; } + { url = root + "krnpk.nbw.emd"; + sha256 = "0hj3bhqvgdd64qa47irwx08nz4fqxhm0ddmpjq0jb757wlqw5f05"; } + { url = root + "krpk.nbb.emd"; + sha256 = "1qz218amn2ii66g2fr2ifq6csr0n5n9ip9jcjxkxgpmawiwjhcm1"; } + { url = root + "krpk.nbw.emd"; + sha256 = "19vh7k73gjyjwqzdpf0pv2i7zrqb2ns6a6r3n4jgwwd2n35inr1i"; } + { url = root + "krpkb.nbb.emd"; + sha256 = "1y6kknnkb0ikk7az6syc3drhp4v3avpffa5pghpr2pm6i8xzx3nm"; } + { url = root + "krpkb.nbw.emd"; + sha256 = "0fnbyhgjlnrnddkpbbyabyg31nmi61w9ra8ylicv6ysgyn4bcps4"; } + { url = root + "krpkn.nbb.emd"; + sha256 = "08cn0pa6y1hxq7clgj70hdxm13a6zi9c8z2mmf3qgsjjkrj2wgc5"; } + { url = root + "krpkn.nbw.emd"; + sha256 = "16ybnwl7sf832z546igrwclahhymp734dcg6rhrakxabrv0y144z"; } + { url = root + "krpkp.nbb.emd"; + sha256 = "125qzj83kc5y5rx6jn078pjj6lph1gslmglx24n5n399382kllkn"; } + { url = root + "krpkp.nbw.emd"; + sha256 = "1kbahpn99r37syb1yypabw55g4diwbp6q99nr6f6rn19wp0b44mk"; } + { url = root + "krpkq.nbb.emd"; + sha256 = "1wsxy8ycz8l6wn6c58w4n0gdsdb8lik6b046q132qjw8mnn07gv1"; } + { url = root + "krpkq.nbw.emd"; + sha256 = "0l8sg8sv6yy2wsrg7p9j2w5s61sd3jak09z1i347k0g0190m77m8"; } + { url = root + "krpkr.nbb.emd"; + sha256 = "1mv4jcgkilsw3d4m879r2cwslz71v0rg5hwk9r6lhpg22qam3kz1"; } + { url = root + "krpkr.nbw.emd"; + sha256 = "1nj906wq21h9xfzihc3wcp9s2bwgy7c68j4a6vlxq3zy1c8k53yx"; } + { url = root + "krppk.nbb.emd"; + sha256 = "0x63qm3zwp70y3a33s29bv7lhg1vjnvi4gkxxgh6s0590y7s8pj4"; } + { url = root + "krppk.nbw.emd"; + sha256 = "1z4nhf2gygbdgk6j3bdxhllx154ajkrrz3j0y715r20m0fxfl6x8"; } + { url = root + "krrbk.nbb.emd"; + sha256 = "0gxam25i89sqmmmd781yyk2k2zyj76l9w9hngqkzagiz0fhh9ycz"; } + { url = root + "krrbk.nbw.emd"; + sha256 = "1v7rfv5b4wjsgfy21fi3xyxbfj76mvkxhfz52612p4rnzp78bb56"; } + { url = root + "krrk.nbb.emd"; + sha256 = "0ms9cjndxiflssymcx7aakf6bjwb5043nz5i4jvix89wvp6lgfa1"; } + { url = root + "krrk.nbw.emd"; + sha256 = "18bh2y3v2ak6j1q1rlnkp02vijbbqr69i4cg1pvj943c83xz18l3"; } + { url = root + "krrkb.nbb.emd"; + sha256 = "0hdr8v5bgybma3sdl8mk0v3msjvdva89zs1wd52m6jbdgwb5hzca"; } + { url = root + "krrkb.nbw.emd"; + sha256 = "1g8bkyzq585az5rrglxd71ydj2fhhgqzdfmkgihbi7ncjym9kpw7"; } + { url = root + "krrkn.nbb.emd"; + sha256 = "0bz8np2sqj8viwszx4jj9wxj774kv548pjzrmc6xh11p0sfjx3rj"; } + { url = root + "krrkn.nbw.emd"; + sha256 = "1qf4d6zlvwlgrq0f732wafpznkqd3qnf7na4bgd4p1pb105ickg4"; } + { url = root + "krrkp.nbb.emd"; + sha256 = "1kw434r77f61b5agly6lqkvn4b1rwssd511lcv16mvvf56xlqnb4"; } + { url = root + "krrkp.nbw.emd"; + sha256 = "1yzqpp01gckk25zjy8j820y37m4vj6rgc6zpphwll45rn1ahwk0p"; } + { url = root + "krrkq.nbb.emd"; + sha256 = "1ynhjzzmjpd6yw0d2w5xhlms3sqjc8gksfqgq3wmx7ym23wya2qq"; } + { url = root + "krrkq.nbw.emd"; + sha256 = "01wil4pbcnrqynj1xpkglk2r36b36cz9gjr2g76rrz5xhdy5q8vj"; } + { url = root + "krrkr.nbb.emd"; + sha256 = "0iyqadmpddy9i330nv1qrsjfkk2vlkxfxjphx3q349lplq6a9s16"; } + { url = root + "krrkr.nbw.emd"; + sha256 = "1fg4byzzmjlzz8hs2vhpysmf8py9ylkf5pdw3rv88dxr4cp1wciq"; } + { url = root + "krrnk.nbb.emd"; + sha256 = "1jb8rq7sy28c9wr7yih8w5bi8jbcf4xzf8sccanz32qxp0159f0h"; } + { url = root + "krrnk.nbw.emd"; + sha256 = "17g7l0szgqczykjgxdhpihs5hh2snc35cy3hggnvah3j8bv6ksb4"; } + { url = root + "krrpk.nbb.emd"; + sha256 = "1q7vk3pawab9nbpdn3cw2kf205yx6lznr6gkd9qbjj3754s9zswh"; } + { url = root + "krrpk.nbw.emd"; + sha256 = "0wl23j0a67mm01655p4ivjrlsacvm7lxglhrg6cni61qkdqr6vqz"; } + { url = root + "krrrk.nbb.emd"; + sha256 = "1ggm5q38wc65rkp87n5d2l71kcl7nqjkvwa31hmlagq2735vd0gd"; } + { url = root + "krrrk.nbw.emd"; + sha256 = "1h7psv25a4wajg6ggk2q0cllf5mng4qjas3yi9nvi7kc766p85ax"; } + ]); + + patches = [ ./strcpy.patch ./malloc.patch ]; + + buildInputs = [ unzip ]; + + buildPhase = + if stdenv.isDarwin + then "make darwin" + else if stdenv.isLinux + then "make linux-amd64" + else "make"; + + installPhase = '' + ensureDir $out/bin + cp -p ./crafty $out/bin + + ensureDir $out/share/crafty + cd $out/share/crafty + + $out/bin/crafty "books create ${startPgn} 60" + rm -f *.001 + + ${if fullVariant then '' + unzip ${enormousPgn} + $out/bin/crafty "book create enormous.pgn 60" + rm -f *.001 enormous.pgn + + ensureDir $out/share/crafty/TB + ${stdenv.lib.fold + (tb: acc: acc + "\nln -s " + + toString tb + + " $out/share/crafty/TB/`echo " + + toString tb + + " | sed 's/.*-//'`") + "" + tableBases345} + '' + else '' + cp -p ${bookBin} $out/share/crafty/book.bin + ''} + + mv $out/bin/crafty $out/bin/.crafty-wrapped + cat - > $out/bin/crafty < + #include + #if !defined(IPHONE) +-# include ++# include + #endif + #include + #if !defined(TYPES_INCLUDED) diff --git a/pkgs/games/crafty/strcpy.patch b/pkgs/games/crafty/strcpy.patch new file mode 100644 index 00000000000..d4d424d23da --- /dev/null +++ b/pkgs/games/crafty/strcpy.patch @@ -0,0 +1,21 @@ +--- a/utility.c ++++ b/utility.c +@@ -2144,7 +2144,7 @@ int ReadPGN(FILE * input, int option) { + char *skip; + + strcpy(temp, input_buffer); +- skip = strstr(input_buffer, buffer) + strlen(buffer); ++ skip = strstr(temp, buffer) + strlen(buffer); + if (skip) + strcpy(input_buffer, skip); + } +@@ -2241,7 +2241,7 @@ int ReadPGN(FILE * input, int option) { + } + } + strcpy(temp, input_buffer); +- skip = strstr(input_buffer, buffer) + strlen(buffer); ++ skip = strstr(temp, buffer) + strlen(buffer); + strcpy(input_buffer, skip); + } else { + int skip; + diff --git a/pkgs/games/crrcsim/default.nix b/pkgs/games/crrcsim/default.nix index 080265e1395..944b67041c2 100644 --- a/pkgs/games/crrcsim/default.nix +++ b/pkgs/games/crrcsim/default.nix @@ -1,48 +1,24 @@ -x@{builderDefsPackage - , mesa, SDL, SDL_mixer, plib, libjpeg - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; - - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="crrcsim"; - version="0.9.11"; - name="${baseName}-${version}"; - url="http://download.berlios.de/${baseName}/${name}.tar.gz"; - hash="16z9gixp60920lqckij8kdw90jys0llls4lw5c8vqgk14ck5hhiz"; - }; +{ stdenv, fetchurl, mesa, SDL, SDL_mixer, plib, libjpeg }: +let + version = "0.9.12"; in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; +stdenv.mkDerivation rec { + name = "crrcsim-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/crrcsim/${name}.tar.gz"; + sha256 = "1yx3cn7ilwj92v6rk3zm565ap92vmky4r39na814lfglkzn6l5id"; }; - inherit (sourceInfo) name version; - inherit buildInputs; + buildInputs = [ + mesa SDL SDL_mixer plib libjpeg + ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - meta = { description = "A model-airplane flight simulator"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; + maintainers = with stdenv.lib.maintainers; [ raskin the-kenny ]; + platforms = stdenv.lib.platforms.linux; license = "GPLv2"; }; - passthru = { - updateInfo = { - downloadPage = "http://crrcsim.berlios.de/wiki/index.php?n=CRRCsim.DownLoad"; - }; - }; -}) x +} diff --git a/pkgs/games/eboard/default.nix b/pkgs/games/eboard/default.nix new file mode 100644 index 00000000000..1decee4264a --- /dev/null +++ b/pkgs/games/eboard/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, pkgconfig, gtk }: + +stdenv.mkDerivation { + name = "eboard-1.1.1"; + + src = fetchurl { + url = mirror://sourceforge/eboard/eboard-1.1.1.tar.bz2; + sha256 = "0vm25j1s2zg1lipwjv9qrcm877ikfmk1yh34i8f5l3bwd63115xd"; + }; + + patches = [ ./eboard.patch ]; + + buildInputs = [ pkgconfig gtk ]; + + meta = { + homepage = http://www.bergo.eng.br/eboard/; + description = "eboard is a chess interface for Unix-like systems"; + }; +} diff --git a/pkgs/games/eboard/eboard.patch b/pkgs/games/eboard/eboard.patch new file mode 100644 index 00000000000..f80c1b2f78d --- /dev/null +++ b/pkgs/games/eboard/eboard.patch @@ -0,0 +1,16 @@ +--- a/cimg.cc 2014-05-25 02:41:58.000000000 -0500 ++++ b/cimg.cc 2014-05-25 02:42:31.000000000 -0500 +@@ -94,11 +94,11 @@ + ct == PNG_COLOR_TYPE_GRAY_ALPHA) + png_set_gray_to_rgb(pngp); + +- alloc(pngp->width,pngp->height); ++ alloc(png_get_image_width(pngp, infp),png_get_image_height(pngp, infp)); + if (!ok) { fclose(f); return; } + ok = 0; + +- for(i=0;iheight;i++) { ++ for(i=0;i {}; stdenv.mkDerivation rec { name = "minecraft-server-${version}"; - version = "1.7.5"; + version = "1.7.9"; src = fetchurl { url = "http://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar"; - sha256 = "0f3sh3fws02yl4xqa8qrvn0cchfp0hymqrf30c5syzzcz9w4l8pq"; + sha256 = "088aqqifgzz8g6aars3kvsdvvrjp0lqxw9qmai48rky20l6ibfgp"; }; installPhase = '' diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix new file mode 100644 index 00000000000..ec9d4ad3980 --- /dev/null +++ b/pkgs/games/openra/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, mono, makeWrapper +, SDL2, freetype, openal +}: + +let + version = "20131223"; +in stdenv.mkDerivation rec { + name = "openra-${version}"; + + meta = with stdenv.lib; { + description = "Real Time Strategy game engine recreates the C&C titles"; + homepage = "http://www.open-ra.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ iyzsong ]; + }; + + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://github.com/OpenRA/OpenRA/archive/release-${version}.tar.gz"; + sha256 = "1gfz6iiccajp86qc7xw5w843bng69k9zplvmipxxbspvr7byhw0c"; + }; + + dontStrip = true; + + nativeBuildInputs = [ mono makeWrapper ]; + + patchPhase = '' + sed -i 's/^VERSION.*/VERSION = release-${version}/g' Makefile + ''; + + preConfigure = '' + makeFlags="prefix=$out" + make version + ''; + + postInstall = with stdenv.lib; let + runtime = makeLibraryPath [ SDL2 freetype openal ]; + in '' + wrapProgram $out/bin/openra \ + --prefix PATH : "${mono}/bin" \ + --prefix LD_LIBRARY_PATH : "${runtime}" + ''; +} diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 7e2b4221d52..09a7761326a 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.4.0"; + version = "1.4.1"; src = fetchurl { url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz"; - sha256 = "0m89pr7m7xg71q1j3869dfrbhv88g90cw9zn0jlpg8crsj4wnnyq"; + sha256 = "0gkmf2jj1rab81y10dp8cirr90kv9dpr3ww4wb06j8cvgapy7b0z"; }; buildInputs = [ SDL libpng pkgconfig xz zlib freetype fontconfig ]; diff --git a/pkgs/games/orbit/default.nix b/pkgs/games/orbit/default.nix index 9769e6f5d67..de4c84f010c 100644 --- a/pkgs/games/orbit/default.nix +++ b/pkgs/games/orbit/default.nix @@ -39,7 +39,6 @@ stdenv.mkDerivation rec { [ customBuild doForceShare doPropagate]); meta = { description = "Orbit space flight simulator"; - inherit src; }; } diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix index 90ebab92942..809bcc930d2 100644 --- a/pkgs/games/rigsofrods/default.nix +++ b/pkgs/games/rigsofrods/default.nix @@ -54,6 +54,7 @@ stdenv.mkDerivation rec { homepage = http://rigsofrods.sourceforge.net/; license = "GPLv3"; maintainers = with stdenv.lib.maintainers; [viric raskin]; - platforms = with stdenv.lib.platforms; linux; + platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; }; } diff --git a/pkgs/games/super-tux/default.nix b/pkgs/games/super-tux/default.nix index 945eaa7fbf8..72a894b63af 100644 --- a/pkgs/games/super-tux/default.nix +++ b/pkgs/games/super-tux/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { name = "supertux-${version}"; src = fetchurl { - url = "http://download.berlios.de/supertux/supertux-${version}.tar.bz2"; + url = "mirror://sourceforge/supertux.berlios/supertux-${version}.tar.bz2"; sha256 = "15xdq99jy4hayr96jpqcp15rbr9cs5iamjirafajcrkpa61mi4h0"; }; diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix new file mode 100644 index 00000000000..698653784a7 --- /dev/null +++ b/pkgs/games/tibia/default.nix @@ -0,0 +1,57 @@ +{stdenv, fetchurl, patchelf, glibc, libX11, mesa}: + +with stdenv.lib; +assert stdenv.isi686; +stdenv.mkDerivation { + name = "tibia-10.41"; + + src = fetchurl { + url = http://static.tibia.com/download/tibia1041.tgz; + sha256 = "1hmqn9c6qaa79ldcnl4ws9dm6rd3ymy48fw254pl6g601amn7b8v"; + }; + + shell = stdenv.shell; + + # These binaries come stripped already and trying to strip after the + # files are in $out/res and after patchelf just breaks them. + # Strangely it works if the files are in $out but then nix doesn't + # put them in our PATH. We set all the files to $out/res because + # we'll be using a wrapper to start the program which will go into + # $out/bin. + dontStrip = true; + + installPhase = '' + mkdir -pv $out/res + cp -r ./* $out/res + + patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \ + --set-rpath ${stdenv.gcc.gcc}/lib:${libX11}/lib:${mesa}/lib \ + "$out/res/Tibia" + + # We've patchelf'd the files. The main ‘Tibia’ binary is a bit + # dumb so it looks for ‘./Tibia.dat’. This requires us to be in + # the same directory as the file itself but that's very tedious, + # especially with nix which changes store hashes. Here we generate + # a simple wrapper that we put in $out/bin which will do the + # directory changing for us. + + mkdir -pv $out/bin + + # The wrapper script itself. We use $LD_LIBRARY_PATH for libGL. + cat << EOF > "$out/bin/Tibia" + #!${stdenv.shell} + cd $out/res + ${glibc}/lib/ld-linux.so.2 --library-path \$LD_LIBRARY_PATH ./Tibia "\$@" + EOF + + chmod +x $out/bin/Tibia + + ''; + + meta = { + description = "Top-down MMORPG set in a fantasy world"; + homepage = "http://tibia.com"; + license = "unfree"; + platforms = ["i686-linux"]; + }; +} diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix index 5b9ef87a129..fcec3bf2675 100644 --- a/pkgs/misc/drivers/hplip/default.nix +++ b/pkgs/misc/drivers/hplip/default.nix @@ -1,26 +1,34 @@ -{stdenv, fetchurl, cups, zlib, libjpeg, libusb, pythonPackages, saneBackends, dbus -, pkgconfig, polkit, qtSupport ? true, qt4, pythonDBus, pyqt4, net_snmp +{ stdenv, fetchurl, automake, pkgconfig +, cups, zlib, libjpeg, libusb1, pythonPackages, saneBackends, dbus +, polkit, qtSupport ? true, qt4, pythonDBus, pyqt4, net_snmp +, withPlugin ? false }: stdenv.mkDerivation rec { - name = "hplip-3.11.1"; + name = "hplip-3.14.4"; src = fetchurl { url = "mirror://sourceforge/hplip/${name}.tar.gz"; - sha256 = "0y68s4xm5d0kv7p5j41qq0xglp4vdbjwbrjs89b4a21wwn69hp9g"; + sha256 = "1j8h44f8igl95wqypj4rk9awcw513hlps980jmcnkx60xghc4l6f"; }; - #preBuild='' - # makeFlags="V=1 DISABLE_JBIG=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model" - #''; + plugin = fetchurl { + url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run"; + sha256 = "0k1vpmy7babbm3c5v4dcbhq0jgyr8as722nylfs8zx0dy7kr8874"; + }; + + hplip_state = ./hplip.state; prePatch = '' - sed -i s,/etc/sane.d,$out/etc/sane.d/, Makefile.in - sed -i s,/etc/hp/,$out/etc/hp/, base/g.py + # HPLIP hardcodes absolute paths everywhere. Nuke from orbit. + find . -type f -exec sed -i s,/etc/hp,$out/etc/hp, {} \; + find . -type f -exec sed -i s,/etc/sane.d,$out/etc/sane.d, {} \; + find . -type f -exec sed -i s,/usr/include/libusb-1.0,${libusb1}/include/libusb-1.0, {} \; + find . -type f -exec sed -i s,/usr/share/hal/fdi/preprobe/10osvendor,$out/share/hal/fdi/preprobe/10osvendor, {} \; + find . -type f -exec sed -i s,/usr/lib/systemd/system,$out/lib/systemd/system, {} \; + find . -type f -exec sed -i s,/var/lib/hp,$out/var/lib/hp, {} \; ''; - # --disable-network-build Until we have snmp - preConfigure = '' export configureFlags="$configureFlags --with-cupsfilterdir=$out/lib/cups/filter @@ -33,23 +41,66 @@ stdenv.mkDerivation rec { export makeFlags=" halpredir=$out/share/hal/fdi/preprobe/10osvendor - hplip_statedir=$out/var rulesdir=$out/etc/udev/rules.d policykit_dir=$out/share/polkit-1/actions policykit_dbus_etcdir=$out/etc/dbus-1/system.d policykit_dbus_sharedir=$out/share/dbus-1/system-services hplip_confdir=$out/etc/hp + hplip_statedir=$out/var/lib/hp "; ''; - postInstall = '' + postInstall = + '' wrapPythonPrograms - ''; + '' + + (stdenv.lib.optionalString withPlugin + (let hplip_arch = + if builtins.currentSystem == "i686-linux" + then "x86_32" + else if builtins.currentSystem == "x86_64-linux" + then "x86_64" + else abort "Platform must be i686-linux or x86_64-linux!"; + in + '' + sh ${plugin} --noexec --keep + cd plugin_tmp + + cp plugin.spec $out/share/hplip/ + + mkdir -p $out/share/hplip/data/firmware + cp *.fw.gz $out/share/hplip/data/firmware + + mkdir -p $out/share/hplip/data/plugins + cp license.txt $out/share/hplip/data/plugins + + mkdir -p $out/share/hplip/prnt/plugins + for plugin in lj hbpl1; do + cp $plugin-${hplip_arch}.so $out/share/hplip/prnt/plugins + ln -s $out/share/hplip/prnt/plugins/$plugin-${hplip_arch}.so \ + $out/share/hplip/prnt/plugins/$plugin.so + done + + mkdir -p $out/share/hplip/scan/plugins + for plugin in bb_soap bb_marvell bb_soapht fax_marvell; do + cp $plugin-${hplip_arch}.so $out/share/hplip/scan/plugins + ln -s $out/share/hplip/scan/plugins/$plugin-${hplip_arch}.so \ + $out/share/hplip/scan/plugins/$plugin.so + done + + mkdir -p $out/var/lib/hp + cp ${hplip_state} $out/var/lib/hp/hplip.state + + mkdir -p $out/etc/sane.d/dll.d + mv $out/etc/sane.d/dll.conf $out/etc/sane.d/dll.d/hpaio.conf + + rm $out/etc/udev/rules.d/56-hpmud.rules + '')); buildInputs = [ libjpeg cups - libusb + libusb1 pythonPackages.python pythonPackages.wrapPython saneBackends @@ -59,15 +110,18 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional qtSupport qt4; pythonPath = with pythonPackages; [ + pillow pythonDBus pygobject recursivePthLoader + reportlab ] ++ stdenv.lib.optional qtSupport pyqt4; meta = with stdenv.lib; { description = "Print, scan and fax HP drivers for Linux"; homepage = http://hplipopensource.com/; - license = "free"; # MIT/BSD/GPL + license = if withPlugin then licenses.unfree else "free"; # MIT/BSD/GPL platforms = platforms.linux; + maintainers = with maintainers; [ ttuegel ]; }; } diff --git a/pkgs/misc/drivers/hplip/hplip.state b/pkgs/misc/drivers/hplip/hplip.state new file mode 100644 index 00000000000..52679963f06 --- /dev/null +++ b/pkgs/misc/drivers/hplip/hplip.state @@ -0,0 +1,4 @@ +[plugin] +installed=1 +eula=1 +version=3.14.4 diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix new file mode 100644 index 00000000000..7164f7d6f15 --- /dev/null +++ b/pkgs/misc/drivers/xboxdrv/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, scons, libX11, pkgconfig +, libusb1, boost, glib, dbus_glib }: + +let + version = "0.8.5"; +in stdenv.mkDerivation { + name = "xboxdrv-${version}"; + + src = fetchurl { + url = "https://github.com/Grumbel/xboxdrv/archive/v${version}.tar.gz"; + sha256 = "0xg2dhfsk3i693rgwr1pr532b3hk3zmjxlx55g6bplslr94bibi2"; + }; + + patchPhase = '' + substituteInPlace Makefile --replace /usr/local "$out" + ''; + + buildInputs = [ scons libX11 pkgconfig libusb1 boost glib dbus_glib]; + + meta = with stdenv.lib; { + homepage = "http://pingus.seul.org/~grumbel/xboxdrv/"; + description = + "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace."; + license = licenses.gpl3Plus; + maintainers = [ maintainers.fuuzetsu ]; + }; + +} diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix new file mode 100644 index 00000000000..786ed21decc --- /dev/null +++ b/pkgs/misc/emulators/mednafen/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, pkgconfig +, libX11, mesa, freeglut +, jackaudio, libcdio, libsndfile, libsamplerate +, SDL, SDL_net, zlib +}: + +stdenv.mkDerivation rec { + + name = "mednafen-${version}"; + version = "0.9.34.1"; + + src = fetchurl { + url = "http://sourceforge.net/projects/mednafen/files/Mednafen/${version}/${name}.tar.bz2"; + sha256 = "1d783ws5rpx6r8qk1l9nksx3kahbalis606psk4067bvfzy7kjb9"; + }; + + buildInputs = with stdenv.lib; + [ libX11 mesa freeglut jackaudio libcdio libsndfile libsamplerate SDL SDL_net zlib ]; + + nativeBuildInputs = [ pkgconfig ]; + + # Install docs + postInstall = '' + mkdir -p $out/share/doc/$name + cd Documentation + install -m 644 -t $out/share/doc/$name *.css *.def *.html *.php *.png *.txt + ''; + + meta = { + description = "A portable, CLI-driven, SDL+OpenGL-based, multi-system emulator"; + homepage = http://mednafen.sourceforge.net/; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/misc/emulators/mednafen/server.nix b/pkgs/misc/emulators/mednafen/server.nix new file mode 100644 index 00000000000..d4515b7db03 --- /dev/null +++ b/pkgs/misc/emulators/mednafen/server.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + + name = "mednafen-server-${version}"; + version = "0.5.1"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/project/mednafen/Mednafen-Server/${version}/${name}.tar.gz"; + sha256="0c5wvg938y3h4n5lb0dl8pvmjzphhkbba34r6ikpvdahq166ps4j"; + }; + + postInstall = '' + mkdir -p $out/share/$name + install -m 644 -t $out/share/$name standard.conf + ''; + + meta = { + description = "Netplay server for Mednafen"; + homepage = http://mednafen.sourceforge.net/; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.AndersonTorres ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/misc/emulators/ppsspp/bump-version-to-0.9.8.patch b/pkgs/misc/emulators/ppsspp/bump-version-to-0.9.8.patch new file mode 100644 index 00000000000..5e474d6f747 --- /dev/null +++ b/pkgs/misc/emulators/ppsspp/bump-version-to-0.9.8.patch @@ -0,0 +1,22 @@ +From 48f6bf352154511d5acddfe44dd241c6a9ed92d7 Mon Sep 17 00:00:00 2001 +From: Bhavin +Date: Tue, 6 May 2014 22:44:58 +0530 +Subject: [PATCH] Update vaersion to 0.9.8 + +It was 0.9.6 :( +--- + Qt/Settings.pri | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Qt/Settings.pri b/Qt/Settings.pri +index 8b4c1d7..67949f2 100644 +--- a/Qt/Settings.pri ++++ b/Qt/Settings.pri +@@ -1,4 +1,4 @@ +-VERSION = 0.9.6 ++VERSION = 0.9.8 + DEFINES += USING_QT_UI USE_FFMPEG + unix:!qnx:!symbian:!mac: CONFIG += linux + maemo5|contains(MEEGO_EDITION,harmattan): CONFIG += maemo +-- +1.9.3 diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/misc/emulators/ppsspp/default.nix new file mode 100644 index 00000000000..975de0f5270 --- /dev/null +++ b/pkgs/misc/emulators/ppsspp/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchgit, zlib, libpng, qt4, pkgconfig +, withGamepads ? true, SDL # SDL is used for gamepad functionality +}: + +let + version = "0.9.8"; + fstat = x: fn: "-D" + fn + "=" + (if x then "ON" else "OFF"); +in stdenv.mkDerivation { + name = "PPSSPP-${version}"; + + src = fetchgit { + url = "https://github.com/hrydgard/ppsspp.git"; + sha256 = "11sqhb2m3502dzbizahh1w2dl7jv3fipwxyrmryj8fyaqqw0i36q"; + rev = "cbc46be3f91cb8558fbb4b175b14e8e16cbf0243"; + fetchSubmodules = true; + }; + + # Upstream forgot to bump a version in one file. + patches = [ ./bump-version-to-0.9.8.patch ]; + + buildInputs = [ zlib libpng pkgconfig qt4 ] + ++ (if withGamepads then [ SDL ] else [ ]); + + configurePhase = "cd Qt && qmake PPSSPPQt.pro"; + installPhase = "mkdir -p $out/bin && cp PPSSPPQt $out/bin"; + + meta = with stdenv.lib; { + homepage = "http://www.ppsspp.org/"; + description = "A PSP emulator, the Qt4 version."; + license = licenses.gpl2Plus; + maintainers = [ maintainers.fuuzetsu ]; + platforms = platforms.linux ++ platforms.darwin ++ platforms.cygwin; + }; +} \ No newline at end of file diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix index bf55f93db5b..b3c68429d6d 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.14"; + version = "1.7.19"; name = "wine-${version}"; src = fetchurl { url = "mirror://sourceforge/wine/${name}.tar.bz2"; - sha256 = "029y4vsjz2jxy31g5nylpl7wm5qhw37dsbx4f0za6swk51z97w9d"; + sha256 = "1wigncw7xl6ni6kjmhmbzffhf0pav22b50aql93wz7h2r409psn5"; }; gecko = fetchurl { diff --git a/pkgs/misc/screensavers/vlock/default.nix b/pkgs/misc/screensavers/vlock/default.nix index f2cea3f257b..012fef1b5b0 100644 --- a/pkgs/misc/screensavers/vlock/default.nix +++ b/pkgs/misc/screensavers/vlock/default.nix @@ -16,7 +16,10 @@ stdenv.mkDerivation { buildInputs = [ pam ]; - meta = { + meta = with stdenv.lib; { description = "Virtual console locking program"; + license = licenses.gpl2; + maintainers = [ maintainers.lethalman ]; + platforms = platforms.linux; }; } diff --git a/pkgs/misc/seafile-shared/0003-Add-autoconfiguration-for-libjansson.patch b/pkgs/misc/seafile-shared/0003-Add-autoconfiguration-for-libjansson.patch deleted file mode 100644 index 7966d1e683b..00000000000 --- a/pkgs/misc/seafile-shared/0003-Add-autoconfiguration-for-libjansson.patch +++ /dev/null @@ -1,121 +0,0 @@ -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 index 53092e3a8b7..d6c08e99a51 100644 --- a/pkgs/misc/seafile-shared/default.nix +++ b/pkgs/misc/seafile-shared/default.nix @@ -2,17 +2,15 @@ stdenv.mkDerivation rec { - version = "2.1.1"; + version = "3.0.4"; name = "seafile-shared-${version}"; src = fetchurl { url = "https://github.com/haiwen/seafile/archive/v${version}.tar.gz"; - sha256 = "f07b09ab1eb1cb33f92cee74e499d0350941624396910a4c1a7d79abb45acaa6"; + sha256 = "0a0yj9k2rr3q42swwzn1js3r8bld9wcysw6p9415rw5jabcm1af0"; }; - patches = [ ./0003-Add-autoconfiguration-for-libjansson.patch ]; - buildInputs = [ which automake autoconf pkgconfig libtool vala python intltool fuse ]; propagatedBuildInputs = [ ccnet ]; diff --git a/pkgs/misc/themes/mate-icon-theme/default.nix b/pkgs/misc/themes/mate-icon-theme/default.nix index fe19a45b2ac..ba732c6521f 100644 --- a/pkgs/misc/themes/mate-icon-theme/default.nix +++ b/pkgs/misc/themes/mate-icon-theme/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk2, iconnamingutils }: stdenv.mkDerivation { - name = "mate-icon-theme-1.6.2"; + name = "mate-icon-theme-1.6.3"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/1.6/mate-icon-theme-1.6.2.tar.xz"; - sha256 = "1ahijywk6vj8yyiglqdpc56dkczyj1v99ziblaaclmhi4sxxb5jm"; + url = "http://pub.mate-desktop.org/releases/1.6/mate-icon-theme-1.6.3.tar.xz"; + sha256 = "1r3qkx4k9svmxdg453r9d3hs47cgagxsngzi8rp6yry0c9bw5r5w"; }; buildInputs = [ pkgconfig intltool gtk2 iconnamingutils ]; diff --git a/pkgs/misc/themes/mate-themes/default.nix b/pkgs/misc/themes/mate-themes/default.nix index 32d1a24cbf4..f7559ee2126 100644 --- a/pkgs/misc/themes/mate-themes/default.nix +++ b/pkgs/misc/themes/mate-themes/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }: stdenv.mkDerivation { - name = "mate-themes-1.6.2"; + name = "mate-themes-1.6.3"; src = fetchurl { - url = "http://pub.mate-desktop.org/releases/1.6/mate-themes-1.6.2.tar.xz"; - sha256 = "145mjdijjvkpjjgqdfwjp30jvvs0qzxlnh15q6mig8df6drg5fn6"; + url = "http://pub.mate-desktop.org/releases/1.6/mate-themes-1.6.3.tar.xz"; + sha256 = "1wakr9z3byw1yvnbaxg8cpfhp1bp1fmnaz742738m0fx6bzznj9i"; }; buildInputs = [ pkgconfig intltool iconnamingutils gtk2 ]; diff --git a/pkgs/misc/themes/qtcurve/default.nix b/pkgs/misc/themes/qtcurve/default.nix index ec5feb27c85..e63f6846002 100644 --- a/pkgs/misc/themes/qtcurve/default.nix +++ b/pkgs/misc/themes/qtcurve/default.nix @@ -1,11 +1,13 @@ -{ stdenv, fetchurl, cmake, gettext, gtk2, kde_workspace, kdelibs, libpthreadstubs, libXdmcp -, libxcb, pkgconfig, xlibs }: +{ stdenv, fetchurl, cmake, gettext, pkgconfig # Build tools +, gtk2, kde_workspace, kdelibs # Toolkit dependencies +, libpthreadstubs, libXdmcp, libxcb, xlibs # X11 dependencies +}: stdenv.mkDerivation { - name = "qtcurve-1.8.17"; + name = "qtcurve-1.8.18"; src = fetchurl { - url = "https://github.com/QtCurve/qtcurve/archive/1.8.17.tar.gz"; - sha256 = "1ixgill9lfhmcfsk5csk6ww3ljzbvb4x48m73apprv949xgr4wyn"; + url = "https://github.com/QtCurve/qtcurve/archive/1.8.18.tar.gz"; + sha256 = "19kk11hgi6md1cl0hr0pklcczbl66jczahlkf5fr8j59ljgpr6c5"; }; buildInputs = [ @@ -18,10 +20,13 @@ stdenv.mkDerivation { libXdmcp libxcb pkgconfig - xlibs.xcbutilimage + xlibs.libxshmfence ]; - patches = [ ./qtcurve-1.8.17-install-paths.patch ]; + patches = [ + ./qtcurve-1.8.18-install-paths.patch + ./qtcurve-1.8.18-toolbar-alpha.patch + ]; cmakeFlags = '' -DENABLE_QT5=OFF diff --git a/pkgs/misc/themes/qtcurve/qtcurve-1.8.17-install-paths.patch b/pkgs/misc/themes/qtcurve/qtcurve-1.8.17-install-paths.patch deleted file mode 100644 index bb8fd185c77..00000000000 --- a/pkgs/misc/themes/qtcurve/qtcurve-1.8.17-install-paths.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -ur qtcurve-1.8.17-a/CMakeLists.txt qtcurve-1.8.17-b/CMakeLists.txt ---- qtcurve-1.8.17-a/CMakeLists.txt 2013-10-18 07:35:20.000000000 -0500 -+++ qtcurve-1.8.17-b/CMakeLists.txt 2013-12-30 10:58:43.303808246 -0600 -@@ -135,8 +135,9 @@ - if(ENABLE_GTK2) - find_package(PkgConfig REQUIRED) - pkg_check_modules(GTK2 REQUIRED gtk+-2.0) -+ set(GTK2_THEME_PREFIX "${CMAKE_INSTALL_PREFIX}") - if(GTK2_THEME_PREFIX) -- set(GTK2_PREIX "${GTK2_THEME_PREFIX}") -+ set(GTK2_PREFIX "${GTK2_THEME_PREFIX}") - elseif(NOT GTK2_PREFIX) - set(GTK2_PREFIX "${CMAKE_INSTALL_PREFIX}") - endif() -diff -ur qtcurve-1.8.17-a/gtk2/style/CMakeLists.txt qtcurve-1.8.17-b/gtk2/style/CMakeLists.txt ---- qtcurve-1.8.17-a/gtk2/style/CMakeLists.txt 2013-10-18 07:35:20.000000000 -0500 -+++ qtcurve-1.8.17-b/gtk2/style/CMakeLists.txt 2013-12-30 11:23:41.370548328 -0600 -@@ -88,6 +88,6 @@ - m ${QTC_X11_LIBRARIES} qtcurve-utils) - - install(TARGETS qtcurve-gtk2 LIBRARY DESTINATION -- ${GTK2_LIBDIR}/gtk-2.0/${GTK2_BIN_VERSION}/engines) -+ lib/gtk-2.0/${GTK2_BIN_VERSION}/engines) - install(FILES gtkrc icons3 icons4 map_kde_icons.pl kdeglobals - DESTINATION ${GTK2_THEME_DIR}/gtk-2.0) diff --git a/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-install-paths.patch b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-install-paths.patch new file mode 100644 index 00000000000..345ac25bbbb --- /dev/null +++ b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-install-paths.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b2be588..4cb9115 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -116,6 +116,7 @@ if(ENABLE_GTK2) + find_package(PkgConfig REQUIRED) + unset(__pkg_config_checked_GTK2 CACHE) + pkg_check_modules(GTK2 REQUIRED gtk+-2.0) ++ set(GTK2_THEME_PREFIX "${CMAKE_INSTALL_PREFIX}") + if(GTK2_THEME_PREFIX) + set(GTK2_PREFIX "${GTK2_THEME_PREFIX}") + elseif(NOT GTK2_PREFIX) +diff --git a/gtk2/style/CMakeLists.txt b/gtk2/style/CMakeLists.txt +index 01e8891..a2c767e 100644 +--- a/gtk2/style/CMakeLists.txt ++++ b/gtk2/style/CMakeLists.txt +@@ -88,6 +88,6 @@ target_link_libraries(qtcurve-gtk2 + qtcurve-utils qtcurve-cairo m) + + install(TARGETS qtcurve-gtk2 LIBRARY DESTINATION +- ${GTK2_LIBDIR}/gtk-2.0/${GTK2_BIN_VERSION}/engines) ++ lib/gtk-2.0/${GTK2_BIN_VERSION}/engines) + install(FILES gtkrc icons3 icons4 map_kde_icons.pl kdeglobals + DESTINATION ${GTK2_THEME_DIR}/gtk-2.0) diff --git a/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch new file mode 100644 index 00000000000..85400e6f0f6 --- /dev/null +++ b/pkgs/misc/themes/qtcurve/qtcurve-1.8.18-toolbar-alpha.patch @@ -0,0 +1,34 @@ +diff --git a/qt4/style/qtcurve.cpp b/qt4/style/qtcurve.cpp +index d7659f5..aede882 100644 +--- a/qt4/style/qtcurve.cpp ++++ b/qt4/style/qtcurve.cpp +@@ -12436,7 +12436,12 @@ Style::drawMenuOrToolBarBackground(const QWidget *widget, QPainter *p, + if (!qtcIsCustomBgnd(&opts) || !qtcIsFlat(app) || + (menu && SHADE_NONE != opts.shadeMenubars)) { + p->save(); ++#if 0 ++ // Revert for now ++ // This is necessary for correct opacity on the menubar but may ++ // break transparent gradient. + p->setCompositionMode(QPainter::CompositionMode_Source); ++#endif + QRect rx(r); + QColor col(menu && (option->state & State_Enabled || + SHADE_NONE != opts.shadeMenubars) ? +diff --git a/qt5/style/qtcurve.cpp b/qt5/style/qtcurve.cpp +index c43b8a3..135eddc 100644 +--- a/qt5/style/qtcurve.cpp ++++ b/qt5/style/qtcurve.cpp +@@ -3398,7 +3398,12 @@ Style::drawMenuOrToolBarBackground(const QWidget *widget, QPainter *p, + if (!qtcIsCustomBgnd(&opts) || !qtcIsFlat(app) || + (menu && opts.shadeMenubars != SHADE_NONE)) { + p->save(); ++#if 0 ++ // Revert for now ++ // This is necessary for correct opacity on the menubar but may ++ // break transparent gradient. + p->setCompositionMode(QPainter::CompositionMode_Source); ++#endif + QRect rx(r); + QColor col(menu && (option->state & State_Enabled || + opts.shadeMenubars != SHADE_NONE) ? diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index f410f25e8cb..976e4dc687f 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, python, cmake, vim, perl, ruby, unzip, which, fetchgit }: +{ fetchurl, stdenv, python, cmake, vim, perl, ruby, unzip, which, fetchgit, clang }: /* About Vim and plugins @@ -111,12 +111,12 @@ in rec YouCompleteMe = stdenv.mkDerivation { src = fetchgit { url = "https://github.com/Valloric/YouCompleteMe.git"; - rev = "ee12530df0574e18289d6daf25ff72bd3c6e94f5"; - sha256 = "1z93l2v0s078h632jrlhxzs9pg8phnx60qlrrhb3l2nbfk047rgx"; - }; - - name = "youcompleteme-git-ee12530df0"; - buildInputs = [ python cmake ]; + rev = "abfc3ee36adab11c0c0b9d086a164a69006fec79"; + sha256 = "1d25dp5kgqickl06hqvx4j3z51zblhsn3q3by2hayyj3g2zps4gm"; + }; + + name = "youcompleteme-git-abfc3ee"; + buildInputs = [ python cmake clang.clang ]; configurePhase = ":"; @@ -127,7 +127,7 @@ in rec mkdir $target/build cd $target/build - cmake -G "Unix Makefiles" . $target/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 + cmake -G "Unix Makefiles" . $target/cpp -DPYTHON_LIBRARIES:PATH=${python}/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR:PATH=${python}/include/python2.7 -DUSE_CLANG_COMPLETER=ON -DUSE_SYSTEM_LIBCLANG=ON make -j -j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}} ${vimHelpTags} @@ -148,12 +148,12 @@ in rec }; syntastic = simpleDerivation rec { - version = "3.1.0"; + version = "3.4.0"; name = "vim-syntastic-${version}"; src = fetchurl { url = "https://github.com/scrooloose/syntastic/archive/${version}.tar.gz"; - sha256 = "155zfb5z0gmd1xrpna4varqf502lq0cr41gmxq5v71r6kmb7ql82"; + sha256 = "0h8vfs6icpfwc41qx6n6rc1m35haxp2gaswg9fhcki2w2ikp6knb"; }; path = "syntastic"; @@ -168,11 +168,12 @@ in rec path = "vim-coffee-script"; }; - command_T = simpleDerivation { - name = "vim-command-t-1.4"; + command_T = simpleDerivation rec { + version = "1.8"; + name = "vim-command-t-${version}"; src = fetchurl { - url = "https://github.com/wincent/Command-T/archive/1.4.tar.gz"; - sha256 = "1ka9hwx9n0vj1dd5qsd2l1wq0kriwl76jmmdjzh7zaf0p547v98s"; + url = "https://github.com/wincent/Command-T/archive/${version}.tar.gz"; + sha256 = "ad8664292e6eee40fbe195d856d20d93a8630e8c0149317ad72cc39423630800"; }; path = "Command-T"; buildInputs = [ perl ruby ]; @@ -184,10 +185,11 @@ in rec ''; }; - eighties = simpleDerivation { - name = "vim-eighties-1.0.4"; + eighties = simpleDerivation rec { + version = "1.0.4"; + name = "vim-eighties-${version}"; src = fetchurl { - url = "https://github.com/justincampbell/vim-eighties/archive/1.0.4.tar.gz"; + url = "https://github.com/justincampbell/vim-eighties/archive/${version}.tar.gz"; sha256 = "0cjd9hbg2qd7jjkvyi15f9ysp7m3aa2sg8nvbf80yb890rfkwaqr"; }; path = "eighties"; @@ -258,7 +260,7 @@ in rec }; tagbar = simpleDerivation rec { - version = "2.5"; + version = "2.6.1"; name = "vim-tagbar-${version}"; meta = with stdenv.lib; { @@ -271,7 +273,7 @@ in rec src = fetchurl { url = "https://github.com/majutsushi/tagbar/archive/v${version}.tar.gz"; - sha256 = "1s4aic3qbk2ra2cif06g16d0avlmpxhrm96dksrw9qnv4hcjqqxr"; + sha256 = "c061a7e0a45a166f4558b31e6c47b9fd701f5fa1319527b65a268ea054dea5fb"; }; path = "tagbar"; @@ -317,7 +319,7 @@ in rec }; vimproc = simpleDerivation rec { - version = "5cf4c6bfe9bf0649159b5648d736d54c96e99b3e"; + version = "7788b5f934bc7460c1e9134b51fe5690b21de83c"; name = "vimproc-${version}"; meta = with stdenv.lib; { @@ -329,10 +331,11 @@ in rec platforms = platforms.unix; }; - src = fetchurl { - url = "${meta.homepage}/archive/${version}.tar.gz"; - sha256 = "0f76mc7v3656sf9syaq1rxzk3dqz6i5w190wgj15sjjnapzd956p"; - }; + src = fetchgit { + url = "https://github.com/Shougo/vimproc.vim.git"; + rev = "${version}"; + sha256 = "0ahmnzccf5rv8rwg7b6pfgxh8pcmq955aznjv64slyh0mjqmh6jl"; + }; buildInputs = [ which ]; diff --git a/pkgs/os-specific/darwin/cctools-port/default.nix b/pkgs/os-specific/darwin/cctools-port/default.nix new file mode 100644 index 00000000000..cdc259c1e2a --- /dev/null +++ b/pkgs/os-specific/darwin/cctools-port/default.nix @@ -0,0 +1,64 @@ +{ stdenv, cross, fetchurl, autoconf, automake, libtool +, libcxx, llvm, clang, openssl, libuuid +, maloader, makeWrapper, xctoolchain +}: + +stdenv.mkDerivation rec { + name = "cctools-port-${version}"; + version = "845"; + + src = fetchurl { + url = "https://github.com/tpoechtrager/cctools-port/archive/" + + "cctools-${version}-ld64-136-1.tar.gz"; + sha256 = "06pg6h1g8avgx4j6cfykdpggf490li796gzhhyqn27jsagli307i"; + }; + + buildInputs = [ + autoconf automake libtool libcxx llvm clang openssl libuuid makeWrapper + ]; + + patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ]; + + enableParallelBuilding = true; + + postPatch = '' + patchShebangs tools + sed -i -e 's/which/type -P/' tools/*.sh + sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh + + # Workaround for https://www.sourceware.org/bugzilla/show_bug.cgi?id=11157 + cat > cctools/include/unistd.h < 0 ) { +- if ( !minOS(ld::mac10_5, ld::iOS_2_0) ) +- throw "-rpath can only be used when targeting Mac OS X 10.5 or later"; +- switch ( fOutputKind ) { +- case Options::kDynamicExecutable: +- case Options::kDynamicLibrary: +- case Options::kDynamicBundle: +- break; +- case Options::kStaticExecutable: +- case Options::kObjectFile: +- case Options::kDyld: +- case Options::kPreload: +- case Options::kKextBundle: +- throw "-rpath can only be used when creating a dynamic final linked image"; +- } +- } +- ++ if ( fRPaths.size() > 0 && !minOS(ld::mac10_5, ld::iOS_2_0) ) ++ throw "-rpath can only be used when targeting Mac OS X 10.5 or later"; ++ + if ( fPositionIndependentExecutable ) { + switch ( fOutputKind ) { + case Options::kDynamicExecutable: diff --git a/pkgs/os-specific/darwin/maloader/default.nix b/pkgs/os-specific/darwin/maloader/default.nix new file mode 100644 index 00000000000..f5bfe890735 --- /dev/null +++ b/pkgs/os-specific/darwin/maloader/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchgit, opencflite, clang, libcxx }: + +stdenv.mkDerivation { + name = "maloader-0git"; + + src = fetchgit { + url = "git://github.com/shinh/maloader.git"; + rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442"; + sha256 = "07j9b7n0grrbxxyn2h8pnk6pa8b370wq5z5zwbds8dlhi7q37rhn"; + }; + + postPatch = '' + sed -i \ + -e '/if.*loadLibMac.*mypath/s|mypath|"'"$out/lib/"'"|' \ + -e 's|libCoreFoundation\.so|${opencflite}/lib/&|' \ + ld-mac.cc + ''; + + NIX_CFLAGS_COMPILE = "-I${libcxx}/include/c++/v1"; + buildInputs = [ clang libcxx ]; + buildFlags = [ "USE_LIBCXX=1" "release" ]; + + installPhase = '' + install -vD libmac.so "$out/lib/libmac.so" + + for bin in extract macho2elf ld-mac; do + install -vD "$bin" "$out/bin/$bin" + done + ''; + + meta = { + description = "Mach-O loader for Linux"; + homepage = "https://github.com/shinh/maloader"; + license = stdenv.lib.licenses.bsd2; + }; +} diff --git a/pkgs/os-specific/darwin/opencflite/default.nix b/pkgs/os-specific/darwin/opencflite/default.nix new file mode 100644 index 00000000000..a2408bfc5c8 --- /dev/null +++ b/pkgs/os-specific/darwin/opencflite/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, icu, libuuid, tzdata }: + +stdenv.mkDerivation rec { + name = "opencflite-${version}"; + version = "476.19.0"; + + src = fetchurl { + url = "mirror://sourceforge/opencflite/${name}.tar.gz"; + sha256 = "0jgmzs0ycl930hmzcvx0ykryik56704yw62w394q1q3xw5kkjn9v"; + }; + + configureFlags = [ "--with-uuid=${libuuid}" ]; + buildInputs = [ icu tzdata.lib ]; + enableParallelBuilding = true; + + meta = { + description = "Cross platform port of the OS X CoreFoundation"; + homepage = "http://sourceforge.net/projects/opencflite/"; + license = stdenv.lib.licenses.apsl20; + }; +} diff --git a/pkgs/os-specific/darwin/xcode/default.nix b/pkgs/os-specific/darwin/xcode/default.nix new file mode 100644 index 00000000000..73585d59c0b --- /dev/null +++ b/pkgs/os-specific/darwin/xcode/default.nix @@ -0,0 +1,52 @@ +{ stdenv, requireFile, xpwn }: + +with stdenv.lib; + +let + osxVersion = "10.9"; +in stdenv.mkDerivation rec { + name = "xcode-${version}"; + version = "5.1"; + + src = requireFile { + name = "xcode_${version}.dmg"; + url = meta.homepage; + sha256 = "70bb550cc14eca80b9825f4ae9bfbf7f076bb75777311be428bc30a7eb7a6f7e"; + }; + + phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ]; + outputs = [ "out" "toolchain" ]; + + + unpackCmd = let + basePath = "Xcode.app/Contents/Developer/Platforms/MacOSX.platform"; + sdkPath = "${basePath}/Developer/SDKs"; + in '' + ${xpwn}/bin/dmg extract "$curSrc" main.hfs > /dev/null + ${xpwn}/bin/hfsplus main.hfs extractall "${sdkPath}" > /dev/null + ''; + + setSourceRoot = "sourceRoot=MacOSX${osxVersion}.sdk"; + + patches = optional (osxVersion == "10.9") ./gcc-fix-enum-attributes.patch; + + installPhase = '' + ensureDir "$out/share/sysroot" + cp -a * "$out/share/sysroot/" + ln -s "$out/share/sysroot/usr/lib" "$out/lib" + ln -s "$out/share/sysroot/usr/include" "$out/include" + + ensureDir "$toolchain" + pushd "$toolchain" + ${xpwn}/bin/hfsplus "$(dirs +1)/../main.hfs" extractall \ + Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr \ + > /dev/null + popd + ''; + + meta = { + homepage = "https://developer.apple.com/downloads/"; + description = "Apple's XCode SDK"; + license = stdenv.lib.licenses.unfree; + }; +} diff --git a/pkgs/os-specific/darwin/xcode/gcc-fix-enum-attributes.patch b/pkgs/os-specific/darwin/xcode/gcc-fix-enum-attributes.patch new file mode 100644 index 00000000000..1e1895c2894 --- /dev/null +++ b/pkgs/os-specific/darwin/xcode/gcc-fix-enum-attributes.patch @@ -0,0 +1,13 @@ +diff --git a/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h b/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h +index fa0c290..7da7e0c 100644 +--- a/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h ++++ b/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h +@@ -13,7 +13,7 @@ typedef NS_ENUM(NSInteger, NSUserNotificationActivationType) { + NSUserNotificationActivationTypeNone = 0, + NSUserNotificationActivationTypeContentsClicked = 1, + NSUserNotificationActivationTypeActionButtonClicked = 2, +- NSUserNotificationActivationTypeReplied NS_AVAILABLE(10_9, NA) = 3 ++ NSUserNotificationActivationTypeReplied = 3 + } NS_ENUM_AVAILABLE(10_8, NA); + + NS_CLASS_AVAILABLE(10_8, NA) diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index 51fe768df83..12173e20f3f 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "apparmor-${version}"; - version = "2.8.2"; + version = "2.8.3"; src = fetchurl { url = "http://launchpad.net/apparmor/2.8/${version}/+download/${name}.tar.gz"; - sha256 = "1fyjvfkvl0fc7agmz64ck8c965940xvcljrczq1z66sydivkybvl"; + sha256 = "0zjwhkq9wh76m59zmrzfp68sjy4fnz4h23r7asxyaw6inrzwmhl4"; }; buildInputs = [ @@ -87,7 +87,7 @@ stdenv.mkDerivation rec { homepage = http://apparmor.net/; description = "Linux application security system"; license = licenses.gpl2; - maintainers = [ maintainers.phreedom ]; + maintainers = [ maintainers.phreedom maintainers.thoughtpolice ]; platforms = platforms.linux; }; } diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix index ffa91e951a8..f9f5c185bbd 100644 --- a/pkgs/os-specific/linux/bluez/bluez5.nix +++ b/pkgs/os-specific/linux/bluez/bluez5.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, python, +{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python, pythonPackages, pythonDBus, readline, libsndfile, udev, libical, systemd }: @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { [ 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. diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix index bef8de495ad..ce609c5be47 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/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix index 44689cd5d62..d252d9ce162 100644 --- a/pkgs/os-specific/linux/conspy/default.nix +++ b/pkgs/os-specific/linux/conspy/default.nix @@ -3,11 +3,11 @@ let s = # Generated upstream information rec { baseName="conspy"; - version="1.8"; + version="1.9"; name="${baseName}-${version}"; - hash=sha256; - url="http://ace-host.stuart.id.au/russell/files/conspy/conspy-1.8.tar.gz"; - sha256="1jc2maqp4w4mzlr3s8yni03w1p9sir5hb7gha3ffxj4n32nx42dq"; + hash="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv"; + url="http://ace-host.stuart.id.au/russell/files/conspy/conspy-1.9.tar.gz"; + sha256="1ndwdx8x5lnjl6cddy1d8g8m7ndxyj3wrs100w2bp9gnvbxbb8vv"; }; buildInputs = [ autoconf automake ncurses diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix new file mode 100644 index 00000000000..bf6e8c36f3d --- /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 index 349d690e4d1..8cb39927353 100644 --- a/pkgs/os-specific/linux/criu/default.nix +++ b/pkgs/os-specific/linux/criu/default.nix @@ -1,13 +1,12 @@ { stdenv, fetchurl, protobuf, protobufc, asciidoc, xmlto, utillinux }: -assert stdenv.system == "x86_64-linux"; stdenv.mkDerivation rec { name = "criu-${version}"; - version = "1.2"; + version = "1.3-rc1"; src = fetchurl { url = "http://download.openvz.org/criu/${name}.tar.bz2"; - sha256 = "04xlnqvgbjd5wfmi97m5rr76a3agkz8g96hdyzhc6x8gd52bbg9y"; + sha256 = "00q3kyvaizg5x2zladj0mazmp69c9kg7nvlazcqf0w6bqp0y7sp0"; }; enableParallelBuilding = true; @@ -16,12 +15,11 @@ stdenv.mkDerivation rec { patchPhase = '' chmod +w ./scripts/gen-offsets.sh substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump + substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" "" ''; - buildPhase = '' - make config PREFIX=$out - make PREFIX=$out - ''; + configurePhase = "make config PREFIX=$out"; + buildPhase = "make PREFIX=$out"; installPhase = '' mkdir -p $out/etc/logrotate.d diff --git a/pkgs/os-specific/linux/disk-indicator/default.nix b/pkgs/os-specific/linux/disk-indicator/default.nix new file mode 100644 index 00000000000..57fc9390f61 --- /dev/null +++ b/pkgs/os-specific/linux/disk-indicator/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchgit, libX11 }: + +stdenv.mkDerivation { + name = "disk-indicator"; + + src = fetchgit { + url = git://github.com/MeanEYE/Disk-Indicator.git; + rev = "51ef4afd8141b8d0659cbc7dc62189c56ae9c2da"; + sha256 = "0f8mxl3wqlap8zajdk6r9liliayp8w4xs4jy8jbwanmmppwz0nb9"; + }; + + buildInputs = [ libX11 ]; + + patchPhase = '' + substituteInPlace ./makefile --replace "COMPILER=c99" "COMPILER=gcc -std=c99" + substituteInPlace ./makefile --replace "COMPILE_FLAGS=" "COMPILE_FLAGS=-O2 " + ''; + + buildPhase = "make -f makefile"; + + installPhase = '' + mkdir -p "$out/bin" + cp ./disk_indicator "$out/bin/" + ''; + + meta = { + homepage = https://github.com/MeanEYE/Disk-Indicator; + description = "A program that will turn a LED into a hard disk indicator"; + longDescription = '' + Small program for Linux that will turn your Scroll, Caps or Num Lock LED + or LED on your ThinkPad laptop into a hard disk activity indicator. + ''; + license = "GPLv3"; + platforms = stdenv.lib.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 5019491d3fd..9d31fde2f0f 100644 --- a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix +++ b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "b43-fwcutter-015"; + name = "b43-fwcutter-018"; src = fetchurl { url = "http://bues.ch/b43/fwcutter/${name}.tar.bz2"; - sha256 = "1sznw1jrhyfbx0ilwzrj6mzlgc96fzjbx56j4ji8lsypyp8m6sjc"; + sha256 = "13v34pa0y1jf4hkhsh3zagyb7s8b8ymplffaayscwsd3s7f6kc2p"; }; patches = [ ./no-root-install.patch ]; 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 f5efc565753..5afa2cbe4eb 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/htop/default.nix b/pkgs/os-specific/linux/htop/default.nix index 613adb5f5d2..d35b5340e9d 100644 --- a/pkgs/os-specific/linux/htop/default.nix +++ b/pkgs/os-specific/linux/htop/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, ncurses }: stdenv.mkDerivation rec { - name = "htop-1.0.2"; + name = "htop-1.0.3"; src = fetchurl { - url = "mirror://sourceforge/htop/${name}.tar.gz"; - sha256 = "18fqrhvnm7h4c3939av8lpiwrwxbyw6hcly0jvq0vkjf0ixnaq7f"; + url = "http://hisham.hm/htop/releases/1.0.3/htop-1.0.3.tar.gz"; + sha256 = "0a8qbpsifzjwc4f45xfwm48jhm59g6q5hlib4bf7z13mgy95fp05"; }; buildInputs = [ ncurses ]; @@ -14,6 +14,6 @@ stdenv.mkDerivation rec { description = "An interactive process viewer for Linux"; homepage = "http://htop.sourceforge.net"; platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.rob stdenv.lib.maintainers.simons ]; + maintainers = with stdenv.lib.maintainers; [ rob simons relrod ]; }; } 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 1ba03010f8a..d9d0ce7e3b3 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/apparmor-patches/3.2/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch new file mode 100644 index 00000000000..b411f43298c --- /dev/null +++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch @@ -0,0 +1,553 @@ +From 125fccb600288968aa3395883c0a394c47176fcd Mon Sep 17 00:00:00 2001 +From: John Johansen +Date: Wed, 10 Aug 2011 22:02:39 -0700 +Subject: [PATCH 1/3] AppArmor: compatibility patch for v5 network controll + +Add compatibility for v5 network rules. + +Signed-off-by: John Johansen +--- + include/linux/lsm_audit.h | 4 + + security/apparmor/Makefile | 19 +++- + security/apparmor/include/net.h | 40 +++++++++ + security/apparmor/include/policy.h | 3 + + security/apparmor/lsm.c | 112 ++++++++++++++++++++++++ + security/apparmor/net.c | 170 ++++++++++++++++++++++++++++++++++++ + security/apparmor/policy.c | 1 + + security/apparmor/policy_unpack.c | 48 +++++++++- + 8 files changed, 394 insertions(+), 3 deletions(-) + create mode 100644 security/apparmor/include/net.h + create mode 100644 security/apparmor/net.c + +diff --git a/include/linux/lsm_audit.h b/include/linux/lsm_audit.h +index 88e78de..c63979a 100644 +--- a/include/linux/lsm_audit.h ++++ b/include/linux/lsm_audit.h +@@ -124,6 +124,10 @@ struct common_audit_data { + u32 denied; + uid_t ouid; + } fs; ++ struct { ++ int type, protocol; ++ struct sock *sk; ++ } net; + }; + } apparmor_audit_data; + #endif +diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile +index 2dafe50..7cefef9 100644 +--- a/security/apparmor/Makefile ++++ b/security/apparmor/Makefile +@@ -4,9 +4,9 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o + + apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \ + path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \ +- resource.o sid.o file.o ++ resource.o sid.o file.o net.o + +-clean-files := capability_names.h rlim_names.h ++clean-files := capability_names.h rlim_names.h af_names.h + + + # Build a lower case string table of capability names +@@ -44,9 +44,24 @@ cmd_make-rlim = echo "static const char *rlim_names[] = {" > $@ ;\ + sed -r -n "s/^\# ?define[ \t]+(RLIMIT_[A-Z0-9_]+).*/\1,/p" $< >> $@ ;\ + echo "};" >> $@ + ++# Build a lower case string table of address family names. ++# Transform lines from ++# #define AF_INET 2 /* Internet IP Protocol */ ++# to ++# [2] = "inet", ++quiet_cmd_make-af = GEN $@ ++cmd_make-af = echo "static const char *address_family_names[] = {" > $@ ;\ ++ sed $< >> $@ -r -n -e "/AF_MAX/d" -e "/AF_LOCAL/d" -e \ ++ 's/^\#define[ \t]+AF_([A-Z0-9_]+)[ \t]+([0-9]+).*/[\2] = "\L\1",/p';\ ++ echo "};" >> $@ ++ ++ + $(obj)/capability.o : $(obj)/capability_names.h + $(obj)/resource.o : $(obj)/rlim_names.h ++$(obj)/net.o : $(obj)/af_names.h + $(obj)/capability_names.h : $(srctree)/include/linux/capability.h + $(call cmd,make-caps) + $(obj)/rlim_names.h : $(srctree)/include/asm-generic/resource.h + $(call cmd,make-rlim) ++$(obj)/af_names.h : $(srctree)/include/linux/socket.h ++ $(call cmd,make-af) +\ No newline at end of file +diff --git a/security/apparmor/include/net.h b/security/apparmor/include/net.h +new file mode 100644 +index 0000000..3c7d599 +--- /dev/null ++++ b/security/apparmor/include/net.h +@@ -0,0 +1,40 @@ ++/* ++ * AppArmor security module ++ * ++ * This file contains AppArmor network mediation definitions. ++ * ++ * Copyright (C) 1998-2008 Novell/SUSE ++ * Copyright 2009-2010 Canonical Ltd. ++ * ++ * 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, version 2 of the ++ * License. ++ */ ++ ++#ifndef __AA_NET_H ++#define __AA_NET_H ++ ++#include ++ ++/* struct aa_net - network confinement data ++ * @allowed: basic network families permissions ++ * @audit_network: which network permissions to force audit ++ * @quiet_network: which network permissions to quiet rejects ++ */ ++struct aa_net { ++ u16 allow[AF_MAX]; ++ u16 audit[AF_MAX]; ++ u16 quiet[AF_MAX]; ++}; ++ ++extern int aa_net_perm(int op, struct aa_profile *profile, u16 family, ++ int type, int protocol, struct sock *sk); ++extern int aa_revalidate_sk(int op, struct sock *sk); ++ ++static inline void aa_free_net_rules(struct aa_net *new) ++{ ++ /* NOP */ ++} ++ ++#endif /* __AA_NET_H */ +diff --git a/security/apparmor/include/policy.h b/security/apparmor/include/policy.h +index aeda5cf..6776929 100644 +--- a/security/apparmor/include/policy.h ++++ b/security/apparmor/include/policy.h +@@ -27,6 +27,7 @@ + #include "capability.h" + #include "domain.h" + #include "file.h" ++#include "net.h" + #include "resource.h" + + extern const char *profile_mode_names[]; +@@ -145,6 +146,7 @@ struct aa_namespace { + * @size: the memory consumed by this profiles rules + * @file: The set of rules governing basic file access and domain transitions + * @caps: capabilities for the profile ++ * @net: network controls for the profile + * @rlimits: rlimits for the profile + * + * The AppArmor profile contains the basic confinement data. Each profile +@@ -181,6 +183,7 @@ struct aa_profile { + + struct aa_file_rules file; + struct aa_caps caps; ++ struct aa_net net; + struct aa_rlimit rlimits; + }; + +diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c +index 3783202..7459547 100644 +--- a/security/apparmor/lsm.c ++++ b/security/apparmor/lsm.c +@@ -32,6 +32,7 @@ + #include "include/context.h" + #include "include/file.h" + #include "include/ipc.h" ++#include "include/net.h" + #include "include/path.h" + #include "include/policy.h" + #include "include/procattr.h" +@@ -621,6 +622,104 @@ static int apparmor_task_setrlimit(struct task_struct *task, + return error; + } + ++static int apparmor_socket_create(int family, int type, int protocol, int kern) ++{ ++ struct aa_profile *profile; ++ int error = 0; ++ ++ if (kern) ++ return 0; ++ ++ profile = __aa_current_profile(); ++ if (!unconfined(profile)) ++ error = aa_net_perm(OP_CREATE, profile, family, type, protocol, ++ NULL); ++ return error; ++} ++ ++static int apparmor_socket_bind(struct socket *sock, ++ struct sockaddr *address, int addrlen) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_BIND, sk); ++} ++ ++static int apparmor_socket_connect(struct socket *sock, ++ struct sockaddr *address, int addrlen) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_CONNECT, sk); ++} ++ ++static int apparmor_socket_listen(struct socket *sock, int backlog) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_LISTEN, sk); ++} ++ ++static int apparmor_socket_accept(struct socket *sock, struct socket *newsock) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_ACCEPT, sk); ++} ++ ++static int apparmor_socket_sendmsg(struct socket *sock, ++ struct msghdr *msg, int size) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_SENDMSG, sk); ++} ++ ++static int apparmor_socket_recvmsg(struct socket *sock, ++ struct msghdr *msg, int size, int flags) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_RECVMSG, sk); ++} ++ ++static int apparmor_socket_getsockname(struct socket *sock) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_GETSOCKNAME, sk); ++} ++ ++static int apparmor_socket_getpeername(struct socket *sock) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_GETPEERNAME, sk); ++} ++ ++static int apparmor_socket_getsockopt(struct socket *sock, int level, ++ int optname) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_GETSOCKOPT, sk); ++} ++ ++static int apparmor_socket_setsockopt(struct socket *sock, int level, ++ int optname) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_SETSOCKOPT, sk); ++} ++ ++static int apparmor_socket_shutdown(struct socket *sock, int how) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_SOCK_SHUTDOWN, sk); ++} ++ + static struct security_operations apparmor_ops = { + .name = "apparmor", + +@@ -652,6 +751,19 @@ static struct security_operations apparmor_ops = { + .getprocattr = apparmor_getprocattr, + .setprocattr = apparmor_setprocattr, + ++ .socket_create = apparmor_socket_create, ++ .socket_bind = apparmor_socket_bind, ++ .socket_connect = apparmor_socket_connect, ++ .socket_listen = apparmor_socket_listen, ++ .socket_accept = apparmor_socket_accept, ++ .socket_sendmsg = apparmor_socket_sendmsg, ++ .socket_recvmsg = apparmor_socket_recvmsg, ++ .socket_getsockname = apparmor_socket_getsockname, ++ .socket_getpeername = apparmor_socket_getpeername, ++ .socket_getsockopt = apparmor_socket_getsockopt, ++ .socket_setsockopt = apparmor_socket_setsockopt, ++ .socket_shutdown = apparmor_socket_shutdown, ++ + .cred_alloc_blank = apparmor_cred_alloc_blank, + .cred_free = apparmor_cred_free, + .cred_prepare = apparmor_cred_prepare, +diff --git a/security/apparmor/net.c b/security/apparmor/net.c +new file mode 100644 +index 0000000..1765901 +--- /dev/null ++++ b/security/apparmor/net.c +@@ -0,0 +1,170 @@ ++/* ++ * AppArmor security module ++ * ++ * This file contains AppArmor network mediation ++ * ++ * Copyright (C) 1998-2008 Novell/SUSE ++ * Copyright 2009-2010 Canonical Ltd. ++ * ++ * 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, version 2 of the ++ * License. ++ */ ++ ++#include "include/apparmor.h" ++#include "include/audit.h" ++#include "include/context.h" ++#include "include/net.h" ++#include "include/policy.h" ++ ++#include "af_names.h" ++ ++static const char *sock_type_names[] = { ++ "unknown(0)", ++ "stream", ++ "dgram", ++ "raw", ++ "rdm", ++ "seqpacket", ++ "dccp", ++ "unknown(7)", ++ "unknown(8)", ++ "unknown(9)", ++ "packet", ++}; ++ ++/* audit callback for net specific fields */ ++static void audit_cb(struct audit_buffer *ab, void *va) ++{ ++ struct common_audit_data *sa = va; ++ ++ audit_log_format(ab, " family="); ++ if (address_family_names[sa->u.net.family]) { ++ audit_log_string(ab, address_family_names[sa->u.net.family]); ++ } else { ++ audit_log_format(ab, " \"unknown(%d)\"", sa->u.net.family); ++ } ++ ++ audit_log_format(ab, " sock_type="); ++ if (sock_type_names[sa->aad.net.type]) { ++ audit_log_string(ab, sock_type_names[sa->aad.net.type]); ++ } else { ++ audit_log_format(ab, "\"unknown(%d)\"", sa->aad.net.type); ++ } ++ ++ audit_log_format(ab, " protocol=%d", sa->aad.net.protocol); ++} ++ ++/** ++ * audit_net - audit network access ++ * @profile: profile being enforced (NOT NULL) ++ * @op: operation being checked ++ * @family: network family ++ * @type: network type ++ * @protocol: network protocol ++ * @sk: socket auditing is being applied to ++ * @error: error code for failure else 0 ++ * ++ * Returns: %0 or sa->error else other errorcode on failure ++ */ ++static int audit_net(struct aa_profile *profile, int op, u16 family, int type, ++ int protocol, struct sock *sk, int error) ++{ ++ int audit_type = AUDIT_APPARMOR_AUTO; ++ struct common_audit_data sa; ++ if (sk) { ++ COMMON_AUDIT_DATA_INIT(&sa, NET); ++ } else { ++ COMMON_AUDIT_DATA_INIT(&sa, NONE); ++ } ++ /* todo fill in socket addr info */ ++ ++ sa.aad.op = op, ++ sa.u.net.family = family; ++ sa.u.net.sk = sk; ++ sa.aad.net.type = type; ++ sa.aad.net.protocol = protocol; ++ sa.aad.error = error; ++ ++ if (likely(!sa.aad.error)) { ++ u16 audit_mask = profile->net.audit[sa.u.net.family]; ++ if (likely((AUDIT_MODE(profile) != AUDIT_ALL) && ++ !(1 << sa.aad.net.type & audit_mask))) ++ return 0; ++ audit_type = AUDIT_APPARMOR_AUDIT; ++ } else { ++ u16 quiet_mask = profile->net.quiet[sa.u.net.family]; ++ u16 kill_mask = 0; ++ u16 denied = (1 << sa.aad.net.type) & ~quiet_mask; ++ ++ if (denied & kill_mask) ++ audit_type = AUDIT_APPARMOR_KILL; ++ ++ if ((denied & quiet_mask) && ++ AUDIT_MODE(profile) != AUDIT_NOQUIET && ++ AUDIT_MODE(profile) != AUDIT_ALL) ++ return COMPLAIN_MODE(profile) ? 0 : sa.aad.error; ++ } ++ ++ return aa_audit(audit_type, profile, GFP_KERNEL, &sa, audit_cb); ++} ++ ++/** ++ * aa_net_perm - very course network access check ++ * @op: operation being checked ++ * @profile: profile being enforced (NOT NULL) ++ * @family: network family ++ * @type: network type ++ * @protocol: network protocol ++ * ++ * Returns: %0 else error if permission denied ++ */ ++int aa_net_perm(int op, struct aa_profile *profile, u16 family, int type, ++ int protocol, struct sock *sk) ++{ ++ u16 family_mask; ++ int error; ++ ++ if ((family < 0) || (family >= AF_MAX)) ++ return -EINVAL; ++ ++ if ((type < 0) || (type >= SOCK_MAX)) ++ return -EINVAL; ++ ++ /* unix domain and netlink sockets are handled by ipc */ ++ if (family == AF_UNIX || family == AF_NETLINK) ++ return 0; ++ ++ family_mask = profile->net.allow[family]; ++ ++ error = (family_mask & (1 << type)) ? 0 : -EACCES; ++ ++ return audit_net(profile, op, family, type, protocol, sk, error); ++} ++ ++/** ++ * aa_revalidate_sk - Revalidate access to a sock ++ * @op: operation being checked ++ * @sk: sock being revalidated (NOT NULL) ++ * ++ * Returns: %0 else error if permission denied ++ */ ++int aa_revalidate_sk(int op, struct sock *sk) ++{ ++ struct aa_profile *profile; ++ int error = 0; ++ ++ /* aa_revalidate_sk should not be called from interrupt context ++ * don't mediate these calls as they are not task related ++ */ ++ if (in_interrupt()) ++ return 0; ++ ++ profile = __aa_current_profile(); ++ if (!unconfined(profile)) ++ error = aa_net_perm(op, profile, sk->sk_family, sk->sk_type, ++ sk->sk_protocol, sk); ++ ++ return error; ++} +diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c +index 4f0eade..4d5ce13 100644 +--- a/security/apparmor/policy.c ++++ b/security/apparmor/policy.c +@@ -745,6 +745,7 @@ static void free_profile(struct aa_profile *profile) + + aa_free_file_rules(&profile->file); + aa_free_cap_rules(&profile->caps); ++ aa_free_net_rules(&profile->net); + aa_free_rlimit_rules(&profile->rlimits); + + aa_free_sid(profile->sid); +diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c +index 741dd13..ee8043e 100644 +--- a/security/apparmor/policy_unpack.c ++++ b/security/apparmor/policy_unpack.c +@@ -190,6 +190,19 @@ fail: + return 0; + } + ++static bool unpack_u16(struct aa_ext *e, u16 *data, const char *name) ++{ ++ if (unpack_nameX(e, AA_U16, name)) { ++ if (!inbounds(e, sizeof(u16))) ++ return 0; ++ if (data) ++ *data = le16_to_cpu(get_unaligned((u16 *) e->pos)); ++ e->pos += sizeof(u16); ++ return 1; ++ } ++ return 0; ++} ++ + static bool unpack_u32(struct aa_ext *e, u32 *data, const char *name) + { + if (unpack_nameX(e, AA_U32, name)) { +@@ -468,7 +481,8 @@ static struct aa_profile *unpack_profile(struct aa_ext *e) + { + struct aa_profile *profile = NULL; + const char *name = NULL; +- int error = -EPROTO; ++ size_t size = 0; ++ int i, error = -EPROTO; + kernel_cap_t tmpcap; + u32 tmp; + +@@ -559,6 +573,38 @@ static struct aa_profile *unpack_profile(struct aa_ext *e) + if (!unpack_rlimits(e, profile)) + goto fail; + ++ size = unpack_array(e, "net_allowed_af"); ++ if (size) { ++ ++ for (i = 0; i < size; i++) { ++ /* discard extraneous rules that this kernel will ++ * never request ++ */ ++ if (i >= AF_MAX) { ++ u16 tmp; ++ if (!unpack_u16(e, &tmp, NULL) || ++ !unpack_u16(e, &tmp, NULL) || ++ !unpack_u16(e, &tmp, NULL)) ++ goto fail; ++ continue; ++ } ++ if (!unpack_u16(e, &profile->net.allow[i], NULL)) ++ goto fail; ++ if (!unpack_u16(e, &profile->net.audit[i], NULL)) ++ goto fail; ++ if (!unpack_u16(e, &profile->net.quiet[i], NULL)) ++ goto fail; ++ } ++ if (!unpack_nameX(e, AA_ARRAYEND, NULL)) ++ goto fail; ++ /* ++ * allow unix domain and netlink sockets they are handled ++ * by IPC ++ */ ++ } ++ profile->net.allow[AF_UNIX] = 0xffff; ++ profile->net.allow[AF_NETLINK] = 0xffff; ++ + /* get file rules */ + profile->file.dfa = unpack_dfa(e); + if (IS_ERR(profile->file.dfa)) { +-- +1.7.9.5 + diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0002-AppArmor-compatibility-patch-for-v5-interface.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0002-AppArmor-compatibility-patch-for-v5-interface.patch new file mode 100644 index 00000000000..aa4b6b1109f --- /dev/null +++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0002-AppArmor-compatibility-patch-for-v5-interface.patch @@ -0,0 +1,391 @@ +From 004192fb5223c7b81a949e36a080a5da56132826 Mon Sep 17 00:00:00 2001 +From: John Johansen +Date: Wed, 10 Aug 2011 22:02:40 -0700 +Subject: [PATCH 2/3] AppArmor: compatibility patch for v5 interface + +Signed-off-by: John Johansen +--- + security/apparmor/Kconfig | 9 + + security/apparmor/Makefile | 1 + + security/apparmor/apparmorfs-24.c | 287 ++++++++++++++++++++++++++++++++ + security/apparmor/apparmorfs.c | 18 +- + security/apparmor/include/apparmorfs.h | 6 + + 5 files changed, 319 insertions(+), 2 deletions(-) + create mode 100644 security/apparmor/apparmorfs-24.c + +diff --git a/security/apparmor/Kconfig b/security/apparmor/Kconfig +index 9b9013b..51ebf96 100644 +--- a/security/apparmor/Kconfig ++++ b/security/apparmor/Kconfig +@@ -29,3 +29,12 @@ config SECURITY_APPARMOR_BOOTPARAM_VALUE + boot. + + If you are unsure how to answer this question, answer 1. ++ ++config SECURITY_APPARMOR_COMPAT_24 ++ bool "Enable AppArmor 2.4 compatability" ++ depends on SECURITY_APPARMOR ++ default y ++ help ++ This option enables compatability with AppArmor 2.4. It is ++ recommended if compatability with older versions of AppArmor ++ is desired. +diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile +index 7cefef9..0bb604b 100644 +--- a/security/apparmor/Makefile ++++ b/security/apparmor/Makefile +@@ -5,6 +5,7 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o + apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \ + path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \ + resource.o sid.o file.o net.o ++apparmor-$(CONFIG_SECURITY_APPARMOR_COMPAT_24) += apparmorfs-24.o + + clean-files := capability_names.h rlim_names.h af_names.h + +diff --git a/security/apparmor/apparmorfs-24.c b/security/apparmor/apparmorfs-24.c +new file mode 100644 +index 0000000..dc8c744 +--- /dev/null ++++ b/security/apparmor/apparmorfs-24.c +@@ -0,0 +1,287 @@ ++/* ++ * AppArmor security module ++ * ++ * This file contains AppArmor /sys/kernel/secrutiy/apparmor interface functions ++ * ++ * Copyright (C) 1998-2008 Novell/SUSE ++ * Copyright 2009-2010 Canonical Ltd. ++ * ++ * 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, version 2 of the ++ * License. ++ * ++ * ++ * This file contain functions providing an interface for <= AppArmor 2.4 ++ * compatibility. It is dependent on CONFIG_SECURITY_APPARMOR_COMPAT_24 ++ * being set (see Makefile). ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "include/apparmor.h" ++#include "include/audit.h" ++#include "include/context.h" ++#include "include/policy.h" ++ ++ ++/* apparmor/matching */ ++static ssize_t aa_matching_read(struct file *file, char __user *buf, ++ size_t size, loff_t *ppos) ++{ ++ const char matching[] = "pattern=aadfa audit perms=crwxamlk/ " ++ "user::other"; ++ ++ return simple_read_from_buffer(buf, size, ppos, matching, ++ sizeof(matching) - 1); ++} ++ ++const struct file_operations aa_fs_matching_fops = { ++ .read = aa_matching_read, ++}; ++ ++/* apparmor/features */ ++static ssize_t aa_features_read(struct file *file, char __user *buf, ++ size_t size, loff_t *ppos) ++{ ++ const char features[] = "file=3.1 capability=2.0 network=1.0 " ++ "change_hat=1.5 change_profile=1.1 " "aanamespaces=1.1 rlimit=1.1"; ++ ++ return simple_read_from_buffer(buf, size, ppos, features, ++ sizeof(features) - 1); ++} ++ ++const struct file_operations aa_fs_features_fops = { ++ .read = aa_features_read, ++}; ++ ++/** ++ * __next_namespace - find the next namespace to list ++ * @root: root namespace to stop search at (NOT NULL) ++ * @ns: current ns position (NOT NULL) ++ * ++ * Find the next namespace from @ns under @root and handle all locking needed ++ * while switching current namespace. ++ * ++ * Returns: next namespace or NULL if at last namespace under @root ++ * NOTE: will not unlock root->lock ++ */ ++static struct aa_namespace *__next_namespace(struct aa_namespace *root, ++ struct aa_namespace *ns) ++{ ++ struct aa_namespace *parent; ++ ++ /* is next namespace a child */ ++ if (!list_empty(&ns->sub_ns)) { ++ struct aa_namespace *next; ++ next = list_first_entry(&ns->sub_ns, typeof(*ns), base.list); ++ read_lock(&next->lock); ++ return next; ++ } ++ ++ /* check if the next ns is a sibling, parent, gp, .. */ ++ parent = ns->parent; ++ while (parent) { ++ read_unlock(&ns->lock); ++ list_for_each_entry_continue(ns, &parent->sub_ns, base.list) { ++ read_lock(&ns->lock); ++ return ns; ++ } ++ if (parent == root) ++ return NULL; ++ ns = parent; ++ parent = parent->parent; ++ } ++ ++ return NULL; ++} ++ ++/** ++ * __first_profile - find the first profile in a namespace ++ * @root: namespace that is root of profiles being displayed (NOT NULL) ++ * @ns: namespace to start in (NOT NULL) ++ * ++ * Returns: unrefcounted profile or NULL if no profile ++ */ ++static struct aa_profile *__first_profile(struct aa_namespace *root, ++ struct aa_namespace *ns) ++{ ++ for ( ; ns; ns = __next_namespace(root, ns)) { ++ if (!list_empty(&ns->base.profiles)) ++ return list_first_entry(&ns->base.profiles, ++ struct aa_profile, base.list); ++ } ++ return NULL; ++} ++ ++/** ++ * __next_profile - step to the next profile in a profile tree ++ * @profile: current profile in tree (NOT NULL) ++ * ++ * Perform a depth first taversal on the profile tree in a namespace ++ * ++ * Returns: next profile or NULL if done ++ * Requires: profile->ns.lock to be held ++ */ ++static struct aa_profile *__next_profile(struct aa_profile *p) ++{ ++ struct aa_profile *parent; ++ struct aa_namespace *ns = p->ns; ++ ++ /* is next profile a child */ ++ if (!list_empty(&p->base.profiles)) ++ return list_first_entry(&p->base.profiles, typeof(*p), ++ base.list); ++ ++ /* is next profile a sibling, parent sibling, gp, subling, .. */ ++ parent = p->parent; ++ while (parent) { ++ list_for_each_entry_continue(p, &parent->base.profiles, ++ base.list) ++ return p; ++ p = parent; ++ parent = parent->parent; ++ } ++ ++ /* is next another profile in the namespace */ ++ list_for_each_entry_continue(p, &ns->base.profiles, base.list) ++ return p; ++ ++ return NULL; ++} ++ ++/** ++ * next_profile - step to the next profile in where ever it may be ++ * @root: root namespace (NOT NULL) ++ * @profile: current profile (NOT NULL) ++ * ++ * Returns: next profile or NULL if there isn't one ++ */ ++static struct aa_profile *next_profile(struct aa_namespace *root, ++ struct aa_profile *profile) ++{ ++ struct aa_profile *next = __next_profile(profile); ++ if (next) ++ return next; ++ ++ /* finished all profiles in namespace move to next namespace */ ++ return __first_profile(root, __next_namespace(root, profile->ns)); ++} ++ ++/** ++ * p_start - start a depth first traversal of profile tree ++ * @f: seq_file to fill ++ * @pos: current position ++ * ++ * Returns: first profile under current namespace or NULL if none found ++ * ++ * acquires first ns->lock ++ */ ++static void *p_start(struct seq_file *f, loff_t *pos) ++ __acquires(root->lock) ++{ ++ struct aa_profile *profile = NULL; ++ struct aa_namespace *root = aa_current_profile()->ns; ++ loff_t l = *pos; ++ f->private = aa_get_namespace(root); ++ ++ ++ /* find the first profile */ ++ read_lock(&root->lock); ++ profile = __first_profile(root, root); ++ ++ /* skip to position */ ++ for (; profile && l > 0; l--) ++ profile = next_profile(root, profile); ++ ++ return profile; ++} ++ ++/** ++ * p_next - read the next profile entry ++ * @f: seq_file to fill ++ * @p: profile previously returned ++ * @pos: current position ++ * ++ * Returns: next profile after @p or NULL if none ++ * ++ * may acquire/release locks in namespace tree as necessary ++ */ ++static void *p_next(struct seq_file *f, void *p, loff_t *pos) ++{ ++ struct aa_profile *profile = p; ++ struct aa_namespace *root = f->private; ++ (*pos)++; ++ ++ return next_profile(root, profile); ++} ++ ++/** ++ * p_stop - stop depth first traversal ++ * @f: seq_file we are filling ++ * @p: the last profile writen ++ * ++ * Release all locking done by p_start/p_next on namespace tree ++ */ ++static void p_stop(struct seq_file *f, void *p) ++ __releases(root->lock) ++{ ++ struct aa_profile *profile = p; ++ struct aa_namespace *root = f->private, *ns; ++ ++ if (profile) { ++ for (ns = profile->ns; ns && ns != root; ns = ns->parent) ++ read_unlock(&ns->lock); ++ } ++ read_unlock(&root->lock); ++ aa_put_namespace(root); ++} ++ ++/** ++ * seq_show_profile - show a profile entry ++ * @f: seq_file to file ++ * @p: current position (profile) (NOT NULL) ++ * ++ * Returns: error on failure ++ */ ++static int seq_show_profile(struct seq_file *f, void *p) ++{ ++ struct aa_profile *profile = (struct aa_profile *)p; ++ struct aa_namespace *root = f->private; ++ ++ if (profile->ns != root) ++ seq_printf(f, ":%s://", aa_ns_name(root, profile->ns)); ++ seq_printf(f, "%s (%s)\n", profile->base.hname, ++ COMPLAIN_MODE(profile) ? "complain" : "enforce"); ++ ++ return 0; ++} ++ ++static const struct seq_operations aa_fs_profiles_op = { ++ .start = p_start, ++ .next = p_next, ++ .stop = p_stop, ++ .show = seq_show_profile, ++}; ++ ++static int profiles_open(struct inode *inode, struct file *file) ++{ ++ return seq_open(file, &aa_fs_profiles_op); ++} ++ ++static int profiles_release(struct inode *inode, struct file *file) ++{ ++ return seq_release(inode, file); ++} ++ ++const struct file_operations aa_fs_profiles_fops = { ++ .open = profiles_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = profiles_release, ++}; +diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c +index 69ddb47..867995c 100644 +--- a/security/apparmor/apparmorfs.c ++++ b/security/apparmor/apparmorfs.c +@@ -187,7 +187,11 @@ void __init aa_destroy_aafs(void) + aafs_remove(".remove"); + aafs_remove(".replace"); + aafs_remove(".load"); +- ++#ifdef CONFIG_SECURITY_APPARMOR_COMPAT_24 ++ aafs_remove("profiles"); ++ aafs_remove("matching"); ++ aafs_remove("features"); ++#endif + securityfs_remove(aa_fs_dentry); + aa_fs_dentry = NULL; + } +@@ -218,7 +222,17 @@ static int __init aa_create_aafs(void) + aa_fs_dentry = NULL; + goto error; + } +- ++#ifdef CONFIG_SECURITY_APPARMOR_COMPAT_24 ++ error = aafs_create("matching", 0444, &aa_fs_matching_fops); ++ if (error) ++ goto error; ++ error = aafs_create("features", 0444, &aa_fs_features_fops); ++ if (error) ++ goto error; ++#endif ++ error = aafs_create("profiles", 0440, &aa_fs_profiles_fops); ++ if (error) ++ goto error; + error = aafs_create(".load", 0640, &aa_fs_profile_load); + if (error) + goto error; +diff --git a/security/apparmor/include/apparmorfs.h b/security/apparmor/include/apparmorfs.h +index cb1e93a..14f955c 100644 +--- a/security/apparmor/include/apparmorfs.h ++++ b/security/apparmor/include/apparmorfs.h +@@ -17,4 +17,10 @@ + + extern void __init aa_destroy_aafs(void); + ++#ifdef CONFIG_SECURITY_APPARMOR_COMPAT_24 ++extern const struct file_operations aa_fs_matching_fops; ++extern const struct file_operations aa_fs_features_fops; ++extern const struct file_operations aa_fs_profiles_fops; ++#endif ++ + #endif /* __AA_APPARMORFS_H */ +-- +1.7.9.5 + diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch new file mode 100644 index 00000000000..7dd55781fda --- /dev/null +++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.2/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch @@ -0,0 +1,69 @@ +From e5d90918aa31f948ecec2f3c088567dbab30c90b Mon Sep 17 00:00:00 2001 +From: John Johansen +Date: Wed, 10 Aug 2011 22:02:41 -0700 +Subject: [PATCH 3/3] AppArmor: Allow dfa backward compatibility with broken + userspace + +The apparmor_parser when compiling policy could generate invalid dfas +that did not have sufficient padding to avoid invalid references, when +used by the kernel. The kernels check to verify the next/check table +size was broken meaning invalid dfas were being created by userspace +and not caught. + +To remain compatible with old tools that are not fixed, pad the loaded +dfas next/check table. The dfa's themselves are valid except for the +high padding for potentially invalid transitions (high bounds error), +which have a maximimum is 256 entries. So just allocate an extra null filled +256 entries for the next/check tables. This will guarentee all bounds +are good and invalid transitions go to the null (0) state. + +Signed-off-by: John Johansen +--- + security/apparmor/match.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/security/apparmor/match.c b/security/apparmor/match.c +index 94de6b4..081491e 100644 +--- a/security/apparmor/match.c ++++ b/security/apparmor/match.c +@@ -57,8 +57,17 @@ static struct table_header *unpack_table(char *blob, size_t bsize) + if (bsize < tsize) + goto out; + ++ /* Pad table allocation for next/check by 256 entries to remain ++ * backwards compatible with old (buggy) tools and remain safe without ++ * run time checks ++ */ ++ if (th.td_id == YYTD_ID_NXT || th.td_id == YYTD_ID_CHK) ++ tsize += 256 * th.td_flags; ++ + table = kvmalloc(tsize); + if (table) { ++ /* ensure the pad is clear, else there will be errors */ ++ memset(table, 0, tsize); + *table = th; + if (th.td_flags == YYTD_DATA8) + UNPACK_ARRAY(table->td_data, blob, th.td_lolen, +@@ -134,11 +143,19 @@ static int verify_dfa(struct aa_dfa *dfa, int flags) + goto out; + + if (flags & DFA_FLAG_VERIFY_STATES) { ++ int warning = 0; + for (i = 0; i < state_count; i++) { + if (DEFAULT_TABLE(dfa)[i] >= state_count) + goto out; + /* TODO: do check that DEF state recursion terminates */ + if (BASE_TABLE(dfa)[i] + 255 >= trans_count) { ++ if (warning) ++ continue; ++ printk(KERN_WARNING "AppArmor DFA next/check " ++ "upper bounds error fixed, upgrade " ++ "user space tools \n"); ++ warning = 1; ++ } else if (BASE_TABLE(dfa)[i] >= trans_count) { + printk(KERN_ERR "AppArmor DFA next/check upper " + "bounds error\n"); + goto out; +-- +1.7.9.5 + diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file.patch new file mode 100644 index 00000000000..88a50ca780a --- /dev/null +++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file.patch @@ -0,0 +1,264 @@ +From 8de755e4dfdbc40bfcaca848ae6b5aeaf0ede0e8 Mon Sep 17 00:00:00 2001 +From: John Johansen +Date: Thu, 22 Jul 2010 02:32:02 -0700 +Subject: [PATCH 1/3] UBUNTU: SAUCE: AppArmor: Add profile introspection file + to interface + +Add the dynamic profiles file to the interace, to allow load policy +introspection. + +Signed-off-by: John Johansen +Acked-by: Kees Cook +Signed-off-by: Tim Gardner +--- + security/apparmor/apparmorfs.c | 227 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 227 insertions(+) + +diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c +index 16c15ec..89bdc62 100644 +--- a/security/apparmor/apparmorfs.c ++++ b/security/apparmor/apparmorfs.c +@@ -182,6 +182,232 @@ const struct file_operations aa_fs_seq_file_ops = { + .release = single_release, + }; + ++/** ++ * __next_namespace - find the next namespace to list ++ * @root: root namespace to stop search at (NOT NULL) ++ * @ns: current ns position (NOT NULL) ++ * ++ * Find the next namespace from @ns under @root and handle all locking needed ++ * while switching current namespace. ++ * ++ * Returns: next namespace or NULL if at last namespace under @root ++ * NOTE: will not unlock root->lock ++ */ ++static struct aa_namespace *__next_namespace(struct aa_namespace *root, ++ struct aa_namespace *ns) ++{ ++ struct aa_namespace *parent; ++ ++ /* is next namespace a child */ ++ if (!list_empty(&ns->sub_ns)) { ++ struct aa_namespace *next; ++ next = list_first_entry(&ns->sub_ns, typeof(*ns), base.list); ++ read_lock(&next->lock); ++ return next; ++ } ++ ++ /* check if the next ns is a sibling, parent, gp, .. */ ++ parent = ns->parent; ++ while (parent) { ++ read_unlock(&ns->lock); ++ list_for_each_entry_continue(ns, &parent->sub_ns, base.list) { ++ read_lock(&ns->lock); ++ return ns; ++ } ++ if (parent == root) ++ return NULL; ++ ns = parent; ++ parent = parent->parent; ++ } ++ ++ return NULL; ++} ++ ++/** ++ * __first_profile - find the first profile in a namespace ++ * @root: namespace that is root of profiles being displayed (NOT NULL) ++ * @ns: namespace to start in (NOT NULL) ++ * ++ * Returns: unrefcounted profile or NULL if no profile ++ */ ++static struct aa_profile *__first_profile(struct aa_namespace *root, ++ struct aa_namespace *ns) ++{ ++ for ( ; ns; ns = __next_namespace(root, ns)) { ++ if (!list_empty(&ns->base.profiles)) ++ return list_first_entry(&ns->base.profiles, ++ struct aa_profile, base.list); ++ } ++ return NULL; ++} ++ ++/** ++ * __next_profile - step to the next profile in a profile tree ++ * @profile: current profile in tree (NOT NULL) ++ * ++ * Perform a depth first taversal on the profile tree in a namespace ++ * ++ * Returns: next profile or NULL if done ++ * Requires: profile->ns.lock to be held ++ */ ++static struct aa_profile *__next_profile(struct aa_profile *p) ++{ ++ struct aa_profile *parent; ++ struct aa_namespace *ns = p->ns; ++ ++ /* is next profile a child */ ++ if (!list_empty(&p->base.profiles)) ++ return list_first_entry(&p->base.profiles, typeof(*p), ++ base.list); ++ ++ /* is next profile a sibling, parent sibling, gp, subling, .. */ ++ parent = p->parent; ++ while (parent) { ++ list_for_each_entry_continue(p, &parent->base.profiles, ++ base.list) ++ return p; ++ p = parent; ++ parent = parent->parent; ++ } ++ ++ /* is next another profile in the namespace */ ++ list_for_each_entry_continue(p, &ns->base.profiles, base.list) ++ return p; ++ ++ return NULL; ++} ++ ++/** ++ * next_profile - step to the next profile in where ever it may be ++ * @root: root namespace (NOT NULL) ++ * @profile: current profile (NOT NULL) ++ * ++ * Returns: next profile or NULL if there isn't one ++ */ ++static struct aa_profile *next_profile(struct aa_namespace *root, ++ struct aa_profile *profile) ++{ ++ struct aa_profile *next = __next_profile(profile); ++ if (next) ++ return next; ++ ++ /* finished all profiles in namespace move to next namespace */ ++ return __first_profile(root, __next_namespace(root, profile->ns)); ++} ++ ++/** ++ * p_start - start a depth first traversal of profile tree ++ * @f: seq_file to fill ++ * @pos: current position ++ * ++ * Returns: first profile under current namespace or NULL if none found ++ * ++ * acquires first ns->lock ++ */ ++static void *p_start(struct seq_file *f, loff_t *pos) ++ __acquires(root->lock) ++{ ++ struct aa_profile *profile = NULL; ++ struct aa_namespace *root = aa_current_profile()->ns; ++ loff_t l = *pos; ++ f->private = aa_get_namespace(root); ++ ++ ++ /* find the first profile */ ++ read_lock(&root->lock); ++ profile = __first_profile(root, root); ++ ++ /* skip to position */ ++ for (; profile && l > 0; l--) ++ profile = next_profile(root, profile); ++ ++ return profile; ++} ++ ++/** ++ * p_next - read the next profile entry ++ * @f: seq_file to fill ++ * @p: profile previously returned ++ * @pos: current position ++ * ++ * Returns: next profile after @p or NULL if none ++ * ++ * may acquire/release locks in namespace tree as necessary ++ */ ++static void *p_next(struct seq_file *f, void *p, loff_t *pos) ++{ ++ struct aa_profile *profile = p; ++ struct aa_namespace *root = f->private; ++ (*pos)++; ++ ++ return next_profile(root, profile); ++} ++ ++/** ++ * p_stop - stop depth first traversal ++ * @f: seq_file we are filling ++ * @p: the last profile writen ++ * ++ * Release all locking done by p_start/p_next on namespace tree ++ */ ++static void p_stop(struct seq_file *f, void *p) ++ __releases(root->lock) ++{ ++ struct aa_profile *profile = p; ++ struct aa_namespace *root = f->private, *ns; ++ ++ if (profile) { ++ for (ns = profile->ns; ns && ns != root; ns = ns->parent) ++ read_unlock(&ns->lock); ++ } ++ read_unlock(&root->lock); ++ aa_put_namespace(root); ++} ++ ++/** ++ * seq_show_profile - show a profile entry ++ * @f: seq_file to file ++ * @p: current position (profile) (NOT NULL) ++ * ++ * Returns: error on failure ++ */ ++static int seq_show_profile(struct seq_file *f, void *p) ++{ ++ struct aa_profile *profile = (struct aa_profile *)p; ++ struct aa_namespace *root = f->private; ++ ++ if (profile->ns != root) ++ seq_printf(f, ":%s://", aa_ns_name(root, profile->ns)); ++ seq_printf(f, "%s (%s)\n", profile->base.hname, ++ COMPLAIN_MODE(profile) ? "complain" : "enforce"); ++ ++ return 0; ++} ++ ++static const struct seq_operations aa_fs_profiles_op = { ++ .start = p_start, ++ .next = p_next, ++ .stop = p_stop, ++ .show = seq_show_profile, ++}; ++ ++static int profiles_open(struct inode *inode, struct file *file) ++{ ++ return seq_open(file, &aa_fs_profiles_op); ++} ++ ++static int profiles_release(struct inode *inode, struct file *file) ++{ ++ return seq_release(inode, file); ++} ++ ++const struct file_operations aa_fs_profiles_fops = { ++ .open = profiles_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = profiles_release, ++}; ++ + /** Base file system setup **/ + + static struct aa_fs_entry aa_fs_entry_file[] = { +@@ -210,6 +436,7 @@ static struct aa_fs_entry aa_fs_entry_apparmor[] = { + AA_FS_FILE_FOPS(".load", 0640, &aa_fs_profile_load), + AA_FS_FILE_FOPS(".replace", 0640, &aa_fs_profile_replace), + AA_FS_FILE_FOPS(".remove", 0640, &aa_fs_profile_remove), ++ AA_FS_FILE_FOPS("profiles", 0640, &aa_fs_profiles_fops), + AA_FS_DIR("features", aa_fs_entry_features), + { } + }; +-- +1.7.9.5 + diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules.patch new file mode 100644 index 00000000000..01316b9db78 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules.patch @@ -0,0 +1,603 @@ +From 423e2cb454d75d6185eecd0c1b5cf6ccc2d8482d Mon Sep 17 00:00:00 2001 +From: John Johansen +Date: Mon, 4 Oct 2010 15:03:36 -0700 +Subject: [PATCH 2/3] UBUNTU: SAUCE: AppArmor: basic networking rules + +Base support for network mediation. + +Signed-off-by: John Johansen +--- + security/apparmor/.gitignore | 2 +- + security/apparmor/Makefile | 42 +++++++++- + security/apparmor/apparmorfs.c | 1 + + security/apparmor/include/audit.h | 4 + + security/apparmor/include/net.h | 44 ++++++++++ + security/apparmor/include/policy.h | 3 + + security/apparmor/lsm.c | 112 +++++++++++++++++++++++++ + security/apparmor/net.c | 162 ++++++++++++++++++++++++++++++++++++ + security/apparmor/policy.c | 1 + + security/apparmor/policy_unpack.c | 46 ++++++++++ + 10 files changed, 414 insertions(+), 3 deletions(-) + create mode 100644 security/apparmor/include/net.h + create mode 100644 security/apparmor/net.c + +diff --git a/security/apparmor/.gitignore b/security/apparmor/.gitignore +index 4d995ae..d5b291e 100644 +--- a/security/apparmor/.gitignore ++++ b/security/apparmor/.gitignore +@@ -1,6 +1,6 @@ + # + # Generated include files + # +-af_names.h ++net_names.h + capability_names.h + rlim_names.h +diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile +index 806bd19..19daa85 100644 +--- a/security/apparmor/Makefile ++++ b/security/apparmor/Makefile +@@ -4,9 +4,9 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o + + apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \ + path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \ +- resource.o sid.o file.o ++ resource.o sid.o file.o net.o + +-clean-files := capability_names.h rlim_names.h ++clean-files := capability_names.h rlim_names.h net_names.h + + + # Build a lower case string table of capability names +@@ -20,6 +20,38 @@ cmd_make-caps = echo "static const char *const capability_names[] = {" > $@ ;\ + -e 's/^\#define[ \t]+CAP_([A-Z0-9_]+)[ \t]+([0-9]+)/[\2] = "\L\1",/p';\ + echo "};" >> $@ + ++# Build a lower case string table of address family names ++# Transform lines from ++# define AF_LOCAL 1 /* POSIX name for AF_UNIX */ ++# #define AF_INET 2 /* Internet IP Protocol */ ++# to ++# [1] = "local", ++# [2] = "inet", ++# ++# and build the securityfs entries for the mapping. ++# Transforms lines from ++# #define AF_INET 2 /* Internet IP Protocol */ ++# to ++# #define AA_FS_AF_MASK "local inet" ++quiet_cmd_make-af = GEN $@ ++cmd_make-af = echo "static const char *address_family_names[] = {" > $@ ;\ ++ sed $< >>$@ -r -n -e "/AF_MAX/d" -e "/AF_LOCAL/d" -e \ ++ 's/^\#define[ \t]+AF_([A-Z0-9_]+)[ \t]+([0-9]+)(.*)/[\2] = "\L\1",/p';\ ++ echo "};" >> $@ ;\ ++ echo -n '\#define AA_FS_AF_MASK "' >> $@ ;\ ++ sed -r -n 's/^\#define[ \t]+AF_([A-Z0-9_]+)[ \t]+([0-9]+)(.*)/\L\1/p'\ ++ $< | tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@ ++ ++# Build a lower case string table of sock type names ++# Transform lines from ++# SOCK_STREAM = 1, ++# to ++# [1] = "stream", ++quiet_cmd_make-sock = GEN $@ ++cmd_make-sock = echo "static const char *sock_type_names[] = {" >> $@ ;\ ++ sed $^ >>$@ -r -n \ ++ -e 's/^\tSOCK_([A-Z0-9_]+)[\t]+=[ \t]+([0-9]+)(.*)/[\2] = "\L\1",/p';\ ++ echo "};" >> $@ + + # Build a lower case string table of rlimit names. + # Transforms lines from +@@ -56,6 +88,7 @@ cmd_make-rlim = echo "static const char *const rlim_names[RLIM_NLIMITS] = {" \ + tr '\n' ' ' | sed -e 's/ $$/"\n/' >> $@ + + $(obj)/capability.o : $(obj)/capability_names.h ++$(obj)/net.o : $(obj)/net_names.h + $(obj)/resource.o : $(obj)/rlim_names.h + $(obj)/capability_names.h : $(srctree)/include/linux/capability.h \ + $(src)/Makefile +@@ -63,3 +96,8 @@ $(obj)/capability_names.h : $(srctree)/include/linux/capability.h \ + $(obj)/rlim_names.h : $(srctree)/include/asm-generic/resource.h \ + $(src)/Makefile + $(call cmd,make-rlim) ++$(obj)/net_names.h : $(srctree)/include/linux/socket.h \ ++ $(srctree)/include/linux/net.h \ ++ $(src)/Makefile ++ $(call cmd,make-af) ++ $(call cmd,make-sock) +diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c +index 89bdc62..c66315d 100644 +--- a/security/apparmor/apparmorfs.c ++++ b/security/apparmor/apparmorfs.c +@@ -427,6 +427,7 @@ static struct aa_fs_entry aa_fs_entry_domain[] = { + static struct aa_fs_entry aa_fs_entry_features[] = { + AA_FS_DIR("domain", aa_fs_entry_domain), + AA_FS_DIR("file", aa_fs_entry_file), ++ AA_FS_DIR("network", aa_fs_entry_network), + AA_FS_FILE_U64("capability", VFS_CAP_FLAGS_MASK), + AA_FS_DIR("rlimit", aa_fs_entry_rlimit), + { } +diff --git a/security/apparmor/include/audit.h b/security/apparmor/include/audit.h +index 3868b1e..c1ff09c 100644 +--- a/security/apparmor/include/audit.h ++++ b/security/apparmor/include/audit.h +@@ -126,6 +126,10 @@ struct apparmor_audit_data { + u32 denied; + uid_t ouid; + } fs; ++ struct { ++ int type, protocol; ++ struct sock *sk; ++ } net; + }; + }; + +diff --git a/security/apparmor/include/net.h b/security/apparmor/include/net.h +new file mode 100644 +index 0000000..cb8a121 +--- /dev/null ++++ b/security/apparmor/include/net.h +@@ -0,0 +1,44 @@ ++/* ++ * AppArmor security module ++ * ++ * This file contains AppArmor network mediation definitions. ++ * ++ * Copyright (C) 1998-2008 Novell/SUSE ++ * Copyright 2009-2012 Canonical Ltd. ++ * ++ * 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, version 2 of the ++ * License. ++ */ ++ ++#ifndef __AA_NET_H ++#define __AA_NET_H ++ ++#include ++ ++#include "apparmorfs.h" ++ ++/* struct aa_net - network confinement data ++ * @allowed: basic network families permissions ++ * @audit_network: which network permissions to force audit ++ * @quiet_network: which network permissions to quiet rejects ++ */ ++struct aa_net { ++ u16 allow[AF_MAX]; ++ u16 audit[AF_MAX]; ++ u16 quiet[AF_MAX]; ++}; ++ ++extern struct aa_fs_entry aa_fs_entry_network[]; ++ ++extern int aa_net_perm(int op, struct aa_profile *profile, u16 family, ++ int type, int protocol, struct sock *sk); ++extern int aa_revalidate_sk(int op, struct sock *sk); ++ ++static inline void aa_free_net_rules(struct aa_net *new) ++{ ++ /* NOP */ ++} ++ ++#endif /* __AA_NET_H */ +diff --git a/security/apparmor/include/policy.h b/security/apparmor/include/policy.h +index bda4569..eb13a73 100644 +--- a/security/apparmor/include/policy.h ++++ b/security/apparmor/include/policy.h +@@ -27,6 +27,7 @@ + #include "capability.h" + #include "domain.h" + #include "file.h" ++#include "net.h" + #include "resource.h" + + extern const char *const profile_mode_names[]; +@@ -157,6 +158,7 @@ struct aa_policydb { + * @policy: general match rules governing policy + * @file: The set of rules governing basic file access and domain transitions + * @caps: capabilities for the profile ++ * @net: network controls for the profile + * @rlimits: rlimits for the profile + * + * The AppArmor profile contains the basic confinement data. Each profile +@@ -194,6 +196,7 @@ struct aa_profile { + struct aa_policydb policy; + struct aa_file_rules file; + struct aa_caps caps; ++ struct aa_net net; + struct aa_rlimit rlimits; + }; + +diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c +index ad05d39..3cde194 100644 +--- a/security/apparmor/lsm.c ++++ b/security/apparmor/lsm.c +@@ -32,6 +32,7 @@ + #include "include/context.h" + #include "include/file.h" + #include "include/ipc.h" ++#include "include/net.h" + #include "include/path.h" + #include "include/policy.h" + #include "include/procattr.h" +@@ -622,6 +623,104 @@ static int apparmor_task_setrlimit(struct task_struct *task, + return error; + } + ++static int apparmor_socket_create(int family, int type, int protocol, int kern) ++{ ++ struct aa_profile *profile; ++ int error = 0; ++ ++ if (kern) ++ return 0; ++ ++ profile = __aa_current_profile(); ++ if (!unconfined(profile)) ++ error = aa_net_perm(OP_CREATE, profile, family, type, protocol, ++ NULL); ++ return error; ++} ++ ++static int apparmor_socket_bind(struct socket *sock, ++ struct sockaddr *address, int addrlen) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_BIND, sk); ++} ++ ++static int apparmor_socket_connect(struct socket *sock, ++ struct sockaddr *address, int addrlen) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_CONNECT, sk); ++} ++ ++static int apparmor_socket_listen(struct socket *sock, int backlog) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_LISTEN, sk); ++} ++ ++static int apparmor_socket_accept(struct socket *sock, struct socket *newsock) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_ACCEPT, sk); ++} ++ ++static int apparmor_socket_sendmsg(struct socket *sock, ++ struct msghdr *msg, int size) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_SENDMSG, sk); ++} ++ ++static int apparmor_socket_recvmsg(struct socket *sock, ++ struct msghdr *msg, int size, int flags) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_RECVMSG, sk); ++} ++ ++static int apparmor_socket_getsockname(struct socket *sock) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_GETSOCKNAME, sk); ++} ++ ++static int apparmor_socket_getpeername(struct socket *sock) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_GETPEERNAME, sk); ++} ++ ++static int apparmor_socket_getsockopt(struct socket *sock, int level, ++ int optname) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_GETSOCKOPT, sk); ++} ++ ++static int apparmor_socket_setsockopt(struct socket *sock, int level, ++ int optname) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_SETSOCKOPT, sk); ++} ++ ++static int apparmor_socket_shutdown(struct socket *sock, int how) ++{ ++ struct sock *sk = sock->sk; ++ ++ return aa_revalidate_sk(OP_SOCK_SHUTDOWN, sk); ++} ++ + static struct security_operations apparmor_ops = { + .name = "apparmor", + +@@ -653,6 +752,19 @@ static struct security_operations apparmor_ops = { + .getprocattr = apparmor_getprocattr, + .setprocattr = apparmor_setprocattr, + ++ .socket_create = apparmor_socket_create, ++ .socket_bind = apparmor_socket_bind, ++ .socket_connect = apparmor_socket_connect, ++ .socket_listen = apparmor_socket_listen, ++ .socket_accept = apparmor_socket_accept, ++ .socket_sendmsg = apparmor_socket_sendmsg, ++ .socket_recvmsg = apparmor_socket_recvmsg, ++ .socket_getsockname = apparmor_socket_getsockname, ++ .socket_getpeername = apparmor_socket_getpeername, ++ .socket_getsockopt = apparmor_socket_getsockopt, ++ .socket_setsockopt = apparmor_socket_setsockopt, ++ .socket_shutdown = apparmor_socket_shutdown, ++ + .cred_alloc_blank = apparmor_cred_alloc_blank, + .cred_free = apparmor_cred_free, + .cred_prepare = apparmor_cred_prepare, +diff --git a/security/apparmor/net.c b/security/apparmor/net.c +new file mode 100644 +index 0000000..084232b +--- /dev/null ++++ b/security/apparmor/net.c +@@ -0,0 +1,162 @@ ++/* ++ * AppArmor security module ++ * ++ * This file contains AppArmor network mediation ++ * ++ * Copyright (C) 1998-2008 Novell/SUSE ++ * Copyright 2009-2012 Canonical Ltd. ++ * ++ * 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, version 2 of the ++ * License. ++ */ ++ ++#include "include/apparmor.h" ++#include "include/audit.h" ++#include "include/context.h" ++#include "include/net.h" ++#include "include/policy.h" ++ ++#include "net_names.h" ++ ++struct aa_fs_entry aa_fs_entry_network[] = { ++ AA_FS_FILE_STRING("af_mask", AA_FS_AF_MASK), ++ { } ++}; ++ ++/* audit callback for net specific fields */ ++static void audit_cb(struct audit_buffer *ab, void *va) ++{ ++ struct common_audit_data *sa = va; ++ ++ audit_log_format(ab, " family="); ++ if (address_family_names[sa->u.net->family]) { ++ audit_log_string(ab, address_family_names[sa->u.net->family]); ++ } else { ++ audit_log_format(ab, "\"unknown(%d)\"", sa->u.net->family); ++ } ++ audit_log_format(ab, " sock_type="); ++ if (sock_type_names[sa->aad->net.type]) { ++ audit_log_string(ab, sock_type_names[sa->aad->net.type]); ++ } else { ++ audit_log_format(ab, "\"unknown(%d)\"", sa->aad->net.type); ++ } ++ audit_log_format(ab, " protocol=%d", sa->aad->net.protocol); ++} ++ ++/** ++ * audit_net - audit network access ++ * @profile: profile being enforced (NOT NULL) ++ * @op: operation being checked ++ * @family: network family ++ * @type: network type ++ * @protocol: network protocol ++ * @sk: socket auditing is being applied to ++ * @error: error code for failure else 0 ++ * ++ * Returns: %0 or sa->error else other errorcode on failure ++ */ ++static int audit_net(struct aa_profile *profile, int op, u16 family, int type, ++ int protocol, struct sock *sk, int error) ++{ ++ int audit_type = AUDIT_APPARMOR_AUTO; ++ struct common_audit_data sa; ++ struct apparmor_audit_data aad = { }; ++ struct lsm_network_audit net = { }; ++ if (sk) { ++ COMMON_AUDIT_DATA_INIT(&sa, NET); ++ } else { ++ COMMON_AUDIT_DATA_INIT(&sa, NONE); ++ } ++ /* todo fill in socket addr info */ ++ sa.aad = &aad; ++ sa.u.net = &net; ++ sa.aad->op = op, ++ sa.u.net->family = family; ++ sa.u.net->sk = sk; ++ sa.aad->net.type = type; ++ sa.aad->net.protocol = protocol; ++ sa.aad->error = error; ++ ++ if (likely(!sa.aad->error)) { ++ u16 audit_mask = profile->net.audit[sa.u.net->family]; ++ if (likely((AUDIT_MODE(profile) != AUDIT_ALL) && ++ !(1 << sa.aad->net.type & audit_mask))) ++ return 0; ++ audit_type = AUDIT_APPARMOR_AUDIT; ++ } else { ++ u16 quiet_mask = profile->net.quiet[sa.u.net->family]; ++ u16 kill_mask = 0; ++ u16 denied = (1 << sa.aad->net.type) & ~quiet_mask; ++ ++ if (denied & kill_mask) ++ audit_type = AUDIT_APPARMOR_KILL; ++ ++ if ((denied & quiet_mask) && ++ AUDIT_MODE(profile) != AUDIT_NOQUIET && ++ AUDIT_MODE(profile) != AUDIT_ALL) ++ return COMPLAIN_MODE(profile) ? 0 : sa.aad->error; ++ } ++ ++ return aa_audit(audit_type, profile, GFP_KERNEL, &sa, audit_cb); ++} ++ ++/** ++ * aa_net_perm - very course network access check ++ * @op: operation being checked ++ * @profile: profile being enforced (NOT NULL) ++ * @family: network family ++ * @type: network type ++ * @protocol: network protocol ++ * ++ * Returns: %0 else error if permission denied ++ */ ++int aa_net_perm(int op, struct aa_profile *profile, u16 family, int type, ++ int protocol, struct sock *sk) ++{ ++ u16 family_mask; ++ int error; ++ ++ if ((family < 0) || (family >= AF_MAX)) ++ return -EINVAL; ++ ++ if ((type < 0) || (type >= SOCK_MAX)) ++ return -EINVAL; ++ ++ /* unix domain and netlink sockets are handled by ipc */ ++ if (family == AF_UNIX || family == AF_NETLINK) ++ return 0; ++ ++ family_mask = profile->net.allow[family]; ++ ++ error = (family_mask & (1 << type)) ? 0 : -EACCES; ++ ++ return audit_net(profile, op, family, type, protocol, sk, error); ++} ++ ++/** ++ * aa_revalidate_sk - Revalidate access to a sock ++ * @op: operation being checked ++ * @sk: sock being revalidated (NOT NULL) ++ * ++ * Returns: %0 else error if permission denied ++ */ ++int aa_revalidate_sk(int op, struct sock *sk) ++{ ++ struct aa_profile *profile; ++ int error = 0; ++ ++ /* aa_revalidate_sk should not be called from interrupt context ++ * don't mediate these calls as they are not task related ++ */ ++ if (in_interrupt()) ++ return 0; ++ ++ profile = __aa_current_profile(); ++ if (!unconfined(profile)) ++ error = aa_net_perm(op, profile, sk->sk_family, sk->sk_type, ++ sk->sk_protocol, sk); ++ ++ return error; ++} +diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c +index f1f7506..b8100a7 100644 +--- a/security/apparmor/policy.c ++++ b/security/apparmor/policy.c +@@ -745,6 +745,7 @@ static void free_profile(struct aa_profile *profile) + + aa_free_file_rules(&profile->file); + aa_free_cap_rules(&profile->caps); ++ aa_free_net_rules(&profile->net); + aa_free_rlimit_rules(&profile->rlimits); + + aa_free_sid(profile->sid); +diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c +index deab7c7..8f8e9c1 100644 +--- a/security/apparmor/policy_unpack.c ++++ b/security/apparmor/policy_unpack.c +@@ -193,6 +193,19 @@ fail: + return 0; + } + ++static bool unpack_u16(struct aa_ext *e, u16 *data, const char *name) ++{ ++ if (unpack_nameX(e, AA_U16, name)) { ++ if (!inbounds(e, sizeof(u16))) ++ return 0; ++ if (data) ++ *data = le16_to_cpu(get_unaligned((u16 *) e->pos)); ++ e->pos += sizeof(u16); ++ return 1; ++ } ++ return 0; ++} ++ + static bool unpack_u32(struct aa_ext *e, u32 *data, const char *name) + { + if (unpack_nameX(e, AA_U32, name)) { +@@ -471,6 +484,7 @@ static struct aa_profile *unpack_profile(struct aa_ext *e) + { + struct aa_profile *profile = NULL; + const char *name = NULL; ++ size_t size = 0; + int i, error = -EPROTO; + kernel_cap_t tmpcap; + u32 tmp; +@@ -564,6 +578,38 @@ static struct aa_profile *unpack_profile(struct aa_ext *e) + if (!unpack_rlimits(e, profile)) + goto fail; + ++ size = unpack_array(e, "net_allowed_af"); ++ if (size) { ++ ++ for (i = 0; i < size; i++) { ++ /* discard extraneous rules that this kernel will ++ * never request ++ */ ++ if (i >= AF_MAX) { ++ u16 tmp; ++ if (!unpack_u16(e, &tmp, NULL) || ++ !unpack_u16(e, &tmp, NULL) || ++ !unpack_u16(e, &tmp, NULL)) ++ goto fail; ++ continue; ++ } ++ if (!unpack_u16(e, &profile->net.allow[i], NULL)) ++ goto fail; ++ if (!unpack_u16(e, &profile->net.audit[i], NULL)) ++ goto fail; ++ if (!unpack_u16(e, &profile->net.quiet[i], NULL)) ++ goto fail; ++ } ++ if (!unpack_nameX(e, AA_ARRAYEND, NULL)) ++ goto fail; ++ } ++ /* ++ * allow unix domain and netlink sockets they are handled ++ * by IPC ++ */ ++ profile->net.allow[AF_UNIX] = 0xffff; ++ profile->net.allow[AF_NETLINK] = 0xffff; ++ + if (unpack_nameX(e, AA_STRUCT, "policydb")) { + /* generic policy dfa - optional and may be NULL */ + profile->policy.dfa = unpack_dfa(e); +-- +1.7.9.5 + diff --git a/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch new file mode 100644 index 00000000000..48b34343e0b --- /dev/null +++ b/pkgs/os-specific/linux/kernel/apparmor-patches/3.4/0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch @@ -0,0 +1,957 @@ +From a94d5e11c0484af59e5feebf144cc48c186892ad Mon Sep 17 00:00:00 2001 +From: John Johansen +Date: Wed, 16 May 2012 10:58:05 -0700 +Subject: [PATCH 3/3] UBUNTU: SAUCE: apparmor: Add the ability to mediate + mount + +Add the ability for apparmor to do mediation of mount operations. Mount +rules require an updated apparmor_parser (2.8 series) for policy compilation. + +The basic form of the rules are. + + [audit] [deny] mount [conds]* [device] [ -> [conds] path], + [audit] [deny] remount [conds]* [path], + [audit] [deny] umount [conds]* [path], + [audit] [deny] pivotroot [oldroot=] + + remount is just a short cut for mount options=remount + + where [conds] can be + fstype= + options= + +Example mount commands + mount, # allow all mounts, but not umount or pivotroot + + mount fstype=procfs, # allow mounting procfs anywhere + + mount options=(bind, ro) /foo -> /bar, # readonly bind mount + + mount /dev/sda -> /mnt, + + mount /dev/sd** -> /mnt/**, + + mount fstype=overlayfs options=(rw,upperdir=/tmp/upper/,lowerdir=/) -> /mnt/ + + umount, + + umount /m*, + +See the apparmor userspace for full documentation + +Signed-off-by: John Johansen +Acked-by: Kees Cook +--- + security/apparmor/Makefile | 2 +- + security/apparmor/apparmorfs.c | 13 + + security/apparmor/audit.c | 4 + + security/apparmor/domain.c | 2 +- + security/apparmor/include/apparmor.h | 3 +- + security/apparmor/include/audit.h | 11 + + security/apparmor/include/domain.h | 2 + + security/apparmor/include/mount.h | 54 +++ + security/apparmor/lsm.c | 59 ++++ + security/apparmor/mount.c | 620 ++++++++++++++++++++++++++++++++++ + 10 files changed, 767 insertions(+), 3 deletions(-) + create mode 100644 security/apparmor/include/mount.h + create mode 100644 security/apparmor/mount.c + +diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile +index 19daa85..63e0a4c 100644 +--- a/security/apparmor/Makefile ++++ b/security/apparmor/Makefile +@@ -4,7 +4,7 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o + + apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \ + path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \ +- resource.o sid.o file.o net.o ++ resource.o sid.o file.o net.o mount.o + + clean-files := capability_names.h rlim_names.h net_names.h + +diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c +index c66315d..ff19009 100644 +--- a/security/apparmor/apparmorfs.c ++++ b/security/apparmor/apparmorfs.c +@@ -424,10 +424,23 @@ static struct aa_fs_entry aa_fs_entry_domain[] = { + { } + }; + ++static struct aa_fs_entry aa_fs_entry_mount[] = { ++ AA_FS_FILE_STRING("mask", "mount umount"), ++ { } ++}; ++ ++static struct aa_fs_entry aa_fs_entry_namespaces[] = { ++ AA_FS_FILE_BOOLEAN("profile", 1), ++ AA_FS_FILE_BOOLEAN("pivot_root", 1), ++ { } ++}; ++ + static struct aa_fs_entry aa_fs_entry_features[] = { + AA_FS_DIR("domain", aa_fs_entry_domain), + AA_FS_DIR("file", aa_fs_entry_file), + AA_FS_DIR("network", aa_fs_entry_network), ++ AA_FS_DIR("mount", aa_fs_entry_mount), ++ AA_FS_DIR("namespaces", aa_fs_entry_namespaces), + AA_FS_FILE_U64("capability", VFS_CAP_FLAGS_MASK), + AA_FS_DIR("rlimit", aa_fs_entry_rlimit), + { } +diff --git a/security/apparmor/audit.c b/security/apparmor/audit.c +index cc3520d..b9f5ee9 100644 +--- a/security/apparmor/audit.c ++++ b/security/apparmor/audit.c +@@ -44,6 +44,10 @@ const char *const op_table[] = { + "file_mmap", + "file_mprotect", + ++ "pivotroot", ++ "mount", ++ "umount", ++ + "create", + "post_create", + "bind", +diff --git a/security/apparmor/domain.c b/security/apparmor/domain.c +index 6327685..dfdc47b 100644 +--- a/security/apparmor/domain.c ++++ b/security/apparmor/domain.c +@@ -242,7 +242,7 @@ static const char *next_name(int xtype, const char *name) + * + * Returns: refcounted profile, or NULL on failure (MAYBE NULL) + */ +-static struct aa_profile *x_table_lookup(struct aa_profile *profile, u32 xindex) ++struct aa_profile *x_table_lookup(struct aa_profile *profile, u32 xindex) + { + struct aa_profile *new_profile = NULL; + struct aa_namespace *ns = profile->ns; +diff --git a/security/apparmor/include/apparmor.h b/security/apparmor/include/apparmor.h +index 40aedd9..e243d96 100644 +--- a/security/apparmor/include/apparmor.h ++++ b/security/apparmor/include/apparmor.h +@@ -29,8 +29,9 @@ + #define AA_CLASS_NET 4 + #define AA_CLASS_RLIMITS 5 + #define AA_CLASS_DOMAIN 6 ++#define AA_CLASS_MOUNT 7 + +-#define AA_CLASS_LAST AA_CLASS_DOMAIN ++#define AA_CLASS_LAST AA_CLASS_MOUNT + + /* Control parameters settable through module/boot flags */ + extern enum audit_mode aa_g_audit; +diff --git a/security/apparmor/include/audit.h b/security/apparmor/include/audit.h +index c1ff09c..7b90900c 100644 +--- a/security/apparmor/include/audit.h ++++ b/security/apparmor/include/audit.h +@@ -73,6 +73,10 @@ enum aa_ops { + OP_FMMAP, + OP_FMPROT, + ++ OP_PIVOTROOT, ++ OP_MOUNT, ++ OP_UMOUNT, ++ + OP_CREATE, + OP_POST_CREATE, + OP_BIND, +@@ -121,6 +125,13 @@ struct apparmor_audit_data { + unsigned long max; + } rlim; + struct { ++ const char *src_name; ++ const char *type; ++ const char *trans; ++ const char *data; ++ unsigned long flags; ++ } mnt; ++ struct { + const char *target; + u32 request; + u32 denied; +diff --git a/security/apparmor/include/domain.h b/security/apparmor/include/domain.h +index de04464..a3f70c5 100644 +--- a/security/apparmor/include/domain.h ++++ b/security/apparmor/include/domain.h +@@ -23,6 +23,8 @@ struct aa_domain { + char **table; + }; + ++struct aa_profile *x_table_lookup(struct aa_profile *profile, u32 xindex); ++ + int apparmor_bprm_set_creds(struct linux_binprm *bprm); + int apparmor_bprm_secureexec(struct linux_binprm *bprm); + void apparmor_bprm_committing_creds(struct linux_binprm *bprm); +diff --git a/security/apparmor/include/mount.h b/security/apparmor/include/mount.h +new file mode 100644 +index 0000000..bc17a53 +--- /dev/null ++++ b/security/apparmor/include/mount.h +@@ -0,0 +1,54 @@ ++/* ++ * AppArmor security module ++ * ++ * This file contains AppArmor file mediation function definitions. ++ * ++ * Copyright 2012 Canonical Ltd. ++ * ++ * 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, version 2 of the ++ * License. ++ */ ++ ++#ifndef __AA_MOUNT_H ++#define __AA_MOUNT_H ++ ++#include ++#include ++ ++#include "domain.h" ++#include "policy.h" ++ ++/* mount perms */ ++#define AA_MAY_PIVOTROOT 0x01 ++#define AA_MAY_MOUNT 0x02 ++#define AA_MAY_UMOUNT 0x04 ++#define AA_AUDIT_DATA 0x40 ++#define AA_CONT_MATCH 0x40 ++ ++#define AA_MS_IGNORE_MASK (MS_KERNMOUNT | MS_NOSEC | MS_ACTIVE | MS_BORN) ++ ++int aa_remount(struct aa_profile *profile, struct path *path, ++ unsigned long flags, void *data); ++ ++int aa_bind_mount(struct aa_profile *profile, struct path *path, ++ const char *old_name, unsigned long flags); ++ ++ ++int aa_mount_change_type(struct aa_profile *profile, struct path *path, ++ unsigned long flags); ++ ++int aa_move_mount(struct aa_profile *profile, struct path *path, ++ const char *old_name); ++ ++int aa_new_mount(struct aa_profile *profile, const char *dev_name, ++ struct path *path, const char *type, unsigned long flags, ++ void *data); ++ ++int aa_umount(struct aa_profile *profile, struct vfsmount *mnt, int flags); ++ ++int aa_pivotroot(struct aa_profile *profile, struct path *old_path, ++ struct path *new_path); ++ ++#endif /* __AA_MOUNT_H */ +diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c +index 3cde194..4512cc6 100644 +--- a/security/apparmor/lsm.c ++++ b/security/apparmor/lsm.c +@@ -36,6 +36,7 @@ + #include "include/path.h" + #include "include/policy.h" + #include "include/procattr.h" ++#include "include/mount.h" + + /* Flag indicating whether initialization completed */ + int apparmor_initialized __initdata; +@@ -512,6 +513,60 @@ static int apparmor_file_mprotect(struct vm_area_struct *vma, + !(vma->vm_flags & VM_SHARED) ? MAP_PRIVATE : 0); + } + ++static int apparmor_sb_mount(char *dev_name, struct path *path, char *type, ++ unsigned long flags, void *data) ++{ ++ struct aa_profile *profile; ++ int error = 0; ++ ++ /* Discard magic */ ++ if ((flags & MS_MGC_MSK) == MS_MGC_VAL) ++ flags &= ~MS_MGC_MSK; ++ ++ flags &= ~AA_MS_IGNORE_MASK; ++ ++ profile = __aa_current_profile(); ++ if (!unconfined(profile)) { ++ if (flags & MS_REMOUNT) ++ error = aa_remount(profile, path, flags, data); ++ else if (flags & MS_BIND) ++ error = aa_bind_mount(profile, path, dev_name, flags); ++ else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | ++ MS_UNBINDABLE)) ++ error = aa_mount_change_type(profile, path, flags); ++ else if (flags & MS_MOVE) ++ error = aa_move_mount(profile, path, dev_name); ++ else ++ error = aa_new_mount(profile, dev_name, path, type, ++ flags, data); ++ } ++ return error; ++} ++ ++static int apparmor_sb_umount(struct vfsmount *mnt, int flags) ++{ ++ struct aa_profile *profile; ++ int error = 0; ++ ++ profile = __aa_current_profile(); ++ if (!unconfined(profile)) ++ error = aa_umount(profile, mnt, flags); ++ ++ return error; ++} ++ ++static int apparmor_sb_pivotroot(struct path *old_path, struct path *new_path) ++{ ++ struct aa_profile *profile; ++ int error = 0; ++ ++ profile = __aa_current_profile(); ++ if (!unconfined(profile)) ++ error = aa_pivotroot(profile, old_path, new_path); ++ ++ return error; ++} ++ + static int apparmor_getprocattr(struct task_struct *task, char *name, + char **value) + { +@@ -729,6 +784,10 @@ static struct security_operations apparmor_ops = { + .capget = apparmor_capget, + .capable = apparmor_capable, + ++ .sb_mount = apparmor_sb_mount, ++ .sb_umount = apparmor_sb_umount, ++ .sb_pivotroot = apparmor_sb_pivotroot, ++ + .path_link = apparmor_path_link, + .path_unlink = apparmor_path_unlink, + .path_symlink = apparmor_path_symlink, +diff --git a/security/apparmor/mount.c b/security/apparmor/mount.c +new file mode 100644 +index 0000000..63d8493 +--- /dev/null ++++ b/security/apparmor/mount.c +@@ -0,0 +1,620 @@ ++/* ++ * AppArmor security module ++ * ++ * This file contains AppArmor mediation of files ++ * ++ * Copyright (C) 1998-2008 Novell/SUSE ++ * Copyright 2009-2012 Canonical Ltd. ++ * ++ * 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, version 2 of the ++ * License. ++ */ ++ ++#include ++#include ++#include ++ ++#include "include/apparmor.h" ++#include "include/audit.h" ++#include "include/context.h" ++#include "include/domain.h" ++#include "include/file.h" ++#include "include/match.h" ++#include "include/mount.h" ++#include "include/path.h" ++#include "include/policy.h" ++ ++ ++static void audit_mnt_flags(struct audit_buffer *ab, unsigned long flags) ++{ ++ if (flags & MS_RDONLY) ++ audit_log_format(ab, "ro"); ++ else ++ audit_log_format(ab, "rw"); ++ if (flags & MS_NOSUID) ++ audit_log_format(ab, ", nosuid"); ++ if (flags & MS_NODEV) ++ audit_log_format(ab, ", nodev"); ++ if (flags & MS_NOEXEC) ++ audit_log_format(ab, ", noexec"); ++ if (flags & MS_SYNCHRONOUS) ++ audit_log_format(ab, ", sync"); ++ if (flags & MS_REMOUNT) ++ audit_log_format(ab, ", remount"); ++ if (flags & MS_MANDLOCK) ++ audit_log_format(ab, ", mand"); ++ if (flags & MS_DIRSYNC) ++ audit_log_format(ab, ", dirsync"); ++ if (flags & MS_NOATIME) ++ audit_log_format(ab, ", noatime"); ++ if (flags & MS_NODIRATIME) ++ audit_log_format(ab, ", nodiratime"); ++ if (flags & MS_BIND) ++ audit_log_format(ab, flags & MS_REC ? ", rbind" : ", bind"); ++ if (flags & MS_MOVE) ++ audit_log_format(ab, ", move"); ++ if (flags & MS_SILENT) ++ audit_log_format(ab, ", silent"); ++ if (flags & MS_POSIXACL) ++ audit_log_format(ab, ", acl"); ++ if (flags & MS_UNBINDABLE) ++ audit_log_format(ab, flags & MS_REC ? ", runbindable" : ++ ", unbindable"); ++ if (flags & MS_PRIVATE) ++ audit_log_format(ab, flags & MS_REC ? ", rprivate" : ++ ", private"); ++ if (flags & MS_SLAVE) ++ audit_log_format(ab, flags & MS_REC ? ", rslave" : ++ ", slave"); ++ if (flags & MS_SHARED) ++ audit_log_format(ab, flags & MS_REC ? ", rshared" : ++ ", shared"); ++ if (flags & MS_RELATIME) ++ audit_log_format(ab, ", relatime"); ++ if (flags & MS_I_VERSION) ++ audit_log_format(ab, ", iversion"); ++ if (flags & MS_STRICTATIME) ++ audit_log_format(ab, ", strictatime"); ++ if (flags & MS_NOUSER) ++ audit_log_format(ab, ", nouser"); ++} ++ ++/** ++ * audit_cb - call back for mount specific audit fields ++ * @ab: audit_buffer (NOT NULL) ++ * @va: audit struct to audit values of (NOT NULL) ++ */ ++static void audit_cb(struct audit_buffer *ab, void *va) ++{ ++ struct common_audit_data *sa = va; ++ ++ if (sa->aad->mnt.type) { ++ audit_log_format(ab, " fstype="); ++ audit_log_untrustedstring(ab, sa->aad->mnt.type); ++ } ++ if (sa->aad->mnt.src_name) { ++ audit_log_format(ab, " srcname="); ++ audit_log_untrustedstring(ab, sa->aad->mnt.src_name); ++ } ++ if (sa->aad->mnt.trans) { ++ audit_log_format(ab, " trans="); ++ audit_log_untrustedstring(ab, sa->aad->mnt.trans); ++ } ++ if (sa->aad->mnt.flags || sa->aad->op == OP_MOUNT) { ++ audit_log_format(ab, " flags=\""); ++ audit_mnt_flags(ab, sa->aad->mnt.flags); ++ audit_log_format(ab, "\""); ++ } ++ if (sa->aad->mnt.data) { ++ audit_log_format(ab, " options="); ++ audit_log_untrustedstring(ab, sa->aad->mnt.data); ++ } ++} ++ ++/** ++ * audit_mount - handle the auditing of mount operations ++ * @profile: the profile being enforced (NOT NULL) ++ * @gfp: allocation flags ++ * @op: operation being mediated (NOT NULL) ++ * @name: name of object being mediated (MAYBE NULL) ++ * @src_name: src_name of object being mediated (MAYBE_NULL) ++ * @type: type of filesystem (MAYBE_NULL) ++ * @trans: name of trans (MAYBE NULL) ++ * @flags: filesystem idependent mount flags ++ * @data: filesystem mount flags ++ * @request: permissions requested ++ * @perms: the permissions computed for the request (NOT NULL) ++ * @info: extra information message (MAYBE NULL) ++ * @error: 0 if operation allowed else failure error code ++ * ++ * Returns: %0 or error on failure ++ */ ++static int audit_mount(struct aa_profile *profile, gfp_t gfp, int op, ++ const char *name, const char *src_name, ++ const char *type, const char *trans, ++ unsigned long flags, const void *data, u32 request, ++ struct file_perms *perms, const char *info, int error) ++{ ++ int audit_type = AUDIT_APPARMOR_AUTO; ++ struct common_audit_data sa; ++ struct apparmor_audit_data aad = { }; ++ ++ if (likely(!error)) { ++ u32 mask = perms->audit; ++ ++ if (unlikely(AUDIT_MODE(profile) == AUDIT_ALL)) ++ mask = 0xffff; ++ ++ /* mask off perms that are not being force audited */ ++ request &= mask; ++ ++ if (likely(!request)) ++ return 0; ++ audit_type = AUDIT_APPARMOR_AUDIT; ++ } else { ++ /* only report permissions that were denied */ ++ request = request & ~perms->allow; ++ ++ if (request & perms->kill) ++ audit_type = AUDIT_APPARMOR_KILL; ++ ++ /* quiet known rejects, assumes quiet and kill do not overlap */ ++ if ((request & perms->quiet) && ++ AUDIT_MODE(profile) != AUDIT_NOQUIET && ++ AUDIT_MODE(profile) != AUDIT_ALL) ++ request &= ~perms->quiet; ++ ++ if (!request) ++ return COMPLAIN_MODE(profile) ? ++ complain_error(error) : error; ++ } ++ ++ COMMON_AUDIT_DATA_INIT(&sa, NONE); ++ sa.aad = &aad; ++ sa.aad->op = op; ++ sa.aad->name = name; ++ sa.aad->mnt.src_name = src_name; ++ sa.aad->mnt.type = type; ++ sa.aad->mnt.trans = trans; ++ sa.aad->mnt.flags = flags; ++ if (data && (perms->audit & AA_AUDIT_DATA)) ++ sa.aad->mnt.data = data; ++ sa.aad->info = info; ++ sa.aad->error = error; ++ ++ return aa_audit(audit_type, profile, gfp, &sa, audit_cb); ++} ++ ++/** ++ * match_mnt_flags - Do an ordered match on mount flags ++ * @dfa: dfa to match against ++ * @state: state to start in ++ * @flags: mount flags to match against ++ * ++ * Mount flags are encoded as an ordered match. This is done instead of ++ * checking against a simple bitmask, to allow for logical operations ++ * on the flags. ++ * ++ * Returns: next state after flags match ++ */ ++static unsigned int match_mnt_flags(struct aa_dfa *dfa, unsigned int state, ++ unsigned long flags) ++{ ++ unsigned int i; ++ ++ for (i = 0; i <= 31 ; ++i) { ++ if ((1 << i) & flags) ++ state = aa_dfa_next(dfa, state, i + 1); ++ } ++ ++ return state; ++} ++ ++/** ++ * compute_mnt_perms - compute mount permission associated with @state ++ * @dfa: dfa to match against (NOT NULL) ++ * @state: state match finished in ++ * ++ * Returns: mount permissions ++ */ ++static struct file_perms compute_mnt_perms(struct aa_dfa *dfa, ++ unsigned int state) ++{ ++ struct file_perms perms; ++ ++ perms.kill = 0; ++ perms.allow = dfa_user_allow(dfa, state); ++ perms.audit = dfa_user_audit(dfa, state); ++ perms.quiet = dfa_user_quiet(dfa, state); ++ perms.xindex = dfa_user_xindex(dfa, state); ++ ++ return perms; ++} ++ ++static const char const *mnt_info_table[] = { ++ "match succeeded", ++ "failed mntpnt match", ++ "failed srcname match", ++ "failed type match", ++ "failed flags match", ++ "failed data match" ++}; ++ ++/* ++ * Returns 0 on success else element that match failed in, this is the ++ * index into the mnt_info_table above ++ */ ++static int do_match_mnt(struct aa_dfa *dfa, unsigned int start, ++ const char *mntpnt, const char *devname, ++ const char *type, unsigned long flags, ++ void *data, bool binary, struct file_perms *perms) ++{ ++ unsigned int state; ++ ++ state = aa_dfa_match(dfa, start, mntpnt); ++ state = aa_dfa_null_transition(dfa, state); ++ if (!state) ++ return 1; ++ ++ if (devname) ++ state = aa_dfa_match(dfa, state, devname); ++ state = aa_dfa_null_transition(dfa, state); ++ if (!state) ++ return 2; ++ ++ if (type) ++ state = aa_dfa_match(dfa, state, type); ++ state = aa_dfa_null_transition(dfa, state); ++ if (!state) ++ return 3; ++ ++ state = match_mnt_flags(dfa, state, flags); ++ if (!state) ++ return 4; ++ *perms = compute_mnt_perms(dfa, state); ++ if (perms->allow & AA_MAY_MOUNT) ++ return 0; ++ ++ /* only match data if not binary and the DFA flags data is expected */ ++ if (data && !binary && (perms->allow & AA_CONT_MATCH)) { ++ state = aa_dfa_null_transition(dfa, state); ++ if (!state) ++ return 4; ++ ++ state = aa_dfa_match(dfa, state, data); ++ if (!state) ++ return 5; ++ *perms = compute_mnt_perms(dfa, state); ++ if (perms->allow & AA_MAY_MOUNT) ++ return 0; ++ } ++ ++ /* failed at end of flags match */ ++ return 4; ++} ++ ++/** ++ * match_mnt - handle path matching for mount ++ * @profile: the confining profile ++ * @mntpnt: string for the mntpnt (NOT NULL) ++ * @devname: string for the devname/src_name (MAYBE NULL) ++ * @type: string for the dev type (MAYBE NULL) ++ * @flags: mount flags to match ++ * @data: fs mount data (MAYBE NULL) ++ * @binary: whether @data is binary ++ * @perms: Returns: permission found by the match ++ * @info: Returns: infomation string about the match for logging ++ * ++ * Returns: 0 on success else error ++ */ ++static int match_mnt(struct aa_profile *profile, const char *mntpnt, ++ const char *devname, const char *type, ++ unsigned long flags, void *data, bool binary, ++ struct file_perms *perms, const char **info) ++{ ++ int pos; ++ ++ if (!profile->policy.dfa) ++ return -EACCES; ++ ++ pos = do_match_mnt(profile->policy.dfa, ++ profile->policy.start[AA_CLASS_MOUNT], ++ mntpnt, devname, type, flags, data, binary, perms); ++ if (pos) { ++ *info = mnt_info_table[pos]; ++ return -EACCES; ++ } ++ ++ return 0; ++} ++ ++static int path_flags(struct aa_profile *profile, struct path *path) ++{ ++ return profile->path_flags | ++ S_ISDIR(path->dentry->d_inode->i_mode) ? PATH_IS_DIR : 0; ++} ++ ++int aa_remount(struct aa_profile *profile, struct path *path, ++ unsigned long flags, void *data) ++{ ++ struct file_perms perms = { }; ++ const char *name, *info = NULL; ++ char *buffer = NULL; ++ int binary, error; ++ ++ binary = path->dentry->d_sb->s_type->fs_flags & FS_BINARY_MOUNTDATA; ++ ++ error = aa_path_name(path, path_flags(profile, path), &buffer, &name, ++ &info); ++ if (error) ++ goto audit; ++ ++ error = match_mnt(profile, name, NULL, NULL, flags, data, binary, ++ &perms, &info); ++ ++audit: ++ error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, NULL, NULL, ++ NULL, flags, data, AA_MAY_MOUNT, &perms, info, ++ error); ++ kfree(buffer); ++ ++ return error; ++} ++ ++int aa_bind_mount(struct aa_profile *profile, struct path *path, ++ const char *dev_name, unsigned long flags) ++{ ++ struct file_perms perms = { }; ++ char *buffer = NULL, *old_buffer = NULL; ++ const char *name, *old_name = NULL, *info = NULL; ++ struct path old_path; ++ int error; ++ ++ if (!dev_name || !*dev_name) ++ return -EINVAL; ++ ++ flags &= MS_REC | MS_BIND; ++ ++ error = aa_path_name(path, path_flags(profile, path), &buffer, &name, ++ &info); ++ if (error) ++ goto audit; ++ ++ error = kern_path(dev_name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &old_path); ++ if (error) ++ goto audit; ++ ++ error = aa_path_name(&old_path, path_flags(profile, &old_path), ++ &old_buffer, &old_name, &info); ++ path_put(&old_path); ++ if (error) ++ goto audit; ++ ++ error = match_mnt(profile, name, old_name, NULL, flags, NULL, 0, ++ &perms, &info); ++ ++audit: ++ error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, old_name, ++ NULL, NULL, flags, NULL, AA_MAY_MOUNT, &perms, ++ info, error); ++ kfree(buffer); ++ kfree(old_buffer); ++ ++ return error; ++} ++ ++int aa_mount_change_type(struct aa_profile *profile, struct path *path, ++ unsigned long flags) ++{ ++ struct file_perms perms = { }; ++ char *buffer = NULL; ++ const char *name, *info = NULL; ++ int error; ++ ++ /* These are the flags allowed by do_change_type() */ ++ flags &= (MS_REC | MS_SILENT | MS_SHARED | MS_PRIVATE | MS_SLAVE | ++ MS_UNBINDABLE); ++ ++ error = aa_path_name(path, path_flags(profile, path), &buffer, &name, ++ &info); ++ if (error) ++ goto audit; ++ ++ error = match_mnt(profile, name, NULL, NULL, flags, NULL, 0, &perms, ++ &info); ++ ++audit: ++ error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, NULL, NULL, ++ NULL, flags, NULL, AA_MAY_MOUNT, &perms, info, ++ error); ++ kfree(buffer); ++ ++ return error; ++} ++ ++int aa_move_mount(struct aa_profile *profile, struct path *path, ++ const char *orig_name) ++{ ++ struct file_perms perms = { }; ++ char *buffer = NULL, *old_buffer = NULL; ++ const char *name, *old_name = NULL, *info = NULL; ++ struct path old_path; ++ int error; ++ ++ if (!orig_name || !*orig_name) ++ return -EINVAL; ++ ++ error = aa_path_name(path, path_flags(profile, path), &buffer, &name, ++ &info); ++ if (error) ++ goto audit; ++ ++ error = kern_path(orig_name, LOOKUP_FOLLOW, &old_path); ++ if (error) ++ goto audit; ++ ++ error = aa_path_name(&old_path, path_flags(profile, &old_path), ++ &old_buffer, &old_name, &info); ++ path_put(&old_path); ++ if (error) ++ goto audit; ++ ++ error = match_mnt(profile, name, old_name, NULL, MS_MOVE, NULL, 0, ++ &perms, &info); ++ ++audit: ++ error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, old_name, ++ NULL, NULL, MS_MOVE, NULL, AA_MAY_MOUNT, &perms, ++ info, error); ++ kfree(buffer); ++ kfree(old_buffer); ++ ++ return error; ++} ++ ++int aa_new_mount(struct aa_profile *profile, const char *orig_dev_name, ++ struct path *path, const char *type, unsigned long flags, ++ void *data) ++{ ++ struct file_perms perms = { }; ++ char *buffer = NULL, *dev_buffer = NULL; ++ const char *name = NULL, *dev_name = NULL, *info = NULL; ++ int binary = 1; ++ int error; ++ ++ dev_name = orig_dev_name; ++ if (type) { ++ int requires_dev; ++ struct file_system_type *fstype = get_fs_type(type); ++ if (!fstype) ++ return -ENODEV; ++ ++ binary = fstype->fs_flags & FS_BINARY_MOUNTDATA; ++ requires_dev = fstype->fs_flags & FS_REQUIRES_DEV; ++ put_filesystem(fstype); ++ ++ if (requires_dev) { ++ struct path dev_path; ++ ++ if (!dev_name || !*dev_name) { ++ error = -ENOENT; ++ goto out; ++ } ++ ++ error = kern_path(dev_name, LOOKUP_FOLLOW, &dev_path); ++ if (error) ++ goto audit; ++ ++ error = aa_path_name(&dev_path, ++ path_flags(profile, &dev_path), ++ &dev_buffer, &dev_name, &info); ++ path_put(&dev_path); ++ if (error) ++ goto audit; ++ } ++ } ++ ++ error = aa_path_name(path, path_flags(profile, path), &buffer, &name, ++ &info); ++ if (error) ++ goto audit; ++ ++ error = match_mnt(profile, name, dev_name, type, flags, data, binary, ++ &perms, &info); ++ ++audit: ++ error = audit_mount(profile, GFP_KERNEL, OP_MOUNT, name, dev_name, ++ type, NULL, flags, data, AA_MAY_MOUNT, &perms, info, ++ error); ++ kfree(buffer); ++ kfree(dev_buffer); ++ ++out: ++ return error; ++ ++} ++ ++int aa_umount(struct aa_profile *profile, struct vfsmount *mnt, int flags) ++{ ++ struct file_perms perms = { }; ++ char *buffer = NULL; ++ const char *name, *info = NULL; ++ int error; ++ ++ struct path path = { mnt, mnt->mnt_root }; ++ error = aa_path_name(&path, path_flags(profile, &path), &buffer, &name, ++ &info); ++ if (error) ++ goto audit; ++ ++ if (!error && profile->policy.dfa) { ++ unsigned int state; ++ state = aa_dfa_match(profile->policy.dfa, ++ profile->policy.start[AA_CLASS_MOUNT], ++ name); ++ perms = compute_mnt_perms(profile->policy.dfa, state); ++ } ++ ++ if (AA_MAY_UMOUNT & ~perms.allow) ++ error = -EACCES; ++ ++audit: ++ error = audit_mount(profile, GFP_KERNEL, OP_UMOUNT, name, NULL, NULL, ++ NULL, 0, NULL, AA_MAY_UMOUNT, &perms, info, error); ++ kfree(buffer); ++ ++ return error; ++} ++ ++int aa_pivotroot(struct aa_profile *profile, struct path *old_path, ++ struct path *new_path) ++{ ++ struct file_perms perms = { }; ++ struct aa_profile *target = NULL; ++ char *old_buffer = NULL, *new_buffer = NULL; ++ const char *old_name, *new_name = NULL, *info = NULL; ++ int error; ++ ++ error = aa_path_name(old_path, path_flags(profile, old_path), ++ &old_buffer, &old_name, &info); ++ if (error) ++ goto audit; ++ ++ error = aa_path_name(new_path, path_flags(profile, new_path), ++ &new_buffer, &new_name, &info); ++ if (error) ++ goto audit; ++ ++ if (profile->policy.dfa) { ++ unsigned int state; ++ state = aa_dfa_match(profile->policy.dfa, ++ profile->policy.start[AA_CLASS_MOUNT], ++ new_name); ++ state = aa_dfa_null_transition(profile->policy.dfa, state); ++ state = aa_dfa_match(profile->policy.dfa, state, old_name); ++ perms = compute_mnt_perms(profile->policy.dfa, state); ++ } ++ ++ if (AA_MAY_PIVOTROOT & perms.allow) { ++ if ((perms.xindex & AA_X_TYPE_MASK) == AA_X_TABLE) { ++ target = x_table_lookup(profile, perms.xindex); ++ if (!target) ++ error = -ENOENT; ++ else ++ error = aa_replace_current_profile(target); ++ } ++ } else ++ error = -EACCES; ++ ++audit: ++ error = audit_mount(profile, GFP_KERNEL, OP_PIVOTROOT, new_name, ++ old_name, NULL, target ? target->base.name : NULL, ++ 0, NULL, AA_MAY_PIVOTROOT, &perms, info, error); ++ aa_put_profile(target); ++ kfree(old_buffer); ++ kfree(new_buffer); ++ ++ return error; ++} +-- +1.7.9.5 + diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 5aed09105cc..0c498c5d828 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -1,4 +1,4 @@ -{ stdenv, version, kernelPlatform, extraConfig }: +{ stdenv, version, kernelPlatform, extraConfig, features }: with stdenv.lib; @@ -16,7 +16,9 @@ with stdenv.lib; DEBUG_DEVRES n DEBUG_NX_TEST n DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n + ${optionalString (!(features.grsecurity or true)) '' + DEBUG_STACKOVERFLOW n + ''} RCU_TORTURE_TEST n SCHEDSTATS n DETECT_HUNG_TASK y @@ -114,6 +116,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 @@ -166,16 +169,20 @@ with stdenv.lib; # Security related features. STRICT_DEVMEM y # Filter access to /dev/mem SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default - DEVKMEM n # Disable /dev/kmem + DEVKMEM? n # Disable /dev/kmem ${if versionOlder version "3.14" then '' - CC_STACKPROTECTOR y # Detect buffer overflows on the stack + CC_STACKPROTECTOR? y # Detect buffer overflows on the stack '' else '' - CC_STACKPROTECTOR_REGULAR y + CC_STACKPROTECTOR_REGULAR? y ''} ${optionalString (versionAtLeast version "3.12") '' USER_NS y # Support for user namespaces ''} + # AppArmor support + SECURITY_APPARMOR y + DEFAULT_SECURITY_APPARMOR y + # Misc. options. 8139TOO_8129 y 8139TOO_PIO n # PIO is slower @@ -275,17 +282,17 @@ with stdenv.lib; ''} # Virtualisation. - PARAVIRT y + PARAVIRT? y ${if versionAtLeast version "3.10" then '' - HYPERVISOR_GUEST y + HYPERVISOR_GUEST? y '' else '' - PARAVIRT_GUEST y + PARAVIRT_GUEST? y ''} - KVM_GUEST y + KVM_GUEST? y ${optionalString (versionOlder version "3.7") '' - KVM_CLOCK y + KVM_CLOCK? y ''} - XEN y + XEN? y XEN_DOM0? y KSM y ${optionalString (!stdenv.is64bit) '' @@ -311,6 +318,17 @@ 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 + + # zram support (e.g for in-memory compressed swap) + ${optionalString (versionAtLeast version "3.4") '' + ZSMALLOC y + ''} + ZRAM m + ${kernelPlatform.kernelExtraConfig or ""} ${extraConfig} '' diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index ff0ca0050fb..8ba677d6dfe 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -109,12 +109,6 @@ let crossConfig = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; }; }; - configWithPlatform = kernelPlatform: - import ./common-config.nix { inherit stdenv version kernelPlatform extraConfig; }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - passthru = { # Combine the `features' attribute sets of all the kernel patches. features = lib.fold (x: y: (x.features or {}) // y) features kernelPatches; @@ -124,6 +118,14 @@ let passthru = kernel.passthru // (removeAttrs passthru [ "passthru" "meta" ]); }; + configWithPlatform = kernelPlatform: import ./common-config.nix + { inherit stdenv version kernelPlatform extraConfig; + features = passthru.features; # Ensure we know of all extra patches, etc. + }; + + config = configWithPlatform stdenv.platform; + configCross = configWithPlatform stdenv.cross.platform; + nativeDrv = lib.addPassthru kernel.nativeDrv passthru; crossDrv = lib.addPassthru kernel.crossDrv passthru; diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index 520b41ec206..ac2ba611386 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.36"; + version = "3.10.41"; extraMeta.branch = "3.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1bx94v829qvv5r9h6cj5ddyj5n6qddy8bppnl8minjnqsv5l0vnr"; + sha256 = "0rpz2nxay0a4573dnnb8szq3ly3bhjd6wrz5z6iw3kpj19crs0r1"; }; 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 e997e1951ef..82f31bf4f98 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.12.17"; + version = "3.12.21"; extraMeta.branch = "3.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1knjmzk5gyab0b1prmna2bb8zz19sjmmjm24h6agmpq6q4bbnc5q"; + sha256 = "1pr4gr48bgxz28h790b2w41b1fc41xffz3drflsnz5736pisrhg7"; }; 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 136b5241347..d84cec235ce 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.13.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.13.9"; + version = "3.13.11"; extraMeta.branch = "3.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1nfxmxmpvw9lr5595ivsshdhk81bjcbx8k92qs0qql6d06bpa921"; + sha256 = "1nhi5m0nnrb7v2gqpa3181p32k5hm5jwkf647vs80r14750gxlpw"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix index 31e6226a3de..465a04837ec 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix @@ -1,13 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.14"; + version = "3.14.5"; extraMeta.branch = "3.14"; - modDirVersion = "3.14.0"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa"; + sha256 = "0x38fyj86hrw7ns14m4kdpscqlj7ig889mxzvwsbhrsk0khllvyn"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix index a73ded41edf..d5fd820cac0 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix @@ -1,13 +1,27 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.2.57"; + version = "3.2.59"; extraMeta.branch = "3.2"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0njiqa5fi82a4dls9z1cp33lza00bg15x93c19bsyalp53xqbnab"; + sha256 = "0a62nmn90k3g48m8g3y27q6a0qwa3k2s6synss7378kdi4f938i4"; }; - features.iwlwifi = true; + # We don't provide these patches if grsecurity is enabled, because + # the grsec 3.2 -stable patchset already includes them. + kernelPatches = args.kernelPatches ++ ( + stdenv.lib.optionals (!(args.features.grsecurity or false)) + [ { name = "0001-AppArmor-compatibility-patch-for-v5-network-controll"; + patch = ./apparmor-patches/3.2/0001-AppArmor-compatibility-patch-for-v5-network-controll.patch; + } + { name = "0002-AppArmor-compatibility-patch-for-v5-interface"; + patch = ./apparmor-patches/3.2/0002-AppArmor-compatibility-patch-for-v5-interface.patch; + } + { name = "0003-AppArmor-Allow-dfa-backward-compatibility-with-broke"; + patch = ./apparmor-patches/3.2/0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch; + }]); + + 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 28542b88966..165baf0a17f 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,14 +1,25 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.4.86"; + version = "3.4.91"; extraMeta.branch = "3.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1gb0pgpikl2fvwbkzpyh38ji0i656jgz902918kvxsip263w675q"; + sha256 = "003l9i14m5ci2232wl68nxbgi0ipkzq00yfgxfp9cmh2sipxy1dk"; }; + kernelPatches = args.kernelPatches ++ + [ { name = "0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file"; + patch = ./apparmor-patches/3.4/0001-UBUNTU-SAUCE-AppArmor-Add-profile-introspection-file.patch; + } + { name = "0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules"; + patch = ./apparmor-patches/3.4/0002-UBUNTU-SAUCE-AppArmor-basic-networking-rules.patch; + } + { name = "0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou"; + patch = ./apparmor-patches/3.4/0003-UBUNTU-SAUCE-apparmor-Add-the-ability-to-mediate-mou.patch; + }]; + features.iwlwifi = true; features.efiBootStub = true; features.needsCifsUtils = true; diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix new file mode 100644 index 00000000000..d58610a38cd --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "3.15-rc8"; + extraMeta.branch = "3.15"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/testing/linux-${version}.tar.xz"; + sha256 = ""; + }; + + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 47f5c034c74..30e2a37cb91 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -100,12 +100,13 @@ 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" - "KBUILD_BUILD_TIMESTAMP=Thu_Jan__1_00:00:01_UTC_1970" - platform.kernelTarget + platform.kernelTarget ] ++ optional isModular "modules"; installFlags = [ diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 267e5657e6c..c0cca64967c 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -26,37 +26,12 @@ let inherit sha256; }; features.grsecurity = true; - # The grsec kernel patchset includes AppArmor patches - features.apparmor = true; - }; - - makeAppArmorPatch = {apparmor, version}: - stdenv.mkDerivation { - name = "apparmor-${version}.patch"; - phases = ["installPhase"]; - installPhase = '' - cat ${apparmor}/kernel-patches/${version}/* > $out - ''; }; in rec { - apparmor_3_2 = rec { - version = "3.2"; - name = "apparmor-${version}"; - patch = makeAppArmorPatch { inherit apparmor version; }; - features.apparmor = true; - }; - - apparmor_3_4 = rec { - version = "3.4"; - name = "apparmor-${version}"; - patch = makeAppArmorPatch { inherit apparmor version; }; - features.apparmor = true; - }; - no_xsave = { name = "no-xsave"; patch = ./no-xsave.patch; @@ -85,24 +60,24 @@ rec { }; grsecurity_stable = grsecPatch - { kversion = "3.2.57"; - revision = "201404111812"; + { kversion = "3.2.59"; + revision = "201406042136"; branch = "stable"; - sha256 = "1kp2f5g5jdl6r833fm5l2sgf7qsjddl2br7mislc37iqgwzjmhlx"; + sha256 = "01frz80n7zl3yyl11d1i517n0rw8ivb46cl0swp3zgjx29adwc8s"; }; grsecurity_vserver = grsecPatch - { kversion = "3.2.57"; - revision = "vs2.3.2.16-201404111814"; + { kversion = "3.2.59"; + revision = "vs2.3.2.16-201406042138"; branch = "vserver"; - sha256 = "025kxk4j8kx7v5gmpafls67747l39ssfmzh0drg0hyg2yc0hjk2c"; + sha256 = "1vlmcf2fshxvhsparmvwlbn3gpccc8zjc341sjwsmyc3i8csmysr"; }; grsecurity_unstable = grsecPatch - { kversion = "3.13.9"; - revision = "201404111815"; + { kversion = "3.14.5"; + revision = "201406021708"; branch = "test"; - sha256 = "1ikqvi0hv32m5rgxa8dpqr5v84hx7bnjfr6c1bvsfqikc818isvy"; + sha256 = "002sbbcmvg6wa41a1q8vgf3zcjakns72dc885b6jml0v396hb5c6"; }; grsec_fix_path = diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix index 378e1a87d07..380b4a35f1c 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-16"; + name = "kmod-17"; src = fetchurl { url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz"; - sha256 = "63412efab37c70459ccef167556965c93fd4f56af5986cd3750542a684c613c5"; + 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 95d08da4580..0c4ab4bd4c4 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/lockdep/default.nix b/pkgs/os-specific/linux/lockdep/default.nix index 77cb43a7b53..9ddcea03475 100644 --- a/pkgs/os-specific/linux/lockdep/default.nix +++ b/pkgs/os-specific/linux/lockdep/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "lockdep-${version}"; - version = "3.14"; + version = "3.14.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa"; + sha256 = "05yp192pbjng92rpvq3fd4mhjc96iylwf6xb7as5lscwg660m1b5"; }; preConfigure = "cd tools/lib/lockdep"; diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix index 1673472036f..8e20bf1e3d3 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 ]; diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index bd748dadf61..9e2b0c90079 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/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index 51144bc1051..aa39091070e 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -20,6 +20,9 @@ buildPhase() { sysOut=$(echo $kernel/lib/modules/$kernelVersion/build) unset src # used by the nv makefile make SYSSRC=$sysSrc SYSOUT=$sysOut module + cd uvm + make SYSSRC=$sysSrc SYSOUT=$sysOut module + cd .. cd .. fi } @@ -56,6 +59,7 @@ installPhase() { # Install the kernel module. mkdir -p $out/lib/modules/$kernelVersion/misc cp kernel/nvidia.ko $out/lib/modules/$kernelVersion/misc + cp kernel/uvm/nvidia-uvm.ko $out/lib/modules/$kernelVersion/misc # Install the X driver. mkdir -p $out/lib/xorg/modules @@ -73,10 +77,10 @@ installPhase() { # Install the programs. mkdir -p $out/bin - for i in nvidia-settings nvidia-smi nvidia-xconfig; do - cp $i $out/bin/$i - patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ - --set-rpath $out/lib:$programPath:$glPath $out/bin/$i + for i in nvidia-settings nvidia-smi; do + cp $i $out/bin/$i + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath $out/lib:$programPath:$glPath $out/bin/$i done # Header files etc. @@ -85,6 +89,7 @@ installPhase() { mkdir -p $out/share/man/man1 cp -p *.1.gz $out/share/man/man1 + rm $out/share/man/man1/nvidia-xconfig.1.gz mkdir -p $out/share/applications cp -p *.desktop $out/share/applications @@ -96,6 +101,10 @@ installPhase() { substituteInPlace $out/share/applications/nvidia-settings.desktop \ --replace '__UTILS_PATH__' $out/bin \ --replace '__PIXMAP_PATH__' $out/share/pixmaps + + # Test a bit. + $out/bin/nvidia-settings --version + $out/bin/nvidia-smi --help > /dev/null fi } diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 74863496a0f..0c0f6ecc71e 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -12,7 +12,7 @@ assert (!libsOnly) -> kernel != null; let - versionNumber = "331.49"; + versionNumber = "331.79"; in @@ -21,18 +21,16 @@ 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 = "00d7bq8cfxk52qd4y226fz8m9m3mjq45fbgr3q7k08jyy9qmswmn"; + sha256 = "0dl6gj1k6rz7bzyflfgi8y4489bxv03gfcni7zjzy440xjm3sk9l"; } 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 = "0q3lvl1lypi33i847nqz4k3161ackh2n9kgyjn6v2c480f405hfk"; + sha256 = "14mwxz12kd5znnrmwia4qk35sd7xpr6cgpxs1xzjwmjgvz6gc71v"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; diff --git a/pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch b/pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch deleted file mode 100644 index 07fb7652d32..00000000000 --- a/pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- 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/pam/CVE-2014-2583.patch b/pkgs/os-specific/linux/pam/CVE-2014-2583.patch new file mode 100644 index 00000000000..25b1f7549fa --- /dev/null +++ b/pkgs/os-specific/linux/pam/CVE-2014-2583.patch @@ -0,0 +1,49 @@ +From 9dcead87e6d7f66d34e7a56d11a30daca367dffb Mon Sep 17 00:00:00 2001 +From: "Dmitry V. Levin" +Date: Wed, 26 Mar 2014 22:17:23 +0000 +Subject: pam_timestamp: fix potential directory traversal issue (ticket #27) + +pam_timestamp uses values of PAM_RUSER and PAM_TTY as components of +the timestamp pathname it creates, so extra care should be taken to +avoid potential directory traversal issues. + +* modules/pam_timestamp/pam_timestamp.c (check_tty): Treat +"." and ".." tty values as invalid. +(get_ruser): Treat "." and ".." ruser values, as well as any ruser +value containing '/', as invalid. + +Fixes CVE-2014-2583. + +Reported-by: Sebastian Krahmer + +diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c +index 5193733..b3f08b1 100644 +--- a/modules/pam_timestamp/pam_timestamp.c ++++ b/modules/pam_timestamp/pam_timestamp.c +@@ -158,7 +158,7 @@ check_tty(const char *tty) + tty = strrchr(tty, '/') + 1; + } + /* Make sure the tty wasn't actually a directory (no basename). */ +- if (strlen(tty) == 0) { ++ if (!strlen(tty) || !strcmp(tty, ".") || !strcmp(tty, "..")) { + return NULL; + } + return tty; +@@ -243,6 +243,17 @@ get_ruser(pam_handle_t *pamh, char *ruserbuf, size_t ruserbuflen) + if (pwd != NULL) { + ruser = pwd->pw_name; + } ++ } else { ++ /* ++ * This ruser is used by format_timestamp_name as a component ++ * of constructed timestamp pathname, so ".", "..", and '/' ++ * are disallowed to avoid potential path traversal issues. ++ */ ++ if (!strcmp(ruser, ".") || ++ !strcmp(ruser, "..") || ++ strchr(ruser, '/')) { ++ ruser = NULL; ++ } + } + if (ruser == NULL || strlen(ruser) >= ruserbuflen) { + *ruserbuf = '\0'; diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix index 43300425c00..43b8204f50c 100644 --- a/pkgs/os-specific/linux/pam/default.nix +++ b/pkgs/os-specific/linux/pam/default.nix @@ -1,13 +1,15 @@ { 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"; }; + patches = [ ./CVE-2014-2583.patch ]; + nativeBuildInputs = [ flex ]; buildInputs = [ cracklib ]; diff --git a/pkgs/os-specific/linux/paxctl/default.nix b/pkgs/os-specific/linux/paxctl/default.nix index 69656f51042..8e70ddd8434 100644 --- a/pkgs/os-specific/linux/paxctl/default.nix +++ b/pkgs/os-specific/linux/paxctl/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "paxctl-${version}"; - version = "0.7"; + version = "0.8"; src = fetchurl { - url = "http://pax.grsecurity.net/${name}.tar.bz2"; - sha256 = "1j6dg6wd1v7na5i4xj8zmbff0mdqdnw6cvqy0rsbz5anra27f1zp"; + url = "http://pax.grsecurity.net/${name}.tar.gz"; + sha256 = "107gmriq5icsk9yni5q949rnjapjkcs0823pw6zra6h1xml2f0mm"; }; preBuild = '' diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix index 4c51c4fea6c..a04407ba5c2 100644 --- a/pkgs/os-specific/linux/plymouth/default.nix +++ b/pkgs/os-specific/linux/plymouth/default.nix @@ -1,51 +1,45 @@ -{ stdenv, fetchurl, cairo, gtk, libdrm, libpng, makeWrapper, pango, pkgconfig }: +{ stdenv, fetchurl, autoconf, automake, cairo, docbook_xsl, gtk +, libdrm, libpng , libtool, libxslt, makeWrapper, pango, pkgconfig +, udev +}: stdenv.mkDerivation rec { name = "plymouth-${version}"; - version = "0.8.8"; + version = "0.9.0"; src = fetchurl { url = "http://www.freedesktop.org/software/plymouth/releases/${name}.tar.bz2"; - sha256 = "16vm3llgci7h63jaclfskj1ii61d8psq7ny2mncml6m3sghs9b8v"; + sha256 = "0kfdwv179brg390ma003pmdqfvqlbybqiyp9fxrxx0wa19sjxqnk"; }; - buildInputs = [ cairo gtk libdrm libpng makeWrapper pango pkgconfig ]; + buildInputs = [ + autoconf automake cairo docbook_xsl gtk libdrm libpng libtool + libxslt makeWrapper pango pkgconfig udev + ]; + + prePatch = '' + sed -e "s#\$(\$PKG_CONFIG --variable=systemdsystemunitdir systemd)#$out/etc/systemd/system#g" \ + -i configure.ac + ''; configurePhase = '' - export DESTDIR=$out ./configure \ + --prefix=$out \ -bindir=$out/bin \ -sbindir=$out/sbin \ - --prefix=$out \ --exec-prefix=$out \ --libdir=$out/lib \ --libexecdir=$out/lib \ - --enable-tracing \ - --sysconfdir=/etc \ + --sysconfdir=$out/etc \ --localstatedir=/var \ + --with-log-viewer \ --without-system-root-install \ + --without-rhgb-compat-link \ + --enable-tracing \ + --enable-systemd-integration \ + --enable-pango \ --enable-gtk ''; -# --enable-systemd-integration -# -datadir=/share \ -# --with-rhgb-compat-link \ - - preInstall = "mkdir -p $out/bin $out/sbin"; - - postInstall = '' - cd $out/$out - mv bin/* $out/bin - mv sbin/* $out/sbin - - rmdir bin - rmdir sbin - mv * $out/ - sed -e "s#> $output##" \ - -e "s#> /dev/stderr##" \ - -i $out/lib/plymouth/plymouth-populate-initrd - wrapProgram $out/lib/plymouth/plymouth-populate-initrd \ - --set PATH $PATH:$out/bin:$out/sbin - ''; meta = with stdenv.lib; { homepage = http://www.freedesktop.org/wiki/Software/Plymouth; diff --git a/pkgs/os-specific/linux/procps/watch.nix b/pkgs/os-specific/linux/procps/watch.nix new file mode 100644 index 00000000000..2547e26def4 --- /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/0001-Typo-in-fuser-makes-M-on-all-the-time.patch b/pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch new file mode 100644 index 00000000000..2bb93955aea --- /dev/null +++ b/pkgs/os-specific/linux/psmisc/0001-Typo-in-fuser-makes-M-on-all-the-time.patch @@ -0,0 +1,44 @@ +From 3638cc55b4d08851faba46635d737b24d016665b Mon Sep 17 00:00:00 2001 +From: Brad Jorsch +Date: Fri, 28 Feb 2014 21:55:02 +1100 +Subject: [PATCH] Typo in fuser makes -M on all the time + +Brad found that fuser had the -M option on all the time. +A simple but significant typo caused this, thanks the the patch. + +Bug-Debian: http://bugs.debian.org/740275 + +Signed-off-by: Craig Small +--- + ChangeLog | 4 ++++ + src/fuser.c | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/ChangeLog b/ChangeLog +index fd1cccf..e5f784c 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,7 @@ ++Changes in 22.22 ++================ ++ * Fixed typo in fuser which has -M on Debian #740275 ++ + Changes in 22.21 + ================ + * Missing comma in fuser(1) added Debian #702391 +diff --git a/src/fuser.c b/src/fuser.c +index b485f65..389b302 100644 +--- a/src/fuser.c ++++ b/src/fuser.c +@@ -1174,7 +1174,7 @@ int main(int argc, char *argv[]) + usage(_("No process specification given")); + + /* Check if -M flag was used and if so check mounts */ +- if (opts * OPT_ISMOUNTPOINT) { ++ if (opts & OPT_ISMOUNTPOINT) { + check_mountpoints(&mounts, &names_head, &names_tail); + } + +-- +1.9.2 + diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix index 1215c5261f4..5cf5e9a542d 100644 --- a/pkgs/os-specific/linux/psmisc/default.nix +++ b/pkgs/os-specific/linux/psmisc/default.nix @@ -12,6 +12,9 @@ stdenv.mkDerivation rec { buildInputs = [ncurses]; + # From upstream, will be in next release. + patches = [ ./0001-Typo-in-fuser-makes-M-on-all-the-time.patch ]; + meta = { homepage = http://psmisc.sourceforge.net/; description = "A set of small useful utilities that use the proc filesystem (such as fuser, killall and pstree)"; diff --git a/pkgs/os-specific/linux/rtkit/default.nix b/pkgs/os-specific/linux/rtkit/default.nix index 05ebd0bf845..fe392fb0841 100644 --- a/pkgs/os-specific/linux/rtkit/default.nix +++ b/pkgs/os-specific/linux/rtkit/default.nix @@ -1,15 +1,19 @@ { stdenv, fetchurl, pkgconfig, dbus, libcap }: stdenv.mkDerivation rec { - name = "rtkit-0.10"; + name = "rtkit-0.11"; src = fetchurl { - url = "http://0pointer.de/public/${name}.tar.gz"; - sha256 = "08118ya3pkxd6gbbshas23xwj483169fqmxzhp5sgmfr16n97skl"; + url = "http://0pointer.de/public/${name}.tar.xz"; + sha256 = "1l5cb1gp6wgpc9vq6sx021qs6zb0nxg3cn1ba00hjhgnrw4931b8"; }; + configureFlags = [ + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + ]; + buildInputs = [ pkgconfig dbus libcap ]; - + meta = { homepage = http://0pointer.de/blog/projects/rtkit; descriptions = "A daemon that hands out real-time priority to processes"; diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index 9d024ae3109..b52801cacff 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -30,7 +30,10 @@ stdenv.mkDerivation rec { # 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"; + preConfigure = '' + export ac_cv_func_setpgrp_void=yes + export shadow_cv_logdir=/var/log + ''; preBuild = assert glibc != null; '' diff --git a/pkgs/os-specific/linux/spl/git.nix b/pkgs/os-specific/linux/spl/git.nix new file mode 100644 index 00000000000..ba7ccc7348e --- /dev/null +++ b/pkgs/os-specific/linux/spl/git.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchgit, kernel, perl, autoconf, automake, libtool, coreutils, gawk }: + +stdenv.mkDerivation { + name = "spl-0.6.3pre-${kernel.version}"; + src = fetchgit { + url = git://github.com/zfsonlinux/spl.git; + rev = "89aa97059d7ddad668a5118aef7914743162a5e8"; + sha256 = "1x4pba26zbyly8xd9q8s4av9v88ck0n9szxx72wzcn0s25rsyanx"; + }; + + patches = [ ./install_prefix.patch ]; + + buildInputs = [ perl autoconf automake libtool ]; + + preConfigure = '' + ./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-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" + substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin" + ''; + + configureFlags = '' + --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source + --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build + ''; + + enableParallelBuilding = true; + + meta = { + description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)"; + + longDescription = '' + This kernel module is a porting layer for ZFS to work inside the linux + kernel. + ''; + + homepage = http://zfsonlinux.org/; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [ wizeman ]; + }; +} diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix new file mode 100644 index 00000000000..10a1d88f234 --- /dev/null +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -0,0 +1,42 @@ +{stdenv, fetchurl, cmake, luajit, kernel, zlib}: +let + inherit (stdenv.lib) optional optionalString; + s = rec { + baseName="sysdig"; + version="0.1.83"; + name="${baseName}-${version}"; + url="https://github.com/draios/sysdig/archive/${version}.tar.gz"; + sha256="0d4fw6vba78hqy8plhcq8lkdcxy1fizrr5aiszdsap7cvd0gls6r"; + }; + buildInputs = [ + cmake zlib luajit + ] ++ optional (kernel != null) kernel; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + + cmakeFlags = [ + "-DUSE_BUNDLED_LUAJIT=OFF" + "-DUSE_BUNDLED_ZLIB=OFF" + ] ++ optional (kernel == null) "-DBUILD_DRIVER=OFF"; + preConfigure = '' + export INSTALL_MOD_PATH="$out" + '' + optionalString (kernel != null) '' + export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ''; + postInstall = optionalString (kernel != null) '' + make install_driver + ''; + + meta = with stdenv.lib; { + inherit (s) version; + description = ''A tracepoint-based system tracing tool for Linux (with clients for other OSes)''; + license = licenses.gpl2; + maintainers = [maintainers.raskin]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/os-specific/linux/sysdig/default.upstream b/pkgs/os-specific/linux/sysdig/default.upstream new file mode 100644 index 00000000000..7071d982500 --- /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 0afaf7b0370..522907e2aee 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,8 +1,9 @@ { stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod , xz, pam, acl, cryptsetup, libuuid, m4, utillinux , glib, kbd, libxslt, coreutils, libgcrypt, sysvtools, docbook_xsl -, kexectools, libmicrohttpd +, kexectools, libmicrohttpd, linuxHeaders , python ? null, pythonSupport ? false +, autoreconfHook }: assert stdenv.isLinux; @@ -10,26 +11,25 @@ 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 - ./fix_console_in_containers.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 + libmicrohttpd linuxHeaders + autoreconfHook ] ++ stdenv.lib.optional pythonSupport python; configureFlags = @@ -45,20 +45,23 @@ 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 + "--disable-tests" ]; 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 \ --replace /sbin/swapoff ${utillinux}/sbin/swapoff \ - --replace /sbin/fsck ${utillinux}/sbin/fsck \ --replace /bin/echo ${coreutils}/bin/echo \ --replace /bin/cat ${coreutils}/bin/cat \ --replace /sbin/sulogin ${sysvtools}/sbin/sulogin \ @@ -69,6 +72,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 = @@ -77,10 +84,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. @@ -94,7 +97,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 = @@ -103,6 +111,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 @@ -128,19 +138,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/fix_console_in_containers.patch b/pkgs/os-specific/linux/systemd/fix_console_in_containers.patch deleted file mode 100644 index 005c0028202..00000000000 --- a/pkgs/os-specific/linux/systemd/fix_console_in_containers.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -ruN systemd-203/units/getty@.service.m4 systemd-203-patched/units/getty@.service.m4 ---- systemd-203/units/getty@.service.m4 2013-01-07 22:50:49.083315575 +0100 -+++ systemd-203-patched/units/getty@.service.m4 2014-03-18 09:54:40.002476232 +0100 -@@ -23,7 +23,9 @@ - # 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 diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch index 0ad420cd35c..7410c87e277 100644 --- a/pkgs/os-specific/linux/systemd/fixes.patch +++ b/pkgs/os-specific/linux/systemd/fixes.patch @@ -1,144 +1,38 @@ -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 +diff --git a/Makefile.am b/Makefile.am +index 3d9e5c1..4d43cb4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1707,7 +1707,9 @@ dist_tmpfiles_DATA += \ + endif --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" + SYSINIT_TARGET_WANTS += \ +- systemd-tmpfiles-setup-dev.service \ ++ systemd-tmpfiles-setup-dev.service ++ ++MULTI_USER_TARGET_WANTS += \ + systemd-tmpfiles-setup.service + dist_zshcompletion_DATA += \ 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 +41,66 @@ 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 +index ae3695a..6b3aa45 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); +@@ -1096,11 +1096,6 @@ static int service_verify(Service *s) { + return -EINVAL; + } -+ if (s->forbid_restart) -+ unit_serialize_item(u, f, "forbid-restart", yes_no(s->forbid_restart)); -+ - return 0; - } +- if (s->type == SERVICE_ONESHOT && s->restart != SERVICE_RESTART_NO) { +- log_error_unit(UNIT(s)->id, "%s has Restart setting other than no, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id); +- return -EINVAL; +- } +- + if (s->type == SERVICE_DBUS && !s->bus_name) { + log_error_unit(UNIT(s)->id, "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id); + return -EINVAL; +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; -@@ -2776,6 +2779,14 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, - return log_oom(); + 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; + } - s->exec_context.var_tmp_dir = t; -+ } else if (streq(key, "forbid-restart")) { -+ int b; -+ -+ b = parse_boolean(value); -+ if (b < 0) -+ log_debug_unit(u->id, "Failed to parse forbid-restart value %s", value); -+ else -+ s->forbid_restart = b; - } else - log_debug_unit(u->id, "Unknown serialization key '%s'", key); - -diff --git a/src/core/snapshot.c b/src/core/snapshot.c -index a63eccd..a6807eb 100644 ---- a/src/core/snapshot.c -+++ b/src/core/snapshot.c -@@ -217,8 +217,10 @@ int snapshot_create(Manager *m, const char *name, bool cleanup, DBusError *e, Sn - if (asprintf(&n, "snapshot-%u.snapshot", ++ m->n_snapshots) < 0) - return -ENOMEM; - -- if (!manager_get_unit(m, n)) -+ if (!manager_get_unit(m, n)) { -+ name = n; - break; -+ } - - free(n); - } diff --git a/src/core/umount.c b/src/core/umount.c -index 1e95ad7..9f0e471 100644 +index d1258f0..0311812 100644 --- a/src/core/umount.c +++ b/src/core/umount.c -@@ -435,6 +435,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e +@@ -404,6 +404,8 @@ static int mount_points_list_umount(MountPoint **head, bool *changed, bool log_e * anyway, since we are running from it. They have * already been remounted ro. */ if (path_equal(m->path, "/") @@ -218,285 +109,53 @@ 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/fsck/fsck.c b/src/fsck/fsck.c +index 18f2aca..2a2b1ea 100644 +--- a/src/fsck/fsck.c ++++ b/src/fsck/fsck.c +@@ -285,7 +285,7 @@ int main(int argc, char *argv[]) { -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( + type = udev_device_get_property_value(udev_device, "ID_FS_TYPE"); + if (type) { +- const char *checker = strappenda("/sbin/fsck.", type); ++ const char *checker = strappenda("/run/current-system/sw/sbin/fsck.", type); + r = access(checker, X_OK); + if (r < 0) { + if (errno == ENOENT) { +@@ -302,7 +302,7 @@ int main(int argc, char *argv[]) { + return EXIT_FAILURE; + } - 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; +- cmdline[i++] = "/sbin/fsck"; ++ cmdline[i++] = "/run/current-system/sw/sbin/fsck"; + cmdline[i++] = "-a"; + cmdline[i++] = "-T"; + cmdline[i++] = "-l"; +diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c +index 9a9ed9d..9e46e18 100644 +--- a/src/nspawn/nspawn.c ++++ b/src/nspawn/nspawn.c +@@ -2667,6 +2667,7 @@ int main(int argc, char *argv[]) { + goto finish; } -diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c -index 38499a6..bb80905 100644 ---- a/src/journal/journal-file.c -+++ b/src/journal/journal-file.c -@@ -907,6 +907,8 @@ static int journal_file_append_field( + } else { ++#if 0 + const char *p; - osize = offsetof(Object, field.payload) + size; - r = journal_file_append_object(f, OBJECT_FIELD, osize, &o, &p); -+ if (r < 0) -+ return r; + p = strappenda(arg_directory, +@@ -2676,6 +2677,7 @@ int main(int argc, char *argv[]) { + goto finish; - o->field.hash = htole64(hash); - memcpy(o->field.payload, field, size); -diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index 88163c0..e09ba4c 100644 ---- a/src/journal/journald-server.c -+++ b/src/journal/journald-server.c -@@ -333,8 +333,10 @@ void server_rotate(Server *s) { - if (r < 0) - if (f) - log_error("Failed to rotate %s: %s", f->path, strerror(-r)); -- else -+ else { - log_error("Failed to create user journal: %s", strerror(-r)); -+ hashmap_remove(s->user_journals, k); -+ } - else { - hashmap_replace(s->user_journals, k, f); - server_fix_perms(s, f, PTR_TO_UINT32(k)); -@@ -975,7 +977,8 @@ int process_event(Server *s, struct epoll_event *ev) { - ssize_t n; - - if (ev->events != EPOLLIN) { -- log_error("Got invalid event from epoll."); -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ "signal fd", ev->events); - return -EIO; + } ++#endif } - -@@ -1024,8 +1027,12 @@ int process_event(Server *s, struct epoll_event *ev) { - } else if (ev->data.fd == s->dev_kmsg_fd) { - int r; - -- if (ev->events != EPOLLIN) { -- log_error("Got invalid event from epoll."); -+ if (ev->events & EPOLLERR) -+ log_warning("/dev/kmsg buffer overrun, some messages lost."); -+ -+ if (!(ev->events & EPOLLIN)) { -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ "/dev/kmsg", ev->events); - return -EIO; - } - -@@ -1039,7 +1046,9 @@ int process_event(Server *s, struct epoll_event *ev) { - ev->data.fd == s->syslog_fd) { - - if (ev->events != EPOLLIN) { -- log_error("Got invalid event from epoll."); -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ ev->data.fd == s->native_fd ? "native fd" : "syslog fd", -+ ev->events); - return -EIO; - } - -@@ -1140,12 +1149,7 @@ int process_event(Server *s, struct epoll_event *ev) { - char *e; - - if (n > 0 && n_fds == 0) { -- e = memchr(s->buffer, '\n', n); -- if (e) -- *e = 0; -- else -- s->buffer[n] = 0; -- -+ s->buffer[n] = 0; - server_process_syslog_message(s, strstrip(s->buffer), ucred, tv, label, label_len); - } else if (n_fds > 0) - log_warning("Got file descriptors via syslog socket. Ignoring."); -@@ -1167,7 +1171,8 @@ int process_event(Server *s, struct epoll_event *ev) { - } else if (ev->data.fd == s->stdout_fd) { - - if (ev->events != EPOLLIN) { -- log_error("Got invalid event from epoll."); -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ "stdout fd", ev->events); - return -EIO; - } - -@@ -1178,6 +1183,8 @@ int process_event(Server *s, struct epoll_event *ev) { - StdoutStream *stream; - - if ((ev->events|EPOLLIN|EPOLLHUP) != (EPOLLIN|EPOLLHUP)) { -+ log_error("Got invalid event from epoll for %s: %"PRIx32, -+ "stdout stream", ev->events); - log_error("Got invalid event from epoll."); - return -EIO; - } -diff --git a/src/journal/mmap-cache.c b/src/journal/mmap-cache.c -index 54bf114..bd197d0 100644 ---- a/src/journal/mmap-cache.c -+++ b/src/journal/mmap-cache.c -@@ -308,9 +308,13 @@ static void mmap_cache_free(MMapCache *m) { - while ((c = hashmap_first(m->contexts))) - context_free(c); - -+ hashmap_free(m->contexts); -+ - while ((f = hashmap_first(m->fds))) - fd_free(f); - -+ hashmap_free(m->fds); -+ - while (m->unused) - window_free(m->unused); - -diff --git a/src/libsystemd-bus/bus-internal.c b/src/libsystemd-bus/bus-internal.c -index 0e66f3d..cac948e 100644 ---- a/src/libsystemd-bus/bus-internal.c -+++ b/src/libsystemd-bus/bus-internal.c -@@ -63,7 +63,7 @@ bool object_path_is_valid(const char *p) { - - bool interface_name_is_valid(const char *p) { - const char *q; -- bool dot, found_dot; -+ bool dot, found_dot = false; - - if (isempty(p)) - return false; -@@ -103,7 +103,7 @@ bool interface_name_is_valid(const char *p) { - - bool service_name_is_valid(const char *p) { - const char *q; -- bool dot, found_dot, unique; -+ bool dot, found_dot = false, unique; - - if (isempty(p)) - return false; -diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c -index 7d6d848..b0eb2f1 100644 ---- a/src/libsystemd-bus/sd-bus.c -+++ b/src/libsystemd-bus/sd-bus.c -@@ -1088,11 +1088,11 @@ static int dispatch_rqueue(sd_bus *bus, sd_bus_message **m) { - if (r == 0) - return ret; - -- r = 1; -+ ret = 1; - } while (!z); - - *m = z; -- return 1; -+ return ret; - } - - int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) { -diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c -index 5ccaabd..100c1fb 100644 ---- a/src/libudev/libudev-enumerate.c -+++ b/src/libudev/libudev-enumerate.c -@@ -299,7 +299,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume - /* skip to be delayed devices, and move the to - * the point where the prefix changes. We can - * only move one item at a time. */ -- if (!move_later) { -+ if (move_later == -1) { - move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath); - - if (move_later_prefix > 0) { -@@ -718,6 +718,8 @@ static bool match_subsystem(struct udev_enumerate *udev_enumerate, const char *s - { - struct udev_list_entry *list_entry; - -+ subsystem = subsystem ? : ""; -+ - udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_enumerate->subsystem_nomatch_list)) { - if (fnmatch(udev_list_entry_get_name(list_entry), subsystem, 0) == 0) - return false; -@@ -826,23 +828,27 @@ nomatch: - static int parent_add_child(struct udev_enumerate *enumerate, const char *path) - { - struct udev_device *dev; -+ int r = 0; - - dev = udev_device_new_from_syspath(enumerate->udev, path); - if (dev == NULL) - return -ENODEV; - - if (!match_subsystem(enumerate, udev_device_get_subsystem(dev))) -- return 0; -+ goto nomatch; - if (!match_sysname(enumerate, udev_device_get_sysname(dev))) -- return 0; -+ goto nomatch; - if (!match_property(enumerate, dev)) -- return 0; -+ goto nomatch; - if (!match_sysattr(enumerate, dev)) -- return 0; -+ goto nomatch; - - syspath_add(enumerate, udev_device_get_syspath(dev)); -+ r = 1; -+ -+nomatch: - udev_device_unref(dev); -- return 1; -+ return r; - } - - static int parent_crawl_children(struct udev_enumerate *enumerate, const char *path, int maxdepth) -diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym -index 8e09430..1e6f885 100644 ---- a/src/libudev/libudev.sym -+++ b/src/libudev/libudev.sym -@@ -109,5 +109,6 @@ global: - } LIBUDEV_189; - - LIBUDEV_199 { -+global: - udev_device_set_sysattr_value; - } LIBUDEV_196; -diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c -index 7b19ee0..49ee420 100644 ---- a/src/modules-load/modules-load.c -+++ b/src/modules-load/modules-load.c -@@ -302,8 +302,8 @@ int main(int argc, char *argv[]) { - - STRV_FOREACH(i, arg_proc_cmdline_modules) { - k = load_module(ctx, *i); -- if (k < 0) -- r = EXIT_FAILURE; -+ if (k < 0 && r == 0) -+ r = k; - } - - r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); + } else { + char template[] = "/tmp/nspawn-root-XXXXXX"; diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c -index b1ef912..4f2ab5c 100644 +index d61ecdf..228a3a4 100644 --- a/src/nss-myhostname/netlink.c +++ b/src/nss-myhostname/netlink.c -@@ -113,6 +113,10 @@ static int read_reply(int fd, struct address **list, unsigned *n_list) { +@@ -112,6 +112,10 @@ static int read_reply(int fd, struct address **list, unsigned *n_list) { ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE) continue; @@ -507,174 +166,58 @@ 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; - } +diff --git a/src/shared/generator.c b/src/shared/generator.c +index 6110303..e679cb1 100644 +--- a/src/shared/generator.c ++++ b/src/shared/generator.c +@@ -48,7 +48,7 @@ int generator_write_fsck_deps( + const char *checker; + int r; -- 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) || +- checker = strappenda("/sbin/fsck.", fstype); ++ checker = strappenda("/run/current-system/sw/sbin/fsck.", fstype); + r = access(checker, X_OK); + if (r < 0) { + log_warning("Checking was requested for %s, but %s cannot be used: %m", what, checker); diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c -index 3cca861..f6052dd 100644 +index 0887bc3..6b502ce 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c -@@ -1482,7 +1482,7 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me - - } else if (dbus_message_is_signal(message, "org.freedesktop.systemd1.Manager", "JobRemoved")) { - uint32_t id; -- const char *path, *result, *unit; -+ const char *path, *result, *unit, *r; - - if (dbus_message_get_args(message, &error, - DBUS_TYPE_UINT32, &id, -@@ -1491,7 +1491,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me - DBUS_TYPE_STRING, &result, - DBUS_TYPE_INVALID)) { - -- free(set_remove(d->set, (char*) path)); -+ r = set_remove(d->set, (char*) path); -+ if (!r) -+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -+ -+ free(r); - - if (!isempty(result)) - d->result = strdup(result); -@@ -1511,7 +1515,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me - /* Compatibility with older systemd versions < - * 183 during upgrades. This should be dropped - * one day. */ -- free(set_remove(d->set, (char*) path)); -+ r = set_remove(d->set, (char*) path); -+ if (!r) -+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -+ -+ free(r); - - if (*result) - d->result = strdup(result); -@@ -1867,7 +1875,7 @@ static int start_unit_one( - return log_oom(); +@@ -2561,7 +2561,7 @@ static int start_unit_one( + log_debug("Adding %s to the set", p); r = set_consume(s, p); -- if (r < 0) { -+ if (r < 0 && r != -EEXIST) { - log_error("Failed to add path to set."); - return r; - } +- if (r < 0) ++ if (r < 0 && r != -EEXIST) + return log_oom(); + } + +diff --git a/units/console-getty.service.m4.in b/units/console-getty.service.m4.in +index 8ac51a4..cae9fb5 100644 +--- a/units/console-getty.service.m4.in ++++ b/units/console-getty.service.m4.in +@@ -15,7 +15,6 @@ After=rc-local.service + Before=getty.target + + [Service] +-ExecStart=-/sbin/agetty --noclear --keep-baud console 115200,38400,9600 $TERM + Type=idle + Restart=always + RestartSec=0 +diff --git a/units/container-getty@.service.m4.in b/units/container-getty@.service.m4.in +index 4f7794b..bad2a9a 100644 +--- a/units/container-getty@.service.m4.in ++++ b/units/container-getty@.service.m4.in +@@ -16,7 +16,6 @@ Before=getty.target + IgnoreOnIsolate=yes + + [Service] +-ExecStart=-/sbin/agetty --noclear --keep-baud pts/%I 115200,38400,9600 $TERM + Type=idle + Restart=always + RestartSec=0 diff --git a/units/emergency.service.in b/units/emergency.service.in -index 442f0e0..6b7eafd 100644 +index 94c090f..0d20640 100644 --- a/units/emergency.service.in +++ b/units/emergency.service.in @@ -15,7 +15,6 @@ Before=shutdown.target @@ -685,30 +228,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 +293,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 +317,35 @@ 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-journal-flush.service.in b/units/systemd-journal-flush.service.in +index 503e8a6..fe23b8b 100644 +--- a/units/systemd-journal-flush.service.in ++++ b/units/systemd-journal-flush.service.in +@@ -10,8 +10,9 @@ Description=Trigger Flushing of Journal to Persistent Storage + Documentation=man:systemd-journald.service(8) man:journald.conf(5) + DefaultDependencies=no + Requires=systemd-journald.service +-After=systemd-journald.service local-fs.target remote-fs.target ++After=systemd-journald.service + Before=systemd-user-sessions.service ++RequiresMountsFor=/var/log/journal + + [Service] + ExecStart=@rootbindir@/systemctl kill --kill-who=main --signal=SIGUSR1 systemd-journald.service 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 +354,55 @@ 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-tmpfiles-setup.service.in b/units/systemd-tmpfiles-setup.service.in +index 01043b7..507f820 100644 +--- a/units/systemd-tmpfiles-setup.service.in ++++ b/units/systemd-tmpfiles-setup.service.in +@@ -12,7 +12,7 @@ DefaultDependencies=no + Wants=local-fs.target + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target +-Before=sysinit.target shutdown.target ++Before=shutdown.target + ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d + ConditionDirectoryNotEmpty=|/lib/tmpfiles.d + ConditionDirectoryNotEmpty=|/usr/local/lib/tmpfiles.d +diff --git a/units/systemd-update-utmp.service.in b/units/systemd-update-utmp.service.in +index da7dda7..e638145 100644 +--- a/units/systemd-update-utmp.service.in ++++ b/units/systemd-update-utmp.service.in +@@ -11,7 +11,7 @@ Documentation=man:systemd-update-utmp.service(8) man:utmp(5) + DefaultDependencies=no + RequiresMountsFor=/var/log/wtmp + Conflicts=shutdown.target +-After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service ++After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service auditd.service + Before=sysinit.target shutdown.target + + [Service] +@@ -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 7cde2260189..00000000000 --- 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/upower/0.99.nix b/pkgs/os-specific/linux/upower/0.99.nix new file mode 100644 index 00000000000..c42fea16d35 --- /dev/null +++ b/pkgs/os-specific/linux/upower/0.99.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, dbus_tools, polkit +, intltool, libxslt, docbook_xsl, udev, libusb1, pmutils +, useSystemd ? true, systemd, gobjectIntrospection +}: + +assert stdenv.isLinux; + +stdenv.mkDerivation rec { + name = "upower-0.99.0"; + + src = fetchurl { + url = "http://upower.freedesktop.org/releases/${name}.tar.xz"; + sha256 = "189rd8j5czy4fs7imxvr38icjh9vlgdz6ki2h08v530h96clndaz"; + }; + + buildInputs = + [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 gobjectIntrospection ] + ++ stdenv.lib.optional useSystemd systemd; + + nativeBuildInputs = [ pkgconfig ]; + + preConfigure = + '' + substituteInPlace src/linux/up-backend.c \ + --replace /usr/bin/pm- ${pmutils}/bin/pm- \ + --replace /usr/sbin/pm- ${pmutils}/sbin/pm- + substituteInPlace src/notify-upower.sh \ + --replace /usr/bin/dbus-send ${dbus_tools}/bin/dbus-send + ''; + + configureFlags = + [ "--with-backend=linux" "--localstatedir=/var" + "--enable-deprecated" # needed for Xfce (Nov 2013) + ] + ++ stdenv.lib.optional useSystemd + [ "--enable-systemd" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--with-systemdutildir=$(out)/lib/systemd/system-sleep" + "--with-udevrulesdir=$(out)/lib/udev/rules.d" + ]; + + NIX_CFLAGS_LINK = "-lgcc_s"; + + installFlags = "historydir=$(TMPDIR)/foo"; + + meta = { + homepage = http://upower.freedesktop.org/; + description = "A D-Bus service for power management"; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/usermount/default.nix b/pkgs/os-specific/linux/usermount/default.nix new file mode 100644 index 00000000000..d2b3632d69a --- /dev/null +++ b/pkgs/os-specific/linux/usermount/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchgit, pkgconfig, dbus, libnotify, udisks2, gdk_pixbuf }: + +stdenv.mkDerivation { + name = "usermount-0.1"; + + src = fetchgit { + url = "https://github.com/tom5760/usermount.git"; + rev = "0d6aba3c1f8fec80de502f5b92fd8b28041cc8e4"; + sha256 = "1bzxwq83ikljnv0f55siyd6rd0gs9v7jl9947lw6s1npa63x3b55"; + }; + + buildInputs = [ pkgconfig dbus libnotify udisks2 gdk_pixbuf ]; + + NIX_CFLAGS_COMPILE = [ "-DENABLE_NOTIFICATIONS" ]; + + installPhase = '' + mkdir -p $out/bin + mv usermount $out/bin/ + ''; + + meta = { + homepage = https://github.com/tom5760/usermount; + description = "A simple tool to automatically mount removable drives using UDisks2 and D-Bus."; + license = "MIT"; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; + }; +} diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index ec43ee1e64f..cdc384f3ee8 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 diff --git a/pkgs/os-specific/linux/zfs/git.nix b/pkgs/os-specific/linux/zfs/git.nix new file mode 100644 index 00000000000..cc75011c7da --- /dev/null +++ b/pkgs/os-specific/linux/zfs/git.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchgit, kernel, spl_git, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }: + +stdenv.mkDerivation { + name = "zfs-0.6.3pre-${kernel.version}"; + + src = fetchgit { + url = git://github.com/zfsonlinux/zfs.git; + rev = "de39ec11b885f97e6256324ee89eaf75af9852f6"; + sha256 = "02hrhka9hg0vn4z20x7xzwrkr340pv9qwvwj8phjdm5ln321jh33"; + }; + + patches = [ ./mount_zfs_prefix.patch ./nix-build.patch ]; + + buildInputs = [ spl_git perl autoconf automake libtool zlib libuuid coreutils ]; + + # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work + NIX_CFLAGS_LINK = "-lgcc_s"; + + preConfigure = '' + ./autogen.sh + + substituteInPlace ./module/zfs/zfs_ctldir.c --replace "umount -t zfs" "${utillinux}/bin/umount -t zfs" + substituteInPlace ./module/zfs/zfs_ctldir.c --replace "mount -t zfs" "${utillinux}/bin/mount -t zfs" + substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${utillinux}/bin/umount" + substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount" "${utillinux}/bin/mount" + substituteInPlace ./udev/rules.d/* --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id" + substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/ztest" "$out/sbin/ztest" + substituteInPlace ./cmd/ztest/ztest.c --replace "/usr/sbin/zdb" "$out/sbin/zdb" + ''; + + configureFlags = '' + --disable-systemd + --with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source + --with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build + --with-spl=${spl_git}/libexec/spl + ''; + + enableParallelBuilding = true; + + meta = { + description = "ZFS Filesystem Linux Kernel module"; + longDescription = '' + ZFS is a filesystem that combines a logical volume manager with a + Copy-On-Write filesystem with data integrity detection and repair, + snapshotting, cloning, block devices, deduplication, and more. + ''; + homepage = http://zfsonlinux.org/; + license = stdenv.lib.licenses.cddl; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ wizeman ]; + }; +} diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix index c358565c455..bf15b208e1a 100644 --- a/pkgs/os-specific/windows/mingw-w64/default.nix +++ b/pkgs/os-specific/windows/mingw-w64/default.nix @@ -1,30 +1,30 @@ -{stdenv, fetchurl, binutilsCross ? null, gccCross ? null, onlyHeaders ? false}: +{ stdenv, fetchurl, binutilsCross ? null, gccCross ? null +, onlyHeaders ? false +, onlyPthreads ? false +}: let - name = "mingw-w64-2.0.3"; + name = "mingw-w64-3.1.0"; in stdenv.mkDerivation (rec { inherit name; src = fetchurl { - url = "mirror://sourceforge/mingw-w64/mingw-w64-v2.0.3.tar.gz"; - sha256 = "043jk6z90f9pxs9kfn6ckh2vlnbgcv6yfbp5ybahrj3z58dcijp5"; + url = "mirror://sourceforge/mingw-w64/mingw-w64-v3.1.0.tar.bz2"; + sha256 = "1lhpw381gc59w8b1r9zzdwa9cdi2wx6qx7s6rvajapmbw7ksgrzc"; }; - - # I don't know what's that $host directory about, I put the - # files inside include as usual. - postInstall = '' - rmdir $out/include - mv $out/x86_64-w64-mingw32/* $out - rm -R $out/x86_64-w64-mingw32 - ''; } // (if onlyHeaders then { name = name + "-headers"; - preConfingure = '' + preConfigure = '' cd mingw-w64-headers ''; - configureFlags = "--without-crt --host=x86_64-w64-mingw32"; + configureFlags = "--without-crt"; +} else if onlyPthreads then { + name = name + "-pthreads"; + preConfigure = '' + cd mingw-w64-libraries/winpthreads + ''; } else { buildInputs = [ gccCross binutilsCross ]; diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix index 45a6c2189db..da0ec89cbc6 100644 --- a/pkgs/servers/amqp/rabbitmq-server/default.nix +++ b/pkgs/servers/amqp/rabbitmq-server/default.nix @@ -38,6 +38,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.rabbitmq.com/; description = "An implementation of the AMQP messaging protocol"; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix index 6489d4dceff..ad8685d3d42 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.11"; + name = "${pname}-3.14.12"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.gz"; - sha256 = "0wrb8vdc872f1x0gw21b5c81h0vxvsc7yks5qzbq2j3hkbl2vixd"; + sha256 = "0h54ahj65nqrgmdcg81h1gp0zlxg9hwwhg8pmx6z9zcwn4y70kqv"; }; buildInputs = [ pkgconfig utillinux man ] ++ stdenv.lib.optional enableCgiScripts gd; diff --git a/pkgs/servers/dict/dictd-db.nix b/pkgs/servers/dict/dictd-db.nix index c6c0bc73a08..5f109c58e6e 100644 --- a/pkgs/servers/dict/dictd-db.nix +++ b/pkgs/servers/dict/dictd-db.nix @@ -24,7 +24,6 @@ stdenv.mkDerivation rec { [doInstall doForceShare doPropagate]); meta = { description = "${name} dictionary for dictd"; - inherit src; }; }; # Probably a bug in some FreeDict release files, but easier to trivially diff --git a/pkgs/servers/fcgiwrap/default.nix b/pkgs/servers/fcgiwrap/default.nix new file mode 100644 index 00000000000..84deebcb8f5 --- /dev/null +++ b/pkgs/servers/fcgiwrap/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, systemd, fcgi, autoreconfHook, pkgconfig }: + +stdenv.mkDerivation rec { + name = "fcgiwrap-${version}"; + version = "1.1.0"; + + src = fetchurl { + url = "http://github.com/gnosek/fcgiwrap/archive/${version}.tar.gz"; + sha256 = "07y6s4mm86cv7p1ljz94sxnqa89y9amn3vzwsnbq5hrl4vdy0zac"; + }; + + configureFlags = [ "--with-systemd" "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; + + buildInputs = [ autoreconfHook systemd fcgi pkgconfig ]; + + meta = with stdenv.lib; { + homepage = https://nginx.localdomain.pl/wiki/FcgiWrap; + description = "Simple server for running CGI applications over FastCGI"; + maintainers = with maintainers; [ lethalman ]; + }; +} diff --git a/pkgs/servers/http/apache-httpd/2.2.nix b/pkgs/servers/http/apache-httpd/2.2.nix index 64dd15be3df..e5e2e2215b4 100644 --- a/pkgs/servers/http/apache-httpd/2.2.nix +++ b/pkgs/servers/http/apache-httpd/2.2.nix @@ -12,12 +12,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null; assert mpm == "prefork" || mpm == "worker" || mpm == "event"; stdenv.mkDerivation rec { - version = "2.2.26"; + version = "2.2.27"; name = "apache-httpd-${version}"; src = fetchurl { url = "mirror://apache/httpd/httpd-${version}.tar.bz2"; - sha256 = "1dj29cl2bsk8ir8hxw0ajhbpbrrmsh8mwqfc1ipiqgv7slyqx45g"; + sha256 = "0iw19y6knijinqwvv4q16fgq5xq8nwxdg14wrrbc0mfasvg76n90"; }; buildInputs = [perl apr aprutil pcre] ++ @@ -59,6 +59,6 @@ stdenv.mkDerivation rec { homepage = http://httpd.apache.org/; license = stdenv.lib.licenses.asl20; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - maintainers = with stdenv.lib.maintainers; [ simons lovek323 ]; + maintainers = with stdenv.lib.maintainers; [ eelco simons lovek323 ]; }; } 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 00000000000..06f12820a10 --- /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 808a86946b0..36d932c1ace 100644 --- a/pkgs/servers/http/couchdb/default.nix +++ b/pkgs/servers/http/couchdb/default.nix @@ -3,16 +3,15 @@ stdenv.mkDerivation rec { name = "couchdb-${version}"; - version = "1.5.0"; + version = "1.5.1"; src = fetchurl { - url = "mirror://apache/couchdb/source/${version}/apache-couchdb-${version}.tar.gz"; - sha256 = "1vwgcckp3svgifmagyjmgazm6387i9m6z182p6ja891i8fkb5gdb"; + url = "mirror://apache/couchdb/source/${version}/apache-${name}.tar.gz"; + sha256 = "0isddp29zh72idgwjaswqy887c1fwx5g1lwlbzscwcv6q70xrmfr"; }; - buildInputs = [ - erlang icu openssl spidermonkey curl help2man sphinx which file pkgconfig - ]; + buildInputs = [ erlang icu openssl spidermonkey curl help2man sphinx which + file pkgconfig ]; postInstall = '' sed -i -e "s|\`getopt|\`${getopt}/bin/getopt|" $out/bin/couchdb diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix index 757d4cb9566..32d4634e7fb 100644 --- a/pkgs/servers/http/nginx/default.nix +++ b/pkgs/servers/http/nginx/default.nix @@ -1,38 +1,39 @@ { stdenv, fetchurl, fetchgit, openssl, zlib, pcre, libxml2, libxslt, expat +, gd, geoip , rtmp ? false , fullWebDAV ? false , syslog ? false , moreheaders ? false}: let - version = "1.4.7"; + version = "1.6.0"; mainSrc = fetchurl { url = "http://nginx.org/download/nginx-${version}.tar.gz"; - sha256 = "09mnw4f1yk64f21xq4k65x4r76pmrszyzc4iixkr0w41fr5gzf13"; + sha256 = "06pwmg4qyd1sirpyl47s6qp94qc8a36dlkaw5pgv7s63l5bxffll"; }; rtmp-ext = fetchgit { - url = git://github.com/arut/nginx-rtmp-module.git; - rev = "1cfb7aeb582789f3b15a03da5b662d1811e2a3f1"; - sha256 = "03ikfd2l8mzsjwx896l07rdrw5jn7jjfdiyl572yb9jfrnk48fwi"; + url = https://github.com/arut/nginx-rtmp-module.git; + rev = "8c2229cce5d4d4574e8fb7b130281497f746f0fa"; + sha256 = "6caea2a13161345c3fc963679730be54cebebddf1406ac7d4ef4ce72ac0b90b0"; }; dav-ext = fetchgit { - url = git://github.com/arut/nginx-dav-ext-module.git; - rev = "54cebc1f21fc13391aae692c6cce672fa7986f9d"; - sha256 = "1dvpq1fg5rslnl05z8jc39sgnvh3akam9qxfl033akpczq1bh8nq"; + url = "https://github.com/arut/nginx-dav-ext-module"; + rev = "89d582d31ab624ff1c6a4cec0c1a52839507b323"; + sha256 = "2175f83a291347504770d2a4bb5069999e9f7408697bd49464b6b54e994493e1"; }; syslog-ext = fetchgit { url = https://github.com/yaoweibin/nginx_syslog_patch.git; - rev = "165affd9741f0e30c4c8225da5e487d33832aca3"; - sha256 = "14dkkafjnbapp6jnvrjg9ip46j00cr8pqc2g7374z9aj7hrvdvhs"; + rev = "3ca5ba65541637f74467038aa032e2586321d0cb"; + sha256 = "15z9r17lx42fdcw8lalddc86wpabgmc1rqi7f90v4mcirjzrpgyi"; }; moreheaders-ext = fetchgit { - url = https://github.com/agentzh/headers-more-nginx-module.git; - rev = "refs/tags/v0.23"; - sha256 = "12pbjgsxnvcf2ff2i2qdn39q4cm5czlgrng96j8ml4cgxvnbdh39"; + url = https://github.com/openresty/headers-more-nginx-module.git; + rev = "0c6e05d3125a97892a250e9ba8b7674163ba500b"; + sha256 = "e121d97fd3c81c64e6cbf6902bbcbdb01be9ac985c6832d40434379d5e998eaf"; }; in @@ -40,19 +41,31 @@ stdenv.mkDerivation rec { name = "nginx-${version}"; src = mainSrc; - buildInputs = [ openssl zlib pcre libxml2 libxslt + buildInputs = + [ openssl zlib pcre libxml2 libxslt gd geoip ] ++ stdenv.lib.optional fullWebDAV expat; - patches = if syslog then [ "${syslog-ext}/syslog_1.4.0.patch" ] else []; + patches = if syslog then [ "${syslog-ext}/syslog-1.5.6.patch" ] else []; configureFlags = [ "--with-http_ssl_module" "--with-http_spdy_module" + "--with-http_realip_module" + "--with-http_addition_module" "--with-http_xslt_module" + "--with-http_image_filter_module" + "--with-http_geoip_module" "--with-http_sub_module" "--with-http_dav_module" + "--with-http_flv_module" + "--with-http_mp4_module" + "--with-http_gunzip_module" "--with-http_gzip_static_module" + "--with-http_auth_request_module" + "--with-http_random_index_module" "--with-http_secure_link_module" + "--with-http_degradation_module" + "--with-http_stub_status_module" "--with-ipv6" # Install destination problems # "--with-http_perl_module" @@ -61,8 +74,10 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional syslog "--add-module=${syslog-ext}" ++ stdenv.lib.optional moreheaders "--add-module=${moreheaders-ext}"; + additionalFlags = stdenv.lib.optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations"; + preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags" ''; postInstall = '' @@ -71,9 +86,9 @@ stdenv.mkDerivation rec { meta = { description = "A reverse proxy and lightweight webserver"; - homepage = http://nginx.org; - maintainers = [ stdenv.lib.maintainers.raskin ]; - platforms = stdenv.lib.platforms.all; - inherit version; + homepage = http://nginx.org; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.all; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ]; }; } diff --git a/pkgs/servers/http/spawn-fcgi/default.nix b/pkgs/servers/http/spawn-fcgi/default.nix new file mode 100644 index 00000000000..7c11aa8e837 --- /dev/null +++ b/pkgs/servers/http/spawn-fcgi/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchsvn, autoconf, automake }: + +stdenv.mkDerivation rec { + name = "spawn-fcgi-${version}"; + version = "1.6.3"; + + src = fetchsvn { + url = "svn://svn.lighttpd.net/spawn-fcgi/tags/spawn-fcgi-${version}"; + sha256 = "06f0zw3rja42d9vg8j68nqkm3mn5pfzzhwfadpvs4aidh6kz9p42"; + }; + + buildInputs = [ automake autoconf ]; + + patches = [ ./show_version.patch ]; + + preConfigure = '' + ./autogen.sh + ''; + + meta = with stdenv.lib; { + homepage = "http://redmine.lighttpd.net/projects/spawn-fcgi"; + description = "Provides an interface to external programs that support the FastCGI interface"; + license = licenses.bsd3; + maintainers = with maintainers; [ cstrahan ]; + }; +} diff --git a/pkgs/servers/http/spawn-fcgi/show_version.patch b/pkgs/servers/http/spawn-fcgi/show_version.patch new file mode 100644 index 00000000000..90c64ed6620 --- /dev/null +++ b/pkgs/servers/http/spawn-fcgi/show_version.patch @@ -0,0 +1,14 @@ +diff --git a/src/spawn-fcgi.c b/src/spawn-fcgi.c +index 7f3f594..2f1046f 100644 +--- a/src/spawn-fcgi.c ++++ b/src/spawn-fcgi.c +@@ -405,8 +405,7 @@ static int find_user_group(const char *user, const char *group, uid_t *uid, gid_ + + static void show_version () { + write(1, CONST_STR_LEN( +- PACKAGE_DESC \ +- "Build-Date: " __DATE__ " " __TIME__ "\n" ++ PACKAGE_DESC "\n" + )); + } + diff --git a/pkgs/servers/http/tomcat/axis2/default.nix b/pkgs/servers/http/tomcat/axis2/default.nix index f263c8c2e7e..4bf3d59685b 100644 --- a/pkgs/servers/http/tomcat/axis2/default.nix +++ b/pkgs/servers/http/tomcat/axis2/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation { name = "axis2-1.6.2"; src = fetchurl { - url = http://apache.proserve.nl//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip; + url = http://apache.proserve.nl/axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip; sha256 = "02i6fv11ksd5ql81i501bcb11ib5gyhq3zxwrz5jm4ic80r097fp"; }; diff --git a/pkgs/servers/mail/dovecot-pigeonhole/default.nix b/pkgs/servers/mail/dovecot-pigeonhole/default.nix index 5c0f39ca135..3ee73520d7a 100644 --- a/pkgs/servers/mail/dovecot-pigeonhole/default.nix +++ b/pkgs/servers/mail/dovecot-pigeonhole/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "dovecot-pigeonhole-${version}"; - version = "0.4.2"; + version = "0.4.3"; src = fetchurl { - url = "http://www.rename-it.nl/dovecot/2.2/dovecot-2.2-pigeonhole-${version}.tar.gz"; - sha256 = "04rybb7ipsrhqapcqfr787n60lwd56gb33ylq7yqjr5q6xqg1684"; + url = "http://pigeonhole.dovecot.org/releases/2.2/dovecot-2.2-pigeonhole-${version}.tar.gz"; + sha256 = "0mypnkc980s3kd1bmy4f93dliwg6n8jfsac8r51jrpvv0ymz94nn"; }; buildInputs = [ dovecot22 openssl ]; diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix index 2b1aca3e926..0c12b6ba3db 100644 --- a/pkgs/servers/mail/dovecot/2.2.x.nix +++ b/pkgs/servers/mail/dovecot/2.2.x.nix @@ -1,14 +1,15 @@ { stdenv, fetchurl, perl, systemd, openssl, pam, bzip2, zlib, openldap -, inotifyTools }: +, inotifyTools, clucene_core_2, sqlite }: stdenv.mkDerivation rec { - name = "dovecot-2.2.12"; + name = "dovecot-2.2.13"; - buildInputs = [perl systemd openssl pam bzip2 zlib openldap inotifyTools]; + buildInputs = [perl openssl bzip2 zlib openldap clucene_core_2 sqlite] + ++ stdenv.lib.optionals (stdenv.isLinux) [ systemd pam inotifyTools ]; src = fetchurl { url = "http://dovecot.org/releases/2.2/${name}.tar.gz"; - sha256 = "0mlcwgrxfwy1fqfk3wwbh1h9f0jddg4rnj612ckj1zv5asp1rppk"; + sha256 = "1klxbnlgqvq4v2inp18yv3x04xp0vf8nr67ci1k3yww1mb9g6g0k"; }; preConfigure = '' @@ -16,6 +17,15 @@ stdenv.mkDerivation rec { "/usr/bin/env perl" "${perl}/bin/perl" ''; + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -change libclucene-shared.1.dylib \ + ${clucene_core_2}/lib/libclucene-shared.1.dylib \ + $out/lib/dovecot/lib21_fts_lucene_plugin.so + install_name_tool -change libclucene-core.1.dylib \ + ${clucene_core_2}/lib/libclucene-core.1.dylib \ + $out/lib/dovecot/lib21_fts_lucene_plugin.so + ''; + patches = [ # Make dovecot look for plugins in /var/lib/dovecot/modules # so we can symlink plugins from several packages there @@ -28,14 +38,20 @@ stdenv.mkDerivation rec { # It will hardcode this for /var/lib/dovecot. # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211 "--localstatedir=/var" - "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--with-ldap" + "--with-lucene" + "--with-ssl=openssl" + "--with-sqlite" + "--with-zlib" + "--with-bzlib" + ] ++ stdenv.lib.optionals (stdenv.isLinux) [ + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; meta = { homepage = "http://dovecot.org/"; description = "Open source IMAP and POP3 email server written with security primarily in mind"; maintainers = with stdenv.lib.maintainers; [viric simons rickynils]; - platforms = with stdenv.lib.platforms; linux; + hydraPlatforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix index 46cf742c452..5f779c75472 100644 --- a/pkgs/servers/mail/dovecot/default.nix +++ b/pkgs/servers/mail/dovecot/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { homepage = "http://dovecot.org/"; description = "Open source IMAP and POP3 email server written with security primarily in mind"; maintainers = with stdenv.lib.maintainers; [viric simons]; - platforms = with stdenv.lib.platforms; linux; + hydraPlatforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/servers/mail/postfix/2.11.nix b/pkgs/servers/mail/postfix/2.11.nix new file mode 100644 index 00000000000..7164ace791e --- /dev/null +++ b/pkgs/servers/mail/postfix/2.11.nix @@ -0,0 +1,62 @@ +{ stdenv, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, coreutils +, findutils, gnugrep, gawk +}: + +stdenv.mkDerivation rec { + + name = "postfix-${version}"; + + version = "2.11.0"; + + src = fetchurl { + url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz"; + sha256 = "0f0c6cv6j5m5n4bjp18llvbbxmzmhb70qw1z9vf7h9k6slr9s7fa"; + }; + + patches = [ ./postfix-2.11.0.patch ]; + + buildInputs = [ makeWrapper gnused db openssl cyrus_sasl ]; + + preBuild = '' + sed -e '/^PATH=/d' -i postfix-install + + export command_directory=$out/sbin + export config_directory=$out/etc/postfix + export daemon_directory=$out/libexec/postfix + export data_directory=/var/lib/postfix + export html_directory=$out/share/postfix/doc/html + export mailq_path=$out/bin/mailq + export manpage_directory=$out/share/man + export newaliases_path=$out/bin/newaliases + export queue_directory=/var/spool/postfix + export readme_directory=$out/share/postfix/doc + export sendmail_path=$out/bin/sendmail + + make makefiles \ + CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl' \ + AUXLIBS='-ldb -lnsl -lresolv -lsasl2 -lcrypto -lssl' + ''; + + installTargets = [ "non-interactive-package" ]; + + installFlags = [ " install_root=$out " ]; + + postInstall = '' + mkdir -p $out + mv -v ut/$out/* $out/ + sed -e '/^PATH=/d' -i $out/libexec/postfix/post-install + wrapProgram $out/libexec/postfix/post-install \ + --prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin + wrapProgram $out/libexec/postfix/postfix-script \ + --prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin:${gawk}/bin:${gnused}/bin + ''; + + meta = { + homepage = "http://www.postfix.org/"; + description = "A fast, easy to administer, and secure mail server"; + license = stdenv.lib.licenses.bsdOriginal; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; + +} diff --git a/pkgs/servers/mail/postfix/postfix-2.11.0.patch b/pkgs/servers/mail/postfix/postfix-2.11.0.patch new file mode 100644 index 00000000000..cdc4521c428 --- /dev/null +++ b/pkgs/servers/mail/postfix/postfix-2.11.0.patch @@ -0,0 +1,76 @@ +diff -ruN postfix-2.11.0-orig/makedefs postfix-2.11.0/makedefs +--- postfix-2.11.0-orig/makedefs 2014-01-05 18:18:56.000000000 +0100 ++++ postfix-2.11.0/makedefs 2014-04-24 09:27:58.193869491 +0200 +@@ -290,36 +290,6 @@ + esac + ;; + Linux.2*) SYSTYPE=LINUX2 +- case "$CCARGS" in +- *-DNO_DB*) ;; +- *-DHAS_DB*) ;; +- *) if [ -f /usr/include/db.h ] +- then +- : we are all set +- elif [ -f /usr/include/db/db.h ] +- then +- CCARGS="$CCARGS -I/usr/include/db" +- else +- # No, we're not going to try db1 db2 db3 etc. +- # On a properly installed system, Postfix builds +- # by including and by linking with -ldb +- echo "No include file found." 1>&2 +- echo "Install the appropriate db*-devel package first." 1>&2 +- exit 1 +- fi +- SYSLIBS="-ldb" +- ;; +- esac +- for name in nsl resolv $GDBM_LIBS +- do +- for lib in /usr/lib64 /lib64 /usr/lib /lib +- do +- test -e $lib/lib$name.a -o -e $lib/lib$name.so && { +- SYSLIBS="$SYSLIBS -l$name" +- break +- } +- done +- done + # Kernel 2.4 added IPv6 + case "$RELEASE" in + 2.[0-3].*) CCARGS="$CCARGS -DNO_IPV6";; +@@ -363,35 +333,6 @@ + esac + ;; + Linux.3*) SYSTYPE=LINUX3 +- case "$CCARGS" in +- *-DNO_DB*) ;; +- *-DHAS_DB*) ;; +- *) if [ -f /usr/include/db.h ] +- then +- : we are all set +- elif [ -f /usr/include/db/db.h ] +- then +- CCARGS="$CCARGS -I/usr/include/db" +- else +- # On a properly installed system, Postfix builds +- # by including and by linking with -ldb +- echo "No include file found." 1>&2 +- echo "Install the appropriate db*-devel package first." 1>&2 +- exit 1 +- fi +- SYSLIBS="-ldb" +- ;; +- esac +- for name in nsl resolv +- do +- for lib in /usr/lib64 /lib64 /usr/lib /usr/lib/* /lib /lib/* +- do +- test -e $lib/lib$name.a -o -e $lib/lib$name.so && { +- SYSLIBS="$SYSLIBS -l$name" +- break +- } +- done +- done + ;; + GNU.0*|GNU/kFreeBSD.[567]*) + SYSTYPE=GNU0 diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix index 03e579bda20..ea69d036f95 100644 --- a/pkgs/servers/mail/spamassassin/default.nix +++ b/pkgs/servers/mail/spamassassin/default.nix @@ -16,7 +16,7 @@ buildPerlPackage rec { name = "SpamAssassin-3.4.0"; src = fetchurl { - url = "http://apache.imsam.info/spamassassin/source/Mail-${name}.tar.bz2"; + url = "mirror://apache/spamassassin/source/Mail-${name}.tar.bz2"; sha256 = "0527rv6m5qd41l756fqh9q7sm9m2xfhhy2jchlhbmd39x6x3jfsm"; }; diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index 8d1b03ddf34..be890ff5900 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { - version = "2.0.20"; + version = "2.0.21"; name = "munin-${version}"; src = fetchurl { url = "https://github.com/munin-monitoring/munin/archive/${version}.tar.gz"; - sha256 = "17b24fsr8abipq09hipnh6cd4h2aiwyzyjhg0wpplngwals54qmc"; + sha256 = "18ipk8n78iik07190h9r8mj5209ha6yhbiw7da0l4khw0y00cvf8"; }; buildInputs = [ diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/clientlib.nix index cd65234855f..40b4ff1f2d7 100644 --- a/pkgs/servers/mpd/clientlib.nix +++ b/pkgs/servers/mpd/clientlib.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { description = "Client library for MPD (music player daemon)"; homepage = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki; license = "GPLv2"; - platforms = with stdenv.lib.platforms; linux; + platforms = with stdenv.lib.platforms; unix; maintainers = [ stdenv.lib.maintainers.mornfall ]; }; } diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix index 7a2f3538fb8..36e8f022206 100644 --- a/pkgs/servers/mpd/default.nix +++ b/pkgs/servers/mpd/default.nix @@ -18,7 +18,9 @@ , samplerateSupport ? true, libsamplerate , mmsSupport ? true, libmms , mpg123Support ? true, mpg123 -, aacSupport ? true, faad2 }: +, aacSupport ? true, faad2 +, pulseaudioSupport ? true, pulseaudio +}: let @@ -27,10 +29,10 @@ let mkFlag = c: f: if c then "--enable-${f}" else "--disable-${f}"; in stdenv.mkDerivation rec { - name = "mpd-0.18.9"; + name = "mpd-0.18.11"; src = fetchurl { url = "http://www.musicpd.org/download/mpd/stable/${name}.tar.gz"; - sha256 = "0mgfyrhjlalwngx9j3xxfpfwygh9a31k1ni1isi898bb2x8zsl08"; + sha256 = "1j3jdwmxfnn4z1vjry2g54vcbrdrgi41nv3bf2i26xkgy5708icw"; }; buildInputs = [ pkgconfig glib ] @@ -56,7 +58,8 @@ in stdenv.mkDerivation rec { ++ opt mmsSupport libmms ++ opt mpg123Support mpg123 ++ opt aacSupport faad2 - ++ opt zipSupport zziplib; + ++ opt zipSupport zziplib + ++ opt zipSupport pulseaudio; configureFlags = [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa") @@ -80,6 +83,8 @@ in stdenv.mkDerivation rec { (mkFlag mmsSupport "mms") (mkFlag mpg123Support "mpg123") (mkFlag aacSupport "aac") + (mkFlag pulseaudioSupport "pulse") + (mkFlag stdenv.isDarwin "osx") "--enable-debugging" ] ++ opt stdenv.isLinux "--with-systemdsystemunitdir=$(out)/etc/systemd/system"; diff --git a/pkgs/servers/news/leafnode/default.nix b/pkgs/servers/news/leafnode/default.nix new file mode 100644 index 00000000000..9da83fe891f --- /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/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix new file mode 100644 index 00000000000..fa9c48c6ea9 --- /dev/null +++ b/pkgs/servers/nosql/influxdb/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, makeWrapper }: + +stdenv.mkDerivation rec { + name = "influxdb-${version}"; + version = "0.7.0"; + arch = if stdenv.system == "x86_64-linux" then "amd64" else "386"; + + src = fetchurl { + url = "http://s3.amazonaws.com/influxdb/${name}.${arch}.tar.gz"; + sha256 = if arch == "amd64" then + "1mvi21z83abnprzj0n8r64ly9s48i5l7ndcrci7nk96z8xab7w3q" else + "1zgxbfnam4r31g9yfwznhb7l4hf7s5sylhll92zr8q0qjhr4cj2b"; + }; + + buildInputs = [ makeWrapper ]; + + installPhase = '' + install -D influxdb $out/bin/influxdb + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/bin/influxdb + wrapProgram "$out/bin/influxdb" \ + --prefix LD_LIBRARY_PATH : "${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64" + + ensureDir $out/share/influxdb + cp -R admin scripts config.toml $out/share/influxdb + ''; + + meta = with stdenv.lib; { + description = "Scalable datastore for metrics, events, and real-time analytics"; + homepage = http://influxdb.com/; + license = licenses.mit; + + maintainers = [ maintainers.offline ]; + platforms = ["i686-linux" "x86_64-linux"]; + }; +} diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix index 6956271e992..78792c3a4f7 100644 --- a/pkgs/servers/nosql/mongodb/default.nix +++ b/pkgs/servers/nosql/mongodb/default.nix @@ -1,29 +1,40 @@ -{ stdenv, fetchurl, scons, boost, v8, gperftools, pcre, snappy }: +{ stdenv, fetchurl, scons, boost, gperftools, pcre, snappy }: -let version = "2.4.8"; in stdenv.mkDerivation rec { +let version = "2.6.0"; + system-libraries = [ + "tcmalloc" + "pcre" + "boost" + "snappy" + # "v8" -- mongo still bundles 3.12 and does not work with 3.15+ + # "stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs) + # "yaml" -- it seems nixpkgs' yamlcpp (0.5.1) is problematic for mongo + ]; + system-lib-args = stdenv.lib.concatStringsSep " " + (map (lib: "--use-system-${lib}") system-libraries); + +in stdenv.mkDerivation rec { name = "mongodb-${version}"; src = fetchurl { url = "http://downloads.mongodb.org/src/mongodb-src-r${version}.tar.gz"; - sha256 = "1p6gnharypglfp39halp72fig96fqjhakyy7m76a1prxwpjkqw7x"; + sha256 = "066kppjdmdpadjr09ildla3aw42anzsc9pa55iwp3wa4rgqd2i33"; }; - nativeBuildInputs = [ scons boost v8 gperftools pcre snappy ]; + nativeBuildInputs = [ scons boost gperftools pcre snappy ]; postPatch = '' substituteInPlace SConstruct \ - --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR" \ - --replace 'CCFLAGS=["-Werror", "-pipe"]' 'CCFLAGS=["-pipe"]' + --replace "Environment( BUILD_DIR" "Environment( ENV = os.environ, BUILD_DIR" ''; buildPhase = '' - export SCONSFLAGS="-j$NIX_BUILD_CORES" - scons all --use-system-all + scons all --release ${system-lib-args} ''; installPhase = '' mkdir -p $out/lib - scons install --use-system-all --full --prefix=$out + scons install --release --prefix=$out ${system-lib-args} ''; meta = { diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix index 777fb31ac97..1a44aa6a804 100644 --- a/pkgs/servers/nosql/redis/default.nix +++ b/pkgs/servers/nosql/redis/default.nix @@ -1,21 +1,22 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "redis-2.6.13"; + name = "redis-2.8.9"; src = fetchurl { - url = "http://redis.googlecode.com/files/${name}.tar.gz"; - sha256 = "0j79a5vmdy0c1df89ymqk37kz8q2iqlzg81qwnz0djjqdiikk51v"; + url = "http://download.redis.io/releases/${name}.tar.gz"; + sha256 = "7834c37f2ff186c46aef8e4a066dfbf1d6772a285aa31c19c58162f264f1007f"; }; makeFlags = "PREFIX=$(out)"; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://redis.io; description = "An open source, advanced key-value store"; license = "BSD"; - platforms = stdenv.lib.platforms.unix; + platforms = platforms.unix; + maintainers = [ maintainers.berdario ]; }; } diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix index e81ccb39632..67dff3f6572 100644 --- a/pkgs/servers/nosql/rethinkdb/default.nix +++ b/pkgs/servers/nosql/rethinkdb/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, which, protobuf, v8, ncurses, gperftools, boost, m4 }: +{ stdenv, fetchurl, which, protobuf, gperftools, boost, zlib, python, m4 }: stdenv.mkDerivation rec { - name = "rethinkdb-1.11.2"; + name = "rethinkdb-1.12.4"; src = fetchurl { url = "http://download.rethinkdb.com/dist/${name}.tgz"; - sha256 = "04wz07y891vygc5ksrvkk1ch05xj16nahv20bnxwcllkbl4gf9lj"; + sha256 = "1dq2vbgms016ic2hifclm1m58i4804khkn0lnvz47rkm7i0564if"; }; preConfigure = '' @@ -15,10 +15,9 @@ stdenv.mkDerivation rec { configureFlags = "--lib-path ${gperftools}/lib"; - buildInputs = [ protobuf v8 ncurses boost ]; - - nativeBuildInputs = [ which m4 ]; + buildInputs = [ protobuf zlib boost ]; + nativeBuildInputs = [ which m4 python ]; meta = { description = "An open-source distributed database built with love"; diff --git a/pkgs/servers/nosql/riak/1.3.1.nix b/pkgs/servers/nosql/riak/1.3.1.nix index ccac6e331fd..96315c52f6b 100644 --- a/pkgs/servers/nosql/riak/1.3.1.nix +++ b/pkgs/servers/nosql/riak/1.3.1.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, erlangR15B03 }: +{ stdenv, fetchurl, unzip, erlangR15}: let srcs = { @@ -15,7 +15,7 @@ in stdenv.mkDerivation rec { name = "riak-1.3.1"; - buildInputs = [unzip erlangR15B03]; + buildInputs = [unzip erlangR15]; src = srcs.riak; diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 4b23cb4173c..35922b3c46f 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -8,11 +8,11 @@ assert jackaudioSupport -> jackaudio != null; stdenv.mkDerivation rec { - name = "pulseaudio-4.0"; + name = "pulseaudio-5.0"; src = fetchurl { - url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz"; - sha256 = "1bndz4l8jxyq3zq128gzp3gryxl6yjs66j2y1d7yabw2n5mv7kim"; + url = "http://freedesktop.org/software/pulseaudio/releases/${name}.tar.xz"; + sha256 = "0fgrr8v7yfh0byhzdv4c87v9lkj8g7gpjm8r9xrbvpa92a5kmhcr"; }; # Since `libpulse*.la' contain `-lgdbm' and `-lcap', it must be propagated. diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix index cacc614e08c..ade79e2c99c 100644 --- a/pkgs/servers/samba/default.nix +++ b/pkgs/servers/samba/default.nix @@ -64,6 +64,9 @@ stdenv.mkDerivation rec { mkdir -p $out mv $TMPDIR/inst/$out/* $out/ + mkdir -p "$out/lib/pkgconfig" + cp pkgconfig/*.pc "$out/lib/pkgconfig" + mkdir -pv $out/lib/cups/backend ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb mkdir -pv $out/etc/openldap/schema diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index a6105c12890..d0f7f5ef3e5 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -1,16 +1,17 @@ { stdenv, fetchurl, cmake, ncurses, openssl, bison, boost, libxml2, libaio, judy, libevent, groff }: stdenv.mkDerivation rec { - name = "mariadb-10.0.10"; + name = "mariadb-${version}"; + version = "10.0.11"; src = fetchurl { - url = "https://fossies.org/linux/misc/${name}.tar.gz"; - md5 = "14ce22b8197d4eae88d237776d47220f"; + url = "https://fossies.org/linux/misc/${name}.tar.gz"; + sha256 = "1p8h06kns30rlbnzw9ddmihs7r3jhp8xlrl4r6h5d107wkcw86v3"; }; 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" ]; + cmakeFlags = [ "-DWITH_READLINE=yes" "-DWITH_EMBEDDED_SERVER=yes" "-DINSTALL_SCRIPTDIR=bin" ]; enableParallelBuilding = true; @@ -20,7 +21,7 @@ stdenv.mkDerivation rec { description = "An enhanced, drop-in replacement for MySQL"; homepage = https://mariadb.org/; license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.shlevy ]; + maintainers = with stdenv.lib.maintainers; [ shlevy thoughtpolice ]; platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix index 58d7159034a..5151299e3b9 100644 --- a/pkgs/servers/sql/postgresql/8.4.x.nix +++ b/pkgs/servers/sql/postgresql/8.4.x.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, zlib, ncurses, readline }: -let version = "8.4.20"; in +let version = "8.4.21"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "e84e46083a6accd2bf37f0bd7253415649afcafc49f2564bc8481c10ed90d7c1"; + sha256 = "388f67e59f2a16c27e84f50656f5d755adf3d0a883138366d091aa0c727c1e2c"; }; buildInputs = [ zlib ncurses readline ]; diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix index 033328cbcfe..00c614021b6 100644 --- a/pkgs/servers/sql/postgresql/9.0.x.nix +++ b/pkgs/servers/sql/postgresql/9.0.x.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, zlib, readline }: -let version = "9.0.16"; in +let version = "9.0.17"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "900f6ab00fc36c94b17430e7cb22499708025da1e34d7a70aefaf9a875f0fabf"; + sha256 = "d2f6d09cf941e7cbab6ee399f14080dbe822af58fda9fd132efb05c2b7d160ad"; }; buildInputs = [ zlib readline ]; diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix index 7e876322808..8d714c6f5a6 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.12"; in +let version = "9.1.13"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "0b267ebab5feb39ad6ef945b9588787886e7f7e5284467921d18cc7b76bcb383"; + sha256 = "9ee819574dfc8798a448dc23a99510d2d8924c2f8b49f8228cd77e4efc8a6621"; }; buildInputs = [ zlib readline ]; diff --git a/pkgs/servers/sql/postgresql/9.2.x.nix b/pkgs/servers/sql/postgresql/9.2.x.nix index da0516a9618..8b0ce0f7bb2 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.7"; in +let version = "9.2.8"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "83c042c3f61c69b176d3e4344e59104f844bc8b8628dad2bb9022a64cf5afe86"; + sha256 = "568ba482340219097475cce9ab744766889692ee7c9df886563e8292d66ed87c"; }; buildInputs = [ zlib readline ]; diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix index 672eeb8da6e..50ea799099c 100644 --- a/pkgs/servers/sql/postgresql/9.3.x.nix +++ b/pkgs/servers/sql/postgresql/9.3.x.nix @@ -2,14 +2,14 @@ with stdenv.lib; -let version = "9.3.3"; in +let version = "9.3.4"; in stdenv.mkDerivation rec { name = "postgresql-${version}"; src = fetchurl { url = "mirror://postgresql/source/v${version}/${name}.tar.bz2"; - sha256 = "e925d8abe7157bd8bece6b7c0dd0c343d87a2b4336f85f4681ce596af99c3879"; + sha256 = "9ee819574dfc8798a448dc23a99510d2d8924c2f8b49f8228cd77e4efc8a6621"; }; buildInputs = [ zlib readline ] ++ optionals (!stdenv.isDarwin) [ libossp_uuid ]; diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 0ec14c8d62c..7fca58f5446 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -480,11 +480,11 @@ let })) // {inherit mkfontdir mkfontscale ;}; gccmakedep = (stdenv.mkDerivation ((if overrides ? gccmakedep then overrides.gccmakedep else x: x) { - name = "gccmakedep-1.0.2"; + name = "gccmakedep-1.0.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/util/gccmakedep-1.0.2.tar.bz2; - sha256 = "04dfamx3fvkvqfgs6xy2a6yqbxjrj4777ylxp38g60hhbdl4jg86"; + url = mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2; + sha256 = "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; @@ -520,11 +520,11 @@ let })) // {inherit libICE xproto ;}; imake = (stdenv.mkDerivation ((if overrides ? imake then overrides.imake else x: x) { - name = "imake-1.0.6"; + name = "imake-1.0.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/util/imake-1.0.6.tar.bz2; - sha256 = "1786k6jsazpr37v2b6qlsznjjp5lgyb869hx5m4ahax7n3yq72gs"; + url = mirror://xorg/individual/util/imake-1.0.7.tar.bz2; + sha256 = "0zpk8p044jh14bis838shbf4100bjg7mccd7bq54glpsq552q339"; }; buildInputs = [pkgconfig xproto ]; })) // {inherit xproto ;}; @@ -700,11 +700,11 @@ let })) // {inherit fixesproto libX11 xextproto xproto ;}; libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) { - name = "libXfont-1.4.7"; + name = "libXfont-1.4.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/lib/libXfont-1.4.7.tar.bz2; - sha256 = "0hqm3nainxpc0922i4zbwzc768f69zkdf1gvkjqrdlim31aa6vni"; + url = mirror://xorg/individual/lib/libXfont-1.4.8.tar.bz2; + sha256 = "01fh2hnnaby8x6mv57x78nsqwhls70gwykldzd8b43vrpzzd8s2m"; }; buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ]; })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;}; @@ -1140,11 +1140,11 @@ let })) // {inherit libX11 libXext libXft libXmu libXrender ;}; xauth = (stdenv.mkDerivation ((if overrides ? xauth then overrides.xauth else x: x) { - name = "xauth-1.0.8"; + name = "xauth-1.0.9"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/app/xauth-1.0.8.tar.bz2; - sha256 = "1xylgy7qrf8w76gg1sa6x8ckv14q1nv0h554ndgrss8clpknlsd8"; + url = mirror://xorg/individual/app/xauth-1.0.9.tar.bz2; + sha256 = "13y2invb0894b1in03jbglximbz6v31y2kr4yjjgica8xciibkjn"; }; buildInputs = [pkgconfig libX11 libXau libXext libXmu xproto ]; })) // {inherit libX11 libXau libXext libXmu xproto ;}; @@ -1370,11 +1370,11 @@ let })) // {inherit ;}; xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) { - name = "xf86-input-evdev-2.8.2"; + name = "xf86-input-evdev-2.8.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-evdev-2.8.2.tar.bz2; - sha256 = "1cvyg425px92hr5ql1s7v0c7n9jyvg0aaajrf5vyxgc3k9s6213m"; + url = mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2; + sha256 = "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5"; }; buildInputs = [pkgconfig inputproto udev xorgserver xproto ]; })) // {inherit inputproto udev xorgserver xproto ;}; @@ -1410,11 +1410,11 @@ let })) // {inherit inputproto xorgserver xproto ;}; xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) { - name = "xf86-input-synaptics-1.7.4"; + name = "xf86-input-synaptics-1.7.6"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-synaptics-1.7.4.tar.bz2; - sha256 = "1xssjj0qxarzsc4m69ay5ydkwgq27qajzih2c7sjk7nkgggx58jn"; + url = mirror://xorg/individual/driver/xf86-input-synaptics-1.7.6.tar.bz2; + sha256 = "0ls8f7gy92f54hdqsa19vypg0xm496jrgdhdn4qphycxwn3gwkbm"; }; buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ]; })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;}; @@ -1960,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 ;}; @@ -2000,11 +2000,11 @@ let })) // {inherit libX11 xproto ;}; xproto = (stdenv.mkDerivation ((if overrides ? xproto then overrides.xproto else x: x) { - name = "xproto-7.0.25"; + name = "xproto-7.0.26"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/proto/xproto-7.0.25.tar.bz2; - sha256 = "1zh977hrfxxdyhlxr9qjfa2xl8qrb4v43a2b708kdz2gvj2p894j"; + url = mirror://xorg/individual/proto/xproto-7.0.26.tar.bz2; + sha256 = "0ksi8vhfd916bx2f3xlyhn6azf6cvvzrsdja26haa1cqfp0n4qb3"; }; buildInputs = [pkgconfig ]; })) // {inherit ;}; diff --git a/pkgs/servers/x11/xorg/old.list b/pkgs/servers/x11/xorg/old.list index 7019273dd11..19cf79ca796 100644 --- a/pkgs/servers/x11/xorg/old.list +++ b/pkgs/servers/x11/xorg/old.list @@ -9,7 +9,7 @@ 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.6.tar.bz2 +mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2 +mirror://xorg/individual/util/imake-1.0.7.tar.bz2 mirror://xorg/individual/util/lndir-1.0.3.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 3f591cb7c0e..bb97eadef46 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -178,9 +178,9 @@ in }; xf86videonv = attrs: attrs // { - patches = [( args.fetchurl { + patches = [( args.fetchpatch { url = http://cgit.freedesktop.org/xorg/driver/xf86-video-nv/patch/?id=fc78fe98222b0204b8a2872a529763d6fe5048da; - sha256 = "0ikbnz6048ygs1qahb6ylnxkyjhfjcqr2gm9bk95ca90v57j7i0f"; + sha256 = "0i2ddgqwj6cfnk8f4r73kkq3cna7hfnz7k3xj3ifx5v8mfiva6gw"; })]; }; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index a3faf256926..512bbbb9eff 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -68,7 +68,7 @@ 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 -mirror://xorg/individual/lib/libXfont-1.4.7.tar.bz2 +mirror://xorg/individual/lib/libXfont-1.4.8.tar.bz2 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 @@ -101,7 +101,7 @@ 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/individual/app/xauth-1.0.8.tar.bz2 +mirror://xorg/individual/app/xauth-1.0.9.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 @@ -115,11 +115,11 @@ 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.8.2.tar.bz2 +mirror://xorg/individual/driver/xf86-input-evdev-2.8.4.tar.bz2 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.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-synaptics-1.7.6.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 @@ -170,11 +170,11 @@ mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.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/individual/app/xprop-1.2.2.tar.bz2 -mirror://xorg/individual/proto/xproto-7.0.25.tar.bz2 +mirror://xorg/individual/proto/xproto-7.0.26.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 diff --git a/pkgs/servers/xmpp/openfire/default.nix b/pkgs/servers/xmpp/openfire/default.nix index e5e5273783f..736517b53f1 100644 --- a/pkgs/servers/xmpp/openfire/default.nix +++ b/pkgs/servers/xmpp/openfire/default.nix @@ -31,6 +31,5 @@ stdenv.mkDerivation rec { [ installPhase doForceShare doPropagate]); meta = { description = "XMPP server in Java"; - inherit src; }; } diff --git a/pkgs/shells/ipython/default.nix b/pkgs/shells/ipython/default.nix index b9b9129cb48..cb0cc95c4ce 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/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 0e45ad05531..09c92b552d4 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -285,7 +285,9 @@ rec { }; - /* Modify a stdenv so that it used the Gold linker. */ + /* Modify a stdenv so that it uses the Gold linker. FIXME: should + use -fuse-ld=gold instead, but then the ld-wrapper won't be + invoked. */ useGoldLinker = stdenv: let binutils = stdenv.gcc.binutils; diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 3a475933d24..14da127b9e0 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -58,7 +58,14 @@ let 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" + 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 + { 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 diff --git a/pkgs/stdenv/linux/bootstrap/armv5tel.nix b/pkgs/stdenv/linux/bootstrap/armv5tel.nix new file mode 100644 index 00000000000..6d18b3bd8cb --- /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 5c9be292fe8..00000000000 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 3d69f9e5bd8..00000000000 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 1f2985bd347..00000000000 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 e8f04497bd9..00000000000 --- a/pkgs/stdenv/linux/bootstrap/armv5tel/default.nix +++ /dev/null @@ -1,68 +0,0 @@ -let fetch = { file, sha256 }: - let - nixFetchurl = import ; - args = { - url = "file://${builtins.toString ./.}/${file}"; - inherit sha256; - executable = true; - }; - in if (builtins.functionArgs nixFetchurl) ? executable - then nixFetchurl args - else derivation { - name = file; - builder = "/bin/sh"; - - system = builtins.currentSystem; - - args = [ "-c" "echo $message; exit 1" ]; - - message = '' - Sorry, this version of nix cannot download all of the bootstrap tools. - Please download ${args.url}, make it executable, add it to the store - with `nix-store --add', and try again. - ''; - - outputHashAlgo = "sha256"; - - outputHash = args.sha256; - - outputHashMode = "recursive"; - - preferLocalBuild = 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/ln b/pkgs/stdenv/linux/bootstrap/armv5tel/ln deleted file mode 100755 index f2c0db16401..00000000000 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 c551673d32a..00000000000 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 74d82aa94f2..00000000000 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 92% rename from pkgs/stdenv/linux/bootstrap/armv6l/default.nix rename to pkgs/stdenv/linux/bootstrap/armv6l.nix index 542f74de49f..85b86835905 100644 --- a/pkgs/stdenv/linux/bootstrap/armv6l/default.nix +++ b/pkgs/stdenv/linux/bootstrap/armv6l.nix @@ -1,5 +1,5 @@ # Use the static tools for armv5tel-linux. -(import ../armv5tel) // +(import ./armv5tel.nix) // { bootstrapTools = { diff --git a/pkgs/stdenv/linux/bootstrap/armv7l/default.nix b/pkgs/stdenv/linux/bootstrap/armv7l/default.nix deleted file mode 100644 index 0fc2002068e..00000000000 --- 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 00000000000..7b6b3ee8034 --- /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 6cd5273c333..00000000000 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 387b67664f6..00000000000 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 a6dd7502b5a..00000000000 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 9c78dcc7b2f..00000000000 --- a/pkgs/stdenv/linux/bootstrap/i686/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -let - fetch = { file, sha256 }: - let - nixFetchurl = import ; - args = { - url = "file://${builtins.toString ./.}/${file}"; - inherit sha256; - executable = true; - }; - in if (builtins.functionArgs nixFetchurl) ? executable - then nixFetchurl args - else derivation { - name = file; - builder = "/bin/sh"; - - system = builtins.currentSystem; - - args = [ "-c" "echo $message; exit 1" ]; - - message = '' - Sorry, this version of nix cannot download all of the bootstrap tools. - Please download ${args.url}, make it executable, add it to the store - with `nix-store --add', and try again. - ''; - - outputHashAlgo = "sha256"; - - outputHash = args.sha256; - - outputHashMode = "recursive"; - - preferLocalBuild = 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"; - }; - - ln = fetch { - file = "ln"; - sha256 = "06vr474i3x55p0rnqa87yx7dzf4qdfpfg201mks39id43cjm9f8j"; - }; - - 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/ln b/pkgs/stdenv/linux/bootstrap/i686/ln deleted file mode 100755 index 57ddcf8dcf7..00000000000 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 18c35db0aff..00000000000 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 13e681ed1a9..00000000000 Binary files a/pkgs/stdenv/linux/bootstrap/i686/sh and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix b/pkgs/stdenv/linux/bootstrap/loongson2f.nix similarity index 50% rename from pkgs/stdenv/linux/bootstrap/loongson2f/default.nix rename to pkgs/stdenv/linux/bootstrap/loongson2f.nix index e49b09eb23c..8e22a274974 100644 --- a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix +++ b/pkgs/stdenv/linux/bootstrap/loongson2f.nix @@ -1,36 +1,11 @@ let - fetch = { file, sha256 }: - let - nixFetchurl = import ; - args = { - url = "file://${builtins.toString ./.}/${file}"; - inherit sha256; - executable = true; - }; - in if (builtins.functionArgs nixFetchurl) ? executable - then nixFetchurl args - else derivation { - name = file; - builder = "/bin/sh"; - system = builtins.currentSystem; + fetch = { file, sha256 }: import { + url = "http://tarballs.nixos.org/stdenv-linux/loongson2f/r22849/${file}"; + inherit sha256; + executable = true; + }; - args = [ "-c" "echo $message; exit 1" ]; - - message = '' - Sorry, this version of nix cannot download all of the bootstrap tools. - Please download ${args.url}, make it executable, add it to the store - with `nix-store --add', and try again. - ''; - - outputHashAlgo = "sha256"; - - outputHash = args.sha256; - - outputHashMode = "recursive"; - - preferLocalBuild = true; - }; in { sh = fetch { file = "sh"; diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/bzip2 b/pkgs/stdenv/linux/bootstrap/loongson2f/bzip2 deleted file mode 100755 index f86964d119c..00000000000 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 bf6fd66be23..00000000000 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 f227a24bf71..00000000000 Binary files a/pkgs/stdenv/linux/bootstrap/loongson2f/curl.bz2 and /dev/null differ diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/ln b/pkgs/stdenv/linux/bootstrap/loongson2f/ln deleted file mode 100755 index d8afd276424..00000000000 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 3a95ccf18d6..00000000000 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 f8ef0a74d6b..00000000000 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 7e3e0a5c79b..00000000000 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 a9eb626e1ca..00000000000 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 972a653851c..00000000000 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 4f0d64341e8..00000000000 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 4ad8bc93e44..00000000000 --- a/pkgs/stdenv/linux/bootstrap/powerpc/default.nix +++ /dev/null @@ -1,79 +0,0 @@ -let - fetch = { file, sha256 }: - let - nixFetchurl = import ; - args = { - url = "file://${builtins.toString ./.}/${file}"; - inherit sha256; - executable = true; - }; - in if (builtins.functionArgs nixFetchurl) ? executable - then nixFetchurl args - else derivation { - name = file; - builder = "/bin/sh"; - - system = builtins.currentSystem; - - args = [ "-c" "echo $message; exit 1" ]; - - message = '' - Sorry, this version of nix cannot download all of the bootstrap tools. - Please download ${args.url}, make it executable, add it to the store - with `nix-store --add', and try again. - ''; - - outputHashAlgo = "sha256"; - - outputHash = args.sha256; - - outputHashMode = "recursive"; - - preferLocalBuild = true; - }; -in { - bash = fetch { - file = "bash"; - sha256 = "0zss8im6hbx6z2i2wxn1554kd7ggdqdli4xk39cy5fchlnz9bqpp"; - }; - - bzip2 = fetch { - file = "bzip2"; - sha256 = "01ylj8x7albv6k9sqx2h1prsazh4d8y22nga0pwai2bnns0q9qdg"; - }; - - cp = fetch { - file = "cp"; - sha256 = "0d7xbzrv22bxgw7w9b03rakirna5zfvr9gzwm7ichd2fh634hvgl"; - }; - - curl = fetch { - file = "curl.bz2"; - sha256 = "17c25dfslw3qkjlcmihpbhn3x4kj9pgkslizv89ggnki7iiy4jgh"; - }; - - tar = fetch { - file = "tar.bz2"; - sha256 = "132ylqwz02hw5njqx7wvj4sxpcrllx8b8b3a00rlv6iad671ayyr"; - }; - - 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 c014e9cc044..00000000000 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 eb8c1834a3a..71961e6961e 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 3d424c904ba..1c6a93b222d 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -14,13 +14,12 @@ 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/armv6l - 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"; @@ -40,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"; @@ -65,9 +51,10 @@ rec { 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; }; diff --git a/pkgs/stdenv/linux/scripts/download.sh b/pkgs/stdenv/linux/scripts/download.sh deleted file mode 100644 index e7594f208ea..00000000000 --- 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/nix/default.nix b/pkgs/stdenv/nix/default.nix index b16c51f7580..78e5b84a841 100644 --- a/pkgs/stdenv/nix/default.nix +++ b/pkgs/stdenv/nix/default.nix @@ -9,6 +9,7 @@ import ../generic rec { export NIX_IGNORE_LD_THROUGH_GCC=1 if [ "$system" = "i686-darwin" -o "$system" = "powerpc-darwin" -o "$system" = "x86_64-darwin" ]; then + export NIX_ENFORCE_PURITY= export NIX_DONT_SET_RPATH=1 export NIX_NO_SELF_RPATH=1 dontFixLibtool=1 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 00000000000..8829427b79c --- /dev/null +++ b/pkgs/tools/X11/xdg-user-dirs/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, libxslt, docbook_xsl, makeWrapper }: + +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 makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/xdg-user-dirs-update" \ + --prefix XDG_CONFIG_DIRS : "$out/etc/xdg" + ''; + + 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 f96fa577323..0ceee457276 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -4,7 +4,7 @@ , ffmpeg, x264, libvpx, pil, libwebp }: buildPythonPackage rec { - name = "xpra-0.9.5"; + name = "xpra-0.12.5"; namePrefix = ""; src = fetchurl { diff --git a/pkgs/tools/archivers/dar/default.nix b/pkgs/tools/archivers/dar/default.nix index 9309886db80..17b0b77f872 100644 --- a/pkgs/tools/archivers/dar/default.nix +++ b/pkgs/tools/archivers/dar/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0psahvnrkljqg9507dk0vq05w8vilpm98igjrcjkqdirqcfd2py1"; }; - buildInputs = [ zlib bzip2 openssl attr lzo libgcrypt e2fsprogs ]; + buildInputs = [ zlib bzip2 openssl lzo libgcrypt ] + ++ stdenv.lib.optional stdenv.isLinux [ attr e2fsprogs ]; configureFlags = "--disable-dar-static"; @@ -16,6 +17,6 @@ stdenv.mkDerivation rec { homepage = http://dar.linux.free.fr/; description = "Disk ARchiver, allows backing up files into indexed archives"; maintainers = [ stdenv.lib.maintainers.viric ]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix index c790f767f12..a88c0b345d7 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.5"; +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 = "1jrla255911rbl953br2xbgvyw15kpi11r4lpqm3jlw553ccw912"; }; - # 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/zip/default.nix b/pkgs/tools/archivers/zip/default.nix index 2e3f111aba4..6c485173f85 100644 --- a/pkgs/tools/archivers/zip/default.nix +++ b/pkgs/tools/archivers/zip/default.nix @@ -24,6 +24,6 @@ stdenv.mkDerivation { meta = { homepage = http://www.info-zip.org; platforms = stdenv.lib.platforms.all; - maintainer = [ stdenv.lib.maintainers.urkud ]; + maintainers = [ stdenv.lib.maintainers.urkud ]; }; } diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix index c77517fa177..2f44a8dd4db 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="649"; + version="651"; name="${baseName}-${version}"; - hash="0rspkd8vdp06hyjlrhgqjrv37bwvnzvqw0smlcy5fjbny502s5nn"; - url="http://mattmahoney.net/dc/zpaq649.zip"; - sha256="0rspkd8vdp06hyjlrhgqjrv37bwvnzvqw0smlcy5fjbny502s5nn"; + hash="1n0qq4lia25n62jpa0gg29388xf8r75nv4h1vpc3s5rpymkq2qw5"; + url="http://mattmahoney.net/dc/zpaq651.zip"; + sha256="1n0qq4lia25n62jpa0gg29388xf8r75nv4h1vpc3s5rpymkq2qw5"; }; buildInputs = [ unzip diff --git a/pkgs/tools/audio/gvolicon/default.nix b/pkgs/tools/audio/gvolicon/default.nix index 311e420c6a3..69c62985154 100644 --- a/pkgs/tools/audio/gvolicon/default.nix +++ b/pkgs/tools/audio/gvolicon/default.nix @@ -22,6 +22,6 @@ stdenv.mkDerivation { homepage = "https://github.com/Unia/gvolicon"; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl3Plus; - maintainer = stdenv.lib.maintainers.bennofs; + maintainers = stdenv.lib.maintainers.bennofs; }; } \ No newline at end of file diff --git a/pkgs/tools/audio/mpdcron/default.nix b/pkgs/tools/audio/mpdcron/default.nix new file mode 100644 index 00000000000..61553566d6c --- /dev/null +++ b/pkgs/tools/audio/mpdcron/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchgit, autoconf, automake, libtool, pkgconfig, glib, libdaemon +, mpd_clientlib, curl, sqlite, ruby, rubyLibs, libnotify }: + +stdenv.mkDerivation rec { + version = "20130809"; + name = "mpdcron-${version}"; + + src = fetchgit { + url = https://github.com/alip/mpdcron.git; + rev = "1dd16181c32f33e7754bbe21841c8e70b28f8ecd"; + sha256 = "1h3n433jn9yg74i218pkxzrngsjpnf0z02lakfldl6j1s9di2pn3"; + }; + + meta = { + description = "A cron like daemon for mpd."; + homepage = http://alip.github.io/mpdcron/; + license = stdenv.lib.licenses.gpl2; + platforms = with stdenv.lib.platforms; unix; + maintainers = [ stdenv.lib.maintainers.lovek323 ]; + }; + + buildInputs = + [ autoconf automake libtool pkgconfig glib libdaemon + mpd_clientlib curl sqlite ruby rubyLibs.nokogiri libnotify ]; + + preConfigure = '' + ./autogen.sh + ''; + + configureFlags = [ "--enable-gmodule" "--with-standard-modules=all" ]; +} diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix index 91718fc02f7..73ef23059f4 100644 --- a/pkgs/tools/backup/duply/default.nix +++ b/pkgs/tools/backup/duply/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation { - name = "duply-1.6.0"; + name = "duply-1.7.3"; src = fetchurl { - url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.6.x/duply_1.6.0.tgz"; - sha256 = "1i1yy4z6fcf3lq2k72cqcyqspm7pa1m949f8l9yscjm47bwp5g8f"; + 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/ori/default.nix b/pkgs/tools/backup/ori/default.nix new file mode 100644 index 00000000000..d95716864c8 --- /dev/null +++ b/pkgs/tools/backup/ori/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, boost, pkgconfig, scons, utillinux, fuse, libevent, openssl, zlib }: + +stdenv.mkDerivation rec { + version = "0.8.1"; + name = "ori-${version}"; + + src = fetchurl { + url = "https://bitbucket.org/orifs/ori/downloads/ori-0.8.1.tar.xz"; + sha256 = "8ce1a3dfbb6d1538885e993616bdfe71be44711d48f7f6798ff6bc0a39b3deca"; + }; + + buildInputs = [ + boost pkgconfig scons utillinux fuse libevent openssl zlib + ]; + + buildPhase = '' + scons PREFIX=$out WITH_ORILOCAL=1 install + ''; + + installPhase = ":"; + + meta = with stdenv.lib; { + description = "A secure distributed file system"; + homepage = http://ori.scs.stanford.edu/; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/backup/wal-e/default.nix b/pkgs/tools/backup/wal-e/default.nix index b1cc248e1a5..c272f0e8378 100644 --- a/pkgs/tools/backup/wal-e/default.nix +++ b/pkgs/tools/backup/wal-e/default.nix @@ -26,7 +26,7 @@ pythonPackages.buildPythonPackage rec { 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; + license = stdenv.lib.licenses.bsd3; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix index 0b97f03a9ad..39b7c809858 100644 --- a/pkgs/tools/cd-dvd/unetbootin/default.nix +++ b/pkgs/tools/cd-dvd/unetbootin/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, makeWrapper, qt4, utillinux, coreutils, which, p7zip, mtools, syslinux }: -let version = "585"; in +let version = "603"; in -stdenv.mkDerivation rec { +stdenv.mkDerivation { name = "unetbootin-${version}"; src = fetchurl { url = "mirror://sourceforge/unetbootin/UNetbootin/${version}/unetbootin-source-${version}.tar.gz"; - sha256 = "1jwwmh4bfrsy4clmnmk9y7h5cd9nh2z3bbm6qwd5p5aw0ich9vk3"; + sha256 = "03nhy1w9q0ycpcni6w61ps1mji859nvmvr1bhnlzi04z0s5ldbwx"; }; sourceRoot = "."; diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix index a431cd30a21..55fca6ca3cb 100644 --- a/pkgs/tools/compression/bzip2/default.nix +++ b/pkgs/tools/compression/bzip2/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation { crossAttrs = { patchPhase = '' + sed -i -e '//s|\\|/|' bzip2.c sed -i -e 's/CC=gcc/CC=${stdenv.cross.config}-gcc/' \ -e 's/AR=ar/AR=${stdenv.cross.config}-ar/' \ -e 's/RANLIB=ranlib/RANLIB=${stdenv.cross.config}-ranlib/' \ diff --git a/pkgs/tools/filesystems/bcache-tools/default.nix b/pkgs/tools/filesystems/bcache-tools/default.nix index 183b889da9b..161383cb9de 100644 --- a/pkgs/tools/filesystems/bcache-tools/default.nix +++ b/pkgs/tools/filesystems/bcache-tools/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "bcache-tools-${version}"; - version = "1.0.5"; + version = "1.0.7"; src = fetchurl { url = "https://github.com/g2p/bcache-tools/archive/v${version}.tar.gz"; - sha256 = "1abf86xcnj601lddig3kmn26jrf8q8xhcyszf5pxrcs5ym72jj8l"; + sha256 = "1gbsh2qw0a7kgck6w0apydiy37nnz5xvdgipa0yqrfmghl86vmv4"; }; buildInputs = [ pkgconfig utillinux ]; diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index 16c5b58c38d..66152f9589b 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -1,16 +1,20 @@ -{ stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo }: +{ stdenv, fetchurl, attr, acl, zlib, libuuid, e2fsprogs, lzo +, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }: -let version = "3.12"; in +let version = "3.14.2"; 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 = "14vpj6f2v076v9zabgrz8l4dp6n1ar2mvk3lvii51ykvi35d1qbh"; }; - buildInputs = [ attr acl zlib libuuid e2fsprogs lzo ]; + buildInputs = [ + attr acl zlib libuuid e2fsprogs lzo + asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt + ]; # for btrfs to get the rpath to libgcc_s, needed for pthread_cancel to work NIX_CFLAGS_LINK = "-lgcc_s"; diff --git a/pkgs/tools/filesystems/jmtpfs/default.nix b/pkgs/tools/filesystems/jmtpfs/default.nix new file mode 100644 index 00000000000..5ee79397707 --- /dev/null +++ b/pkgs/tools/filesystems/jmtpfs/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl +, autoconf, automake +, unzip, pkgconfig +, file, fuse, libmtp }: + +stdenv.mkDerivation rec { + version = "0.5"; + name = "jmtpfs-${version}"; + + src = fetchurl { + url = "https://github.com/JasonFerrara/jmtpfs/archive/v0.5.zip"; + sha256 = "09fw4g350mjz1mnga7ws5nvnsnfzs8s7cscl300mas1m9s6vmhz6"; + }; + + buildInputs = [ autoconf automake file fuse libmtp pkgconfig unzip ]; + + meta = { + description = "A FUSE filesystem for MTP devices like Android phones."; + homepage = https://github.com/JasonFerrara/jmtpfs; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.coconnor ]; + }; +} diff --git a/pkgs/tools/filesystems/relfs/default.nix b/pkgs/tools/filesystems/relfs/default.nix index 56dad0c1e3d..6d803f72531 100644 --- a/pkgs/tools/filesystems/relfs/default.nix +++ b/pkgs/tools/filesystems/relfs/default.nix @@ -48,7 +48,6 @@ stdenv.mkDerivation rec { (textClosure localDefs ["build" "doMakeInstall" "doForceShare" "doPropagate"]); meta = { description = "A relational filesystem on top of FUSE"; - inherit src; maintainers = [stdenv.lib.maintainers.raskin]; platforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/tools/filesystems/unionfs-fuse/default.nix b/pkgs/tools/filesystems/unionfs-fuse/default.nix index 4da1a84e937..bff5aaf242b 100644 --- a/pkgs/tools/filesystems/unionfs-fuse/default.nix +++ b/pkgs/tools/filesystems/unionfs-fuse/default.nix @@ -8,6 +8,14 @@ stdenv.mkDerivation rec { sha256 = "0qpnr4czgc62vsfnmv933w62nq3xwcbnvqch72qakfgca75rsp4d"; }; + patches = + [ # Prevent the unionfs daemon from being killed during + # shutdown. See + # http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/ + # for details. + ./prevent-kill-on-shutdown.patch + ]; + buildInputs = [ cmake fuse ]; # Put the unionfs mount helper in place as mount.unionfs-fuse. This makes it diff --git a/pkgs/tools/filesystems/unionfs-fuse/prevent-kill-on-shutdown.patch b/pkgs/tools/filesystems/unionfs-fuse/prevent-kill-on-shutdown.patch new file mode 100644 index 00000000000..0a98b83282b --- /dev/null +++ b/pkgs/tools/filesystems/unionfs-fuse/prevent-kill-on-shutdown.patch @@ -0,0 +1,14 @@ +diff -ru -x '*~' unionfs-fuse-0.26-orig/src/unionfs.c unionfs-fuse-0.26/src/unionfs.c +--- unionfs-fuse-0.26-orig/src/unionfs.c 2012-09-11 00:06:32.000000000 +0200 ++++ unionfs-fuse-0.26/src/unionfs.c 2014-05-21 14:22:03.597861805 +0200 +@@ -831,6 +831,10 @@ + } + #endif + ++ /* Prevent systemd's shutdown from killing us. */ ++ if (access("/etc/initrd-release", F_OK) >= 0) ++ argv[0][0] = '@'; ++ + umask(0); + int res = fuse_main(args.argc, args.argv, &unionfs_oper, NULL); + RETURN(uopt.doexit ? uopt.retval : res); diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix index b4bb49758a4..5109bb45e30 100644 --- a/pkgs/tools/graphics/asymptote/default.nix +++ b/pkgs/tools/graphics/asymptote/default.nix @@ -11,11 +11,11 @@ let s = # Generated upstream information rec { baseName="asymptote"; - version="2.24"; - name="asymptote-2.24"; - hash="0iypv3n89h8mx46b0c3msl0ldmg7fxf8v9fl4zy4sxfszazrvivl"; - url="mirror://sourceforge/project/asymptote/2.24/asymptote-2.24.src.tgz"; - sha256="0iypv3n89h8mx46b0c3msl0ldmg7fxf8v9fl4zy4sxfszazrvivl"; + version="2.32"; + name="${baseName}-${version}"; + hash="19cgn5158p42igjbp8lf6xdbh3yjhlkdm22m5lqrhibp09g06d90"; + url="mirror://sourceforge/project/asymptote/2.32/asymptote-2.32.src.tgz"; + sha256="19cgn5158p42igjbp8lf6xdbh3yjhlkdm22m5lqrhibp09g06d90"; }; buildInputs = with a; [ freeglut ghostscriptX imagemagick fftw boehmgc diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix index 5df814530a1..ed9ac2da2d2 100644 --- a/pkgs/tools/graphics/dcraw/default.nix +++ b/pkgs/tools/graphics/dcraw/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, libjpeg, lcms, gettext, jasper }: stdenv.mkDerivation rec { - name = "dcraw-9.19"; + name = "dcraw-9.20"; src = fetchurl { url = "http://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz"; - sha256 = "0x2qjavfp97vadw29d384sb887wgpfki4sl00p5lximf0a7fa0dv"; + sha256 = "151xpfmfd1ksjcnpmsnxry1mf2xpx9iaiy9sg1vxgm9i80lkkp5f"; }; buildInputs = [ libjpeg lcms gettext jasper ]; diff --git a/pkgs/tools/graphics/gifsicle/default.nix b/pkgs/tools/graphics/gifsicle/default.nix index f3f17692df8..debc340ee4c 100644 --- a/pkgs/tools/graphics/gifsicle/default.nix +++ b/pkgs/tools/graphics/gifsicle/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl, xproto, libXt, libX11 }: +{ stdenv, fetchurl, xproto, libXt, libX11, gifview ? false, static ? false }: + +with stdenv.lib; stdenv.mkDerivation { name = "gifsicle-1.78"; @@ -8,7 +10,9 @@ stdenv.mkDerivation { sha256 = "0dzp5sg82klji4lbj1m4cyg9fb3l837gkipdx657clib97klyv53"; }; - buildInputs = [ xproto libXt libX11 ]; + buildInputs = optional gifview [ xproto libXt libX11 ]; + + LDFLAGS = optional static "-static"; meta = { description = "Command-line tool for creating, editing, and getting information about GIF images and animations"; diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix new file mode 100644 index 00000000000..32410caeeff --- /dev/null +++ b/pkgs/tools/graphics/nifskope/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, qt4 }: + +stdenv.mkDerivation rec { + name = "nifskope-1.1.3"; + + src = fetchurl { + url = "mirror://sourceforge/niftools/${name}.tar.bz2"; + sha256 = "0fcvrcjyvivww10sjhxamcip797b9ykbf5p3rm2k24xhkwdaqp72"; + }; + + buildInputs = [ qt4 ]; + + configurePhase = + '' + for i in *.cpp gl/*.cpp widgets/*.cpp; do + substituteInPlace $i --replace /usr/share/nifskope $out/share/nifskope + done + + qmake -after TARGET=nifskope + ''; # */ + + enableParallelBuilding = true; + + # Inspired by linux-install/nifskope.spec.in. + installPhase = + '' + d=$out/share/nifskope + mkdir -p $out/bin $out/share/applications $out/share/pixmaps $d/{shaders,doc,lang} + cp release/nifskope $out/bin/ + cp nifskope.png $out/share/pixmaps/ + cp nif.xml kfm.xml style.qss $d/ + cp shaders/*.frag shaders/*.prog shaders/*.vert $d/shaders/ + cp doc/*.html doc/docsys.css doc/favicon.ico $d/doc/ + cp lang/*.ts lang/*.tm $d/lang/ + + substituteInPlace nifskope.desktop \ + --replace 'Exec=nifskope' "Exec=$out/bin/nifskope" \ + --replace 'Icon=nifskope' "Icon=$out/share/pixmaps/nifskope.png" + cp nifskope.desktop $out/share/applications/ + + find $out/share -type f -exec chmod -x {} \; + ''; # */ + + meta = { + homepage = http://niftools.sourceforge.net/; + description = "A tool for analyzing and editing NetImmerse/Gamebryo '*.nif' files"; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.linux; + licence = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/tools/graphics/optipng/default.nix b/pkgs/tools/graphics/optipng/default.nix index 1b2fc6dbb90..1984ab7b1de 100644 --- a/pkgs/tools/graphics/optipng/default.nix +++ b/pkgs/tools/graphics/optipng/default.nix @@ -1,7 +1,9 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, libpng, static ? false }: # This package comes with its own copy of zlib, libpng and pngxtern +with stdenv.lib; + stdenv.mkDerivation rec { name = "optipng-0.7.4"; @@ -10,6 +12,24 @@ stdenv.mkDerivation rec { sha256 = "1zrphbz17rhhfl1l95q5s979rrhifbwczl2xj1fdrnq5jid5s2sj"; }; + buildInputs = [ libpng ]; + + LDFLAGS = optional static "-static"; + configureFlags = "--with-system-zlib --with-system-libpng"; + + crossAttrs = { + CC="${stdenv.cross.config}-gcc"; + LD="${stdenv.cross.config}-gcc"; + AR="${stdenv.cross.config}-ar"; + RANLIB="${stdenv.cross.config}-ranlib"; + configurePhase = '' + ./configure -prefix="$out" --with-system-zlib --with-system-libpng + ''; + postInstall = optional (stdenv.cross.libc == "msvcrt") '' + mv "$out"/bin/optipng "$out"/bin/optipng.exe + ''; + }; + meta = { homepage = http://optipng.sourceforge.net/; description = "A PNG optimizer"; diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix index e5c7fbeb0d7..2a4364164dd 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.71"; + name = "pngcrush-1.7.73"; src = fetchurl { url = "mirror://sourceforge/pmt/${name}-nolib.tar.xz"; - sha256 = "095al1l86h55aiig3y1aqlwkxcwwf215lq3f29z1hdgz4a0sbcyd"; + sha256 = "073y19af0sw36nw7draqw9zfd6n7q7b84kscy26s76fhj5x2gb0l"; }; configurePhase = '' diff --git a/pkgs/tools/graphics/qrencode/default.nix b/pkgs/tools/graphics/qrencode/default.nix index 3b83a18fd36..892ef54cdee 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/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix index 94d819680ab..747c4b44ac8 100644 --- a/pkgs/tools/inputmethods/fcitx/default.nix +++ b/pkgs/tools/inputmethods/fcitx/default.nix @@ -1,24 +1,33 @@ { stdenv, fetchurl, pkgconfig, cmake, intltool, gettext , libxml2, enchant, isocodes, icu, libpthreadstubs , pango, cairo, libxkbfile, libXau, libXdmcp +, dbus, gtk2, gtk3, qt4 }: stdenv.mkDerivation rec { name = "fcitx-4.2.8.3"; + src = fetchurl { url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz"; sha256 = "05dw6cbjh2jyjrkr4qx2bcq6nyhhrs0akf6fcjk5a72bgphhwqnb"; }; - buildInputs = [ + patchPhase = '' + substituteInPlace src/frontend/qt/CMakeLists.txt \ + --replace $\{QT_PLUGINS_DIR} $out/lib/qt4/plugins + ''; + + buildInputs = with stdenv.lib; [ cmake enchant pango gettext libxml2 isocodes pkgconfig libxkbfile intltool cairo icu libpthreadstubs libXau libXdmcp + dbus gtk2 gtk3 qt4 ]; cmakeFlags = '' - -DENABLE_DBUS=OFF - -DENABLE_QT=OFF - -DENABLE_QT_IM_MODULE=OFF + -DENABLE_QT_IM_MODULE=ON + -DENABLE_GTK2_IM_MODULE=ON + -DENABLE_GTK3_IM_MODULE=ON + -DENABLE_GIR=OFF -DENABLE_OPENCC=OFF -DENABLE_PRESAGE=OFF -DENABLE_XDGAUTOSTART=OFF diff --git a/pkgs/tools/misc/apparix/default.nix b/pkgs/tools/misc/apparix/default.nix new file mode 100644 index 00000000000..693ca27a88d --- /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/appdata-tools/default.nix b/pkgs/tools/misc/appdata-tools/default.nix new file mode 100644 index 00000000000..acacc4db15f --- /dev/null +++ b/pkgs/tools/misc/appdata-tools/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, autoconf, automake, m4 +, intltool, glib, libsoup, gdk_pixbuf }: + +stdenv.mkDerivation rec { + version = "0_1_7"; + name = "appdata_tools-${version}"; + + src = fetchurl { + url = "https://github.com/hughsie/appdata-tools/archive/appdata_tools_${version}.tar.gz"; + sha256 = "1bzqg4gy8gqhbk2qjizsm0b78li9mv84fb3d8qwfpxh7c7p360x8"; + }; + + buildInputs = [ pkgconfig autoconf automake m4 intltool glib + libsoup gdk_pixbuf ]; + + configureScript = "./autogen.sh"; + + meta = with stdenv.lib; { + homepage = "http://people.freedesktop.org/~hughsient/appdata"; + description = "CLI designed to validate AppData descriptions for standards compliance and to the style guide"; + platforms = platforms.linux; + license = licenses.gpl2; + maintainers = with maintainers; [ lethalman ]; + }; +} diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix index 960d85ab6be..deb915c9a5e 100644 --- a/pkgs/tools/misc/autorandr/default.nix +++ b/pkgs/tools/misc/autorandr/default.nix @@ -36,6 +36,6 @@ in meta = { description = "Automatic display configuration selector based on connected devices"; homepage = https://github.com/wertarbyte/autorandr; - maintainer = [ stdenv.lib.maintainers.coroa ]; + maintainers = [ stdenv.lib.maintainers.coroa ]; }; } diff --git a/pkgs/tools/misc/cpuminer/default.nix b/pkgs/tools/misc/cpuminer/default.nix index 6b32d9531d3..c172930cfd2 100644 --- a/pkgs/tools/misc/cpuminer/default.nix +++ b/pkgs/tools/misc/cpuminer/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "cpuminer-${version}"; - version = "2.3.2"; + version = "2.3.3"; src = fetchurl { url = "mirror://sourceforge/cpuminer/pooler-${name}.tar.gz"; - sha256 = "10xnb58w90kq8xgnkk0z99c0b9p9pxhkhkcs9dml5pgxfrlakckg"; + sha256 = "17pjnb1nb8c1akr07hgac2pqd5fcv34f12g7iykbn9hgig5r1sxc"; }; buildInputs = [ curl jansson ]; diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix index 388cfa14e41..aac7855827c 100644 --- a/pkgs/tools/misc/debootstrap/default.nix +++ b/pkgs/tools/misc/debootstrap/default.nix @@ -32,13 +32,13 @@ in stdenv.mkDerivation { - name = "debootstrap-1.0.42"; + name = "debootstrap-1.0.60"; src = fetchurl { # git clone git://git.debian.org/d-i/debootstrap.git # I'd like to use the source. However it's lacking the lanny script ? (still true?) - url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.42.tar.gz; - sha256 = "0a5azl22wz1q92b2c91zlpz6krd7wqyi63yk87vyczp363ml0nz0"; + url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.60.tar.xz; + sha256 = "0jyxfmx466fsqak00m4n6b04zsdqym81ybah7yx2l081d0518sw8"; }; buildInputs = [ dpkg gettext gawk perl ]; diff --git a/pkgs/tools/misc/dvtm/default.nix b/pkgs/tools/misc/dvtm/default.nix index 9cefa11ce69..55e8367538a 100644 --- a/pkgs/tools/misc/dvtm/default.nix +++ b/pkgs/tools/misc/dvtm/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "dvtm-0.10"; + name = "dvtm-0.11"; meta = { description = "Dynamic virtual terminal manager"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "${meta.homepage}/${name}.tar.gz"; - sha256 = "0lb6p06jfaz1z07k0v2gipzx67swf7rijz17g5ndhng2g0jqfl3p"; + sha256 = "11zb5wnvmcx8np2886hwaqijvhdw8l87lldxhgqikw2ncpgrz8h1"; }; buildInputs = [ ncurses ]; diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix index fe5985b9698..1b6205db7ce 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.13"; + name = "ethtool-3.14"; src = fetchurl { url = "mirror://kernel/software/network/ethtool/${name}.tar.xz"; - sha256 = "07z7janzj8fbs04sw6nlzr039yh7b5gmzvik7ymg807i2gi5fmjs"; + sha256 = "01v7a757757bk68vvap2x0v6jbqicchnjxvh52w8dccixxq2nkj3"; }; meta = with stdenv.lib; { diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix new file mode 100644 index 00000000000..56e18227d66 --- /dev/null +++ b/pkgs/tools/misc/goaccess/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, pkgconfig, geoip, ncurses, glib }: + +let + version = "0.8"; + mainSrc = fetchurl { + url = "http://tar.goaccess.prosoftcorp.com/goaccess-${version}.tar.gz"; + sha256 = "a61215b1f3e82bdb50c892e843f1a85d6d85f882915d694a5672911fab955eea"; + }; +in + +stdenv.mkDerivation rec { + name = "goaccess-${version}"; + src = mainSrc; + + configureFlags = [ + "--enable-geoip" + "--enable-utf8" + ]; + + buildInputs = [ + pkgconfig + geoip + ncurses + glib + ]; + + meta = { + description = "GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems."; + homepage = http://goaccess.prosoftcorp.com; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + maintainers = with stdenv.lib.maintainers; [ ederoyd46 ]; + }; +} diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix index 6cb528cca1d..a937e96eed5 100644 --- a/pkgs/tools/misc/gsmartcontrol/default.nix +++ b/pkgs/tools/misc/gsmartcontrol/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { It allows you to inspect the drive's SMART data to determine its health, as well as run various tests on it. ''; - homepage = http://gsmartcontrol.berlios.de; + homepage = http://gsmartcontrol.sourceforge.net/; license = "GPLv2+"; maintainers = with stdenv.lib.maintainers; [qknight]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix index a26348f8f0f..20830bad6bf 100644 --- a/pkgs/tools/misc/lbdb/default.nix +++ b/pkgs/tools/misc/lbdb/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { md5 = "a8e65f1400c90818ff324dc4fd67eba2"; }; - buildInputs = [ perl finger_bsd ]; + buildInputs = [ perl ] ++ stdenv.lib.optional (!stdenv.isDarwin) finger_bsd; meta = { homepage = "http://www.spinnaker.de/lbdb/"; diff --git a/pkgs/tools/misc/minicom/default.nix b/pkgs/tools/misc/minicom/default.nix index 2ab1195020c..8ede3aa918b 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 805dbd3f17c..96d3764abd4 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/pv/default.nix b/pkgs/tools/misc/pv/default.nix index 480e00c850d..d99fc1960dd 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.5.2"; + name = "pv-1.5.3"; src = fetchurl { url = "http://www.ivarch.com/programs/sources/${name}.tar.bz2"; - sha256 = "1sz5ishd66xliwnhv0x3vr48fbp7id4xd8fsrbm66y7f5mfd7qp2"; + sha256 = "03prg025kzivl1a5xqlf45szpnpqrmkzcvnf7lb2fc1v3jdrkwvn"; }; meta = { diff --git a/pkgs/tools/misc/rkflashtool/default.nix b/pkgs/tools/misc/rkflashtool/default.nix new file mode 100644 index 00000000000..c985183c1c0 --- /dev/null +++ b/pkgs/tools/misc/rkflashtool/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, libusb1 }: + +stdenv.mkDerivation rec { + name = "rkflashtool-5.1"; + + src = fetchurl { + url = "mirror://sourceforge/rkflashtool/${name}-src.tar.bz2"; + sha256 = "0dbp1crw7pjav9gffrnskhkf0gxlj4xgp65clqhvfmv32460xb9c"; + }; + + versionh = fetchurl { + url = "mirror://sourceforge/rkflashtool/version.h"; + sha256 = "1mkcy3yyfaddhzg524hjnhvmwdmdfzbavib8d9p5y38pcqy8xgdp"; + }; + + buildInputs = [ libusb1 ]; + + preBuild = '' + cp $versionh version.h + ''; + + installPhase = '' + ensureDir $out/bin + cp rkunpack rkcrc rkflashtool $out/bin + ''; + + meta = { + homepage = http://sourceforge.net/projects/rkflashtool/; + description = "Tools for flashing Rockchip devices"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.viric ]; + }; +} diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix index 7dd04d25120..6e3f8edbb9c 100644 --- a/pkgs/tools/misc/screen/default.nix +++ b/pkgs/tools/misc/screen/default.nix @@ -1,16 +1,13 @@ { stdenv, fetchurl, ncurses, pam ? null }: stdenv.mkDerivation rec { - name = "screen-4.0.3"; + name = "screen-4.2.1"; src = fetchurl { url = "mirror://gnu/screen/${name}.tar.gz"; - sha256 = "0xvckv1ia5pjxk7fs4za6gz2njwmfd54sc464n8ab13096qxbw3q"; + sha256 = "105hp6qdd8rl71p81klmxiz4mlb60kh9r7czayrx40g38x858s2l"; }; - patches = [ ./screen-4.0.3-caption-colors.patch - ./screen-4.0.3-long-term.patch ]; - preConfigure = '' configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man --with-sys-screenrc=/etc/screenrc" sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in diff --git a/pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch b/pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch deleted file mode 100644 index 14365dc81c1..00000000000 --- a/pkgs/tools/misc/screen/screen-4.0.3-caption-colors.patch +++ /dev/null @@ -1,25 +0,0 @@ -# Source: -# https://projects.archlinux.org/svntogit/packages.git/plain/screen/trunk/screen-4.0.3-caption-colors.patch -# modified by hand for nixpkgs - -From e6a28cf8bfdac15faa6c267bf476ddcaddf48d67 Mon Sep 17 00:00:00 2001 -From: Sadrul Habib Chowdhury -Date: Tue, 26 Jan 2010 20:17:26 +0000 -Subject: Accommodate more color changes in the caption. - ---- -diff --git a/src/screen.c b/src/screen.c -index b1c3dfb..2cceae0 100644 ---- a/screen.c -+++ b/screen.c -@@ -2204,7 +2204,7 @@ static const char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec"; - #endif - - static char winmsg_buf[MAXSTR]; --#define MAX_WINMSG_REND 16 /* rendition changes */ -+#define MAX_WINMSG_REND 256 /* rendition changes */ - static int winmsg_rend[MAX_WINMSG_REND]; - static int winmsg_rendpos[MAX_WINMSG_REND]; - static int winmsg_numrend; --- -cgit v0.8.3.4 diff --git a/pkgs/tools/misc/screen/screen-4.0.3-long-term.patch b/pkgs/tools/misc/screen/screen-4.0.3-long-term.patch deleted file mode 100644 index f94f9da8ac4..00000000000 --- a/pkgs/tools/misc/screen/screen-4.0.3-long-term.patch +++ /dev/null @@ -1,29 +0,0 @@ -# Source: -# https://projects.archlinux.org/svntogit/packages.git/plain/screen/trunk/screen-4.0.3-long-term.patch - -# This fixes long terminal names handling, e.g. TERM=rxvt-unicode-256colors works -# as expected. -diff -Naur screen-4.0.3-orig//display.h screen-4.0.3/display.h ---- screen-4.0.3-orig//display.h 2003-07-02 00:01:42.000000000 +1000 -+++ screen-4.0.3/display.h 2010-12-03 20:19:23.826671689 +1000 -@@ -85,7 +85,7 @@ - struct win *d_other; /* pointer to other window */ - int d_nonblock; /* -1 don't block if obufmax reached */ - /* >0: block after nonblock secs */ -- char d_termname[20 + 1]; /* $TERM */ -+ char d_termname[40 + 1]; /* $TERM */ - char *d_tentry; /* buffer for tgetstr */ - char d_tcinited; /* termcap inited flag */ - int d_width, d_height; /* width/height of the screen */ -diff -Naur screen-4.0.3-orig//screen.h screen-4.0.3/screen.h ---- screen-4.0.3-orig//screen.h 2003-08-22 22:28:43.000000000 +1000 -+++ screen-4.0.3/screen.h 2010-12-03 20:19:43.163338333 +1000 -@@ -202,7 +202,7 @@ - char preselect[20]; - int esc; /* his new escape character unless -1 */ - int meta_esc; /* his new meta esc character unless -1 */ -- char envterm[20 + 1]; /* terminal type */ -+ char envterm[40 + 1]; /* terminal type */ - int encoding; /* encoding of display */ - } - attach; diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix new file mode 100644 index 00000000000..0ebc712fcf0 --- /dev/null +++ b/pkgs/tools/misc/screenfetch/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchgit, xdpyinfo, xprop }: + +let + version = "2014-05-27"; +in +stdenv.mkDerivation { + name = "screenFetch-${version}"; + pname = "screenfetch"; + + src = fetchgit { + url = git://github.com/KittyKatt/screenFetch.git; + rev = "69c46cb94b5765dbcb36905c5a35c42eb8e6e470"; + sha256 = "0479na831120bpyrg5nb3nb1jr8p8ahkixk1znwg730q3vdcjd6j"; + }; + + installPhase = '' + install -Dm 0755 $pname-dev $out/bin/$pname + install -Dm 0644 $pname.1 $out/man/man1/$pname.1 + ''; + + meta = { + description = "Fetches system/theme information in terminal for Linux desktop screenshots."; + longDescription = '' + screenFetch is a "Bash Screenshot Information Tool". This handy Bash + script can be used to generate one of those nifty terminal theme + information + ASCII distribution logos you see in everyone's screenshots + nowadays. It will auto-detect your distribution and display an ASCII + version of that distribution's logo and some valuable information to the + right. There are options to specify no ascii art, colors, taking a + screenshot upon displaying info, and even customizing the screenshot + command! This script is very easy to add to and can easily be extended. + ''; + license = stdenv.lib.licenses.gpl3; + homepage = http://git.silverirc.com/cgit.cgi/screenfetch-dev.git/; + maintainers = with stdenv.lib.maintainers; [relrod]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/tools/misc/testdisk/default.nix b/pkgs/tools/misc/testdisk/default.nix index d4866ec11f2..73ac04dd34e 100644 --- a/pkgs/tools/misc/testdisk/default.nix +++ b/pkgs/tools/misc/testdisk/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid}: +{ stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid, ntfs3g }: stdenv.mkDerivation { name = "testdisk-6.14"; @@ -8,7 +8,9 @@ stdenv.mkDerivation { sha256 = "0v1jap83f5h99zv01v3qmqm160d36n4ysi0gyq7xzb3mqgmw75x5"; }; - buildInputs = [ncurses libjpeg e2fsprogs zlib openssl libuuid]; + buildInputs = [ ncurses libjpeg e2fsprogs zlib openssl libuuid ntfs3g ]; + + enableParallelBuilding = true; meta = { homepage = http://www.cgsecurity.org/wiki/TestDisk; diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix index 272656349f6..10e22c3aad0 100644 --- a/pkgs/tools/misc/tmux/default.nix +++ b/pkgs/tools/misc/tmux/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "tmux"; - version = "1.8"; + version = "1.9"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.gz"; - sha256 = "f265401ca890f8223e09149fcea5abcd6dfe75d597ab106e172b01e9d0c9cd44"; + sha256 = "09qykbcyvsspg6bfsdx2lp9b32dbybwn5k6kx4baib0k6l4wmriy"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix index 1cc91f25660..475d6775cde 100644 --- a/pkgs/tools/networking/aircrack-ng/default.nix +++ b/pkgs/tools/networking/aircrack-ng/default.nix @@ -1,14 +1,14 @@ -{stdenv, fetchurl, libpcap, openssl, zlib, wirelesstools}: +{ stdenv, fetchurl, libpcap, openssl, zlib, wirelesstools, libnl, pkgconfig }: stdenv.mkDerivation rec { - name = "aircrack-ng-1.2-beta1"; + name = "aircrack-ng-1.2-beta3"; src = fetchurl { url = "http://download.aircrack-ng.org/${name}.tar.gz"; - sha256 = "19cfib7sqp2rdm3lc84jrzsa6r8443gkm1ifbmhygsqn6fnkj8zi"; + sha256 = "13g9xz9djjgfc2xi88vnx7zhgy751hqb3739y7znyihd6q9sw8id"; }; - buildInputs = [libpcap openssl zlib]; + buildInputs = [ libpcap openssl zlib libnl pkgconfig ]; patchPhase = '' sed -e 's@^prefix.*@prefix = '$out@ -i common.mak diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix index 8a6d63d164c..4103d17bfa2 100644 --- a/pkgs/tools/networking/axel/default.nix +++ b/pkgs/tools/networking/axel/default.nix @@ -3,8 +3,11 @@ stdenv.mkDerivation { name = "axel-2.4"; src = fetchurl { - url = https://alioth.debian.org/frs/download.php/3016/axel-2.4.tar.bz2; - sha256 = "ebc7d40e989c680d2afa632a17e5208101608924cf446da20814a6f3c3338612"; + urls = [ + #https://alioth.debian.org/frs/download.php/3016/axel-2.4.tar.bz2 + mirror://debian/pool/main/a/axel/axel_2.4.orig.tar.gz + ]; + sha256 = "0dl0r9byd2ps90cq2nj1y7ib6gnkb5y9f3a3fmhcnjrm9smmg6im"; }; meta = { diff --git a/pkgs/tools/networking/biosdevname/default.nix b/pkgs/tools/networking/biosdevname/default.nix new file mode 100644 index 00000000000..89872548aa9 --- /dev/null +++ b/pkgs/tools/networking/biosdevname/default.nix @@ -0,0 +1,36 @@ +{stdenv, fetchgit, automake, autoconf, zlib, pciutils}: +let + version = "0.5.1"; +in +stdenv.mkDerivation { + name = "biosdevname-${version}"; + + src = fetchgit { + url = git://linux.dell.com/biosdevname.git; + rev = "refs/tags/v${version}"; + sha256 = "0qmgfyqv13qwh86140q0qdjxys76arg2d1slyvijx6r314ca4r7z"; + }; + + buildInputs = [ + automake + autoconf + zlib + pciutils + ]; + + preConfigure = '' + autoreconf -i + ''; + + # Don't install /lib/udev/rules.d/*-biosdevname.rules + patches = [ ./makefile.patch ]; + + configureFlags = [ "--sbindir=\${out}/bin" ]; + + meta = with stdenv.lib; { + description = "Udev helper for naming devices per BIOS names"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ cstrahan ]; + }; +} diff --git a/pkgs/tools/networking/biosdevname/makefile.patch b/pkgs/tools/networking/biosdevname/makefile.patch new file mode 100644 index 00000000000..0fc083f9096 --- /dev/null +++ b/pkgs/tools/networking/biosdevname/makefile.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 14d9a92..9e324d2 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -8,8 +8,6 @@ dist_noinst_DATA = biosdevname.rules.in biosdevname.spec.fedora biosdevname.spec + + CLEANFILES = version src/bios_dev_name.h + install-data-local: +- mkdir -p $(DESTDIR)@RULEDIR@ +- $(INSTALL_DATA) $(top_srcdir)/biosdevname.rules.in $(DESTDIR)@RULEDEST@ + + uninstall-local: + rm -f $(DESTDIR)@RULEDEST@ diff --git a/pkgs/tools/networking/ccnet/0001-Add-autoconfiguration-for-libjansson.patch b/pkgs/tools/networking/ccnet/0001-Add-autoconfiguration-for-libjansson.patch deleted file mode 100644 index 83cdbad7bba..00000000000 --- a/pkgs/tools/networking/ccnet/0001-Add-autoconfiguration-for-libjansson.patch +++ /dev/null @@ -1,72 +0,0 @@ -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 index 14b88ddafe8..8896156bd1c 100644 --- a/pkgs/tools/networking/ccnet/default.nix +++ b/pkgs/tools/networking/ccnet/default.nix @@ -2,18 +2,16 @@ stdenv.mkDerivation rec { - version = "1.4.0"; - seafileVersion = "2.1.1"; + version = "1.4.2"; + seafileVersion = "3.0.4"; name = "ccnet-${version}"; src = fetchurl { url = "https://github.com/haiwen/ccnet/archive/v${seafileVersion}.tar.gz"; - sha256 = "6882eb1a3066897e4f91fb60a3405b3f58b4b794334deaca73617003f77a7eb0"; + sha256 = "1y9x6k9ql8bj83016a1mi1m5ixxh8fm7p4qbd5mslnamvjln171q"; }; - 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 ]; diff --git a/pkgs/tools/networking/ccnet/libccnet.pc.patch b/pkgs/tools/networking/ccnet/libccnet.pc.patch deleted file mode 100644 index 0d9fea552bc..00000000000 --- a/pkgs/tools/networking/ccnet/libccnet.pc.patch +++ /dev/null @@ -1,10 +0,0 @@ -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/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 10bfc0e21ec..3d23d7950fb 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.35.0"; + name = "curl-7.36.0"; src = fetchurl { url = "http://curl.haxx.se/download/${name}.tar.bz2"; - sha256 = "10qdzk3lfdpg8lvg8wfiqbfjp5yxyv25y1y2679vgwal2iqd2x6p"; + sha256 = "1kfgygvmxgaakxl2f3h3jlar23n6xmvg03ybm36pqsydkfw85ghz"; }; # Zlib and OpenSSL must be propagated because `libcurl.la' contains @@ -30,8 +30,10 @@ stdenv.mkDerivation rec { optional sslSupport openssl ++ optional scpSupport libssh2; + # for the second line see http://curl.haxx.se/mail/tracker-2014-03/0087.html preConfigure = '' sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure + rm src/tool_hugehelp.c ''; configureFlags = [ diff --git a/pkgs/tools/networking/cutter/default.nix b/pkgs/tools/networking/cutter/default.nix new file mode 100644 index 00000000000..5d383f07210 --- /dev/null +++ b/pkgs/tools/networking/cutter/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "cutter-1.03"; + + src = fetchurl { + url = "http://www.digitage.co.uk/digitage/files/cutter/${name}.tgz"; + md5 = "50093db9b64277643969ee75b83ebbd1"; + }; + + installPhase = '' + install -D -m 0755 cutter $out/bin/tcp-cutter + ''; + + meta = with stdenv.lib; { + description = "TCP/IP Connection cutting on Linux Firewalls and Routers"; + homepage = http://www.digitage.co.uk/digitage/software/linux-security/cutter; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.offline ]; + }; +} diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix index 1e0f26cc92c..8ff45e733fb 100644 --- a/pkgs/tools/networking/dd-agent/default.nix +++ b/pkgs/tools/networking/dd-agent/default.nix @@ -1,38 +1,42 @@ -{ stdenv, fetchurl, python, sysstat, unzip, tornado, makeWrapper }: +{ stdenv, fetchFromGitHub, python, pythonPackages, sysstat, unzip, tornado +, makeWrapper }: stdenv.mkDerivation rec { - version = "4.2.0"; - name = "dd-agent-${version}"; + version = "4.3.1"; + name = "dd-agent-${version}"; - src = fetchurl { - url = "https://github.com/DataDog/dd-agent/archive/${version}.zip"; - sha256 = "0lp3h3flb50i64kgkj9kyyf3p1xm0nipxi22w5pmhb71l678d216"; - }; + src = fetchFromGitHub { + owner = "DataDog"; + repo = "dd-agent"; + rev = version; + sha256 = "0z6b1s30fyd9ldahizrjwcxx7c7dd74xsqy19j3qykrb25j9cvmn"; + }; - buildInputs = [ python unzip makeWrapper ]; - propagatedBuildInputs = [ python tornado ]; + buildInputs = [ python unzip makeWrapper pythonPackages.psycopg2 ]; + propagatedBuildInputs = [ python tornado ]; - postUnpack = "export sourceRoot=$sourceRoot/packaging"; + postUnpack = "export sourceRoot=$sourceRoot/packaging"; - makeFlags = [ "BUILD=$(out)" ]; + makeFlags = [ "BUILD=$(out)" ]; - installTargets = [ "install_base" "install_full" ]; + installTargets = [ "install_base" "install_full" ]; - postInstall = '' - mv $out/usr/* $out - rmdir $out/usr - wrapProgram $out/bin/dd-forwarder --prefix PYTHONPATH : $PYTHONPATH - ''; + postInstall = '' + mv $out/usr/* $out + rmdir $out/usr + wrapProgram $out/bin/dd-forwarder \ + --prefix PYTHONPATH : $PYTHONPATH + wrapProgram $out/bin/dd-agent \ + --prefix PYTHONPATH : $PYTHONPATH + wrapProgram $out/bin/dogstatsd \ + --prefix PYTHONPATH : $PYTHONPATH + ''; - meta = { - description = "Event collector for the DataDog analysis service"; - - homepage = http://www.datadoghq.com; - - maintainers = [ stdenv.lib.maintainers.iElectric ]; - - license = stdenv.lib.licenses.bsd3; - - platforms = stdenv.lib.platforms.all; - }; + meta = { + description = "Event collector for the DataDog analysis service"; + homepage = http://www.datadoghq.com; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.all; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice iElectric ]; + }; } diff --git a/pkgs/tools/networking/dhcpcd/check-interface.patch b/pkgs/tools/networking/dhcpcd/check-interface.patch new file mode 100644 index 00000000000..2b732b740ad --- /dev/null +++ b/pkgs/tools/networking/dhcpcd/check-interface.patch @@ -0,0 +1,24 @@ +Index: dhcpcd.c +================================================================== +--- a/dhcpcd.c ++++ b/dhcpcd.c +@@ -747,14 +747,14 @@ + if (ifp->hwlen != 0) + memcpy(ifl->hwaddr, ifp->hwaddr, ifl->hwlen); + } else { + TAILQ_REMOVE(ifs, ifp, next); + TAILQ_INSERT_TAIL(ctx->ifaces, ifp, next); +- } +- if (action == 1) { +- init_state(ifp, ctx->argc, ctx->argv); +- start_interface(ifp); ++ if (action == 1) { ++ init_state(ifp, ctx->argc, ctx->argv); ++ start_interface(ifp); ++ } + } + } + + /* Free our discovered list */ + while ((ifp = TAILQ_FIRST(ifs))) { + diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index 758e3fd7980..40f6538750f 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, udev }: stdenv.mkDerivation rec { - name = "dhcpcd-6.2.1"; + name = "dhcpcd-6.3.2"; src = fetchurl { url = "http://roy.marples.name/downloads/dhcpcd/${name}.tar.bz2"; - sha256 = "1gs23zwhzml2aam4j6rdncaqfv3z5n1ifx6lq4b8ccifqa87gbga"; + sha256 = "1v2m5wdr6x5cz6i0n1y63am9dhj5j7ylrk717scjgwwjdbq1x75n"; }; - patches = [ ./lxc_ro_promote_secondaries.patch ]; + patches = [ ./lxc_ro_promote_secondaries.patch ./reload.patch ./check-interface.patch ]; buildInputs = [ pkgconfig udev ]; diff --git a/pkgs/tools/networking/dhcpcd/reload.patch b/pkgs/tools/networking/dhcpcd/reload.patch new file mode 100644 index 00000000000..0ecb75a4476 --- /dev/null +++ b/pkgs/tools/networking/dhcpcd/reload.patch @@ -0,0 +1,22 @@ +--- a/dhcpcd.c ++++ b/dhcpcd.c +@@ -143,16 +143,18 @@ + if (ctx->ifac) { + for (ctx->ifac--; ctx->ifac >= 0; ctx->ifac--) + free(ctx->ifav[ctx->ifac]); + free(ctx->ifav); + ctx->ifav = NULL; ++ ctx->ifac = 0; + } + if (ctx->ifdc) { + for (ctx->ifdc--; ctx->ifdc >= 0; ctx->ifdc--) + free(ctx->ifdv[ctx->ifdc]); + free(ctx->ifdv); + ctx->ifdv = NULL; ++ ctx->ifdc = 0; + } + + #ifdef INET + if (ctx->dhcp_opts) { + for (opt = ctx->dhcp_opts; + diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index 0c5dfc6fd74..d8f62913ad5 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/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix index 42760da5d4a..5a634ffec66 100644 --- a/pkgs/tools/networking/haproxy/default.nix +++ b/pkgs/tools/networking/haproxy/default.nix @@ -1,12 +1,12 @@ { stdenv, pkgs, fetchurl }: stdenv.mkDerivation rec { - version = "1.4.24"; + version = "1.4.25"; name = "haproxy-${version}"; src = fetchurl { url = "http://haproxy.1wt.eu/download/1.4/src/${name}.tar.gz"; - sha256 = "1vy7jz7l8qdd6ah3y65zarz9x9pf3bs02icxnrckpgh1s3s2h2b8"; + sha256 = "0qnvj6kbnrrc69nsp2dn5iv2z79adzkcgqssnk30iwvvwg0qwh44"; }; buildInputs = [ ]; diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix index cdbb52fe739..a31511beeab 100644 --- a/pkgs/tools/networking/httpie/default.nix +++ b/pkgs/tools/networking/httpie/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, pythonPackages }: pythonPackages.buildPythonPackage rec { - name = "httpie-0.4.1"; + name = "httpie-0.8.0"; namePrefix = ""; src = fetchurl { url = "http://pypi.python.org/packages/source/h/httpie/${name}.tar.gz"; - sha256 = "1qd03vd4657vdvkfhbd2wnlz4xh6hyw75m7wmfhgac5m2028y3cv"; + sha256 = "16f3scm794plxbyw7a5b4541hb2psa85kfi98g83785i2qwz98ag"; }; - propagatedBuildInputs = with pythonPackages; [ pygments requests ]; + propagatedBuildInputs = with pythonPackages; [ pygments requests2 ]; doCheck = false; meta = { description = "A command line HTTP client whose goal is to make CLI human-friendly"; homepage = http://httpie.org/; - license = "BSD"; - maintainers = [ stdenv.lib.maintainers.antono ]; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ antono relrod ]; }; } diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix index 2bc575bbd02..7a369744525 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.16"; 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 = "1wivcynm4pc18vj4x6r2saczk34ds3slagmz3y3b04rzklplf7s4"; }; 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/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix index 3ac82e51bf8..0453567c449 100644 --- a/pkgs/tools/networking/mailutils/default.nix +++ b/pkgs/tools/networking/mailutils/default.nix @@ -18,7 +18,8 @@ stdenv.mkDerivation rec { gnutls mysql guile texinfo gnum4 ] ++ stdenv.lib.optional doCheck dejagnu; - doCheck = true; + # Tests fail since gcc 4.8 + doCheck = false; meta = { description = "GNU Mailutils is a rich and powerful protocol-independent mail framework"; @@ -51,8 +52,5 @@ 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 b5002d22990..ef3db0a4a21 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/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix index 45dcb087bd7..c463c94d610 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 00000000000..b950cacd2e5 --- /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/nethogs/default.nix b/pkgs/tools/networking/nethogs/default.nix new file mode 100644 index 00000000000..9747dc58771 --- /dev/null +++ b/pkgs/tools/networking/nethogs/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchgit, ncurses, libpcap }: + +stdenv.mkDerivation rec { + name = "nethogs-${version}"; + + version = "0.8.1-git"; + + src = fetchgit { + url = git://github.com/raboof/nethogs.git; + rev = "f6f9e890ea731b8acdcb8906642afae4cd96baa8"; + sha256 = "0dj5sdyxdlssbnjbdf8k7x896m2zgyyg31g12dl5n6irqdrb5scf"; + }; + + buildInputs = [ ncurses libpcap ]; + + preConfigure = '' + substituteInPlace Makefile --replace "prefix := /usr/local" "prefix := $out" + ''; + + meta = with stdenv.lib; { + description = "A small 'net top' tool, grouping bandwidth by process"; + longDescription = '' + NetHogs is a small 'net top' tool. Instead of breaking the traffic down + per protocol or per subnet, like most tools do, it groups bandwidth by + process. NetHogs does not rely on a special kernel module to be loaded. + If there's suddenly a lot of network traffic, you can fire up NetHogs + and immediately see which PID is causing this. This makes it easy to + identify programs that have gone wild and are suddenly taking up your + bandwidth. + ''; + license = licenses.gpl2Plus; + homepage = http://nethogs.sourceforge.net/; + platforms = platforms.linux; + maintainers = with maintainers; [ wizeman ]; + }; +} diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix index 8d0d4521b86..352a908c1d7 100644 --- a/pkgs/tools/networking/network-manager-applet/default.nix +++ b/pkgs/tools/networking/network-manager-applet/default.nix @@ -2,7 +2,7 @@ , 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 }: +, networkmanager_openconnect, networkmanager_pptp, udev, hicolor_icon_theme }: let pn = "network-manager-applet"; @@ -36,14 +36,17 @@ stdenv.mkDerivation rec { ln -s ${networkmanager_openvpn}/etc/NetworkManager/VPN/nm-openvpn-service.name $out/etc/NetworkManager/VPN/nm-openvpn-service.name ln -s ${networkmanager_vpnc}/etc/NetworkManager/VPN/nm-vpnc-service.name $out/etc/NetworkManager/VPN/nm-vpnc-service.name ln -s ${networkmanager_openconnect}/etc/NetworkManager/VPN/nm-openconnect-service.name $out/etc/NetworkManager/VPN/nm-openconnect-service.name + ln -s ${networkmanager_pptp}/etc/NetworkManager/VPN/nm-pptp-service.name $out/etc/NetworkManager/VPN/nm-pptp-service.name mkdir -p $out/lib/NetworkManager ln -s ${networkmanager_openvpn}/lib/NetworkManager/* $out/lib/NetworkManager/ ln -s ${networkmanager_vpnc}/lib/NetworkManager/* $out/lib/NetworkManager/ ln -s ${networkmanager_openconnect}/lib/NetworkManager/* $out/lib/NetworkManager/ + ln -s ${networkmanager_pptp}/lib/NetworkManager/* $out/lib/NetworkManager/ mkdir -p $out/libexec ln -s ${networkmanager_openvpn}/libexec/* $out/libexec/ ln -s ${networkmanager_vpnc}/libexec/* $out/libexec/ ln -s ${networkmanager_openconnect}/libexec/* $out/libexec/ + ln -s ${networkmanager_pptp}/libexec/* $out/libexec/ ''; preFixup = '' @@ -52,6 +55,8 @@ stdenv.mkDerivation rec { --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --set GCONF_CONFIG_SOURCE "xml::~/.gconf" \ --prefix PATH ":" "${gnome3.gconf}/bin" + wrapProgram "$out/bin/nm-connection-editor" \ + --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix index ff4c853512d..cc6532bac71 100644 --- a/pkgs/tools/networking/network-manager/openconnect.nix +++ b/pkgs/tools/networking/network-manager/openconnect.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, openconnect, intltool, pkgconfig, networkmanager -, withGnome ? true, gtk2, gconf, libgnome_keyring, procps, module_init_tools }: +, withGnome ? true, gnome3, procps, module_init_tools }: stdenv.mkDerivation rec { name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; @@ -12,12 +12,12 @@ stdenv.mkDerivation rec { }; buildInputs = [ openconnect networkmanager ] - ++ stdenv.lib.optionals withGnome [ gtk2 libgnome_keyring gconf ]; + ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring gnome3.gconf ]; nativeBuildInputs = [ intltool pkgconfig ]; configureFlags = [ - "${if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome"}" + "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}" "--disable-static" ]; diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn.nix index 821e72d4908..bb837dc6b8f 100644 --- a/pkgs/tools/networking/network-manager/openvpn.nix +++ b/pkgs/tools/networking/network-manager/openvpn.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, openvpn, intltool, pkgconfig, networkmanager -, withGnome ? true, gtk2, libgnome_keyring, procps, module_init_tools }: +, withGnome ? true, gnome3, procps, module_init_tools }: stdenv.mkDerivation rec { name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; @@ -12,12 +12,12 @@ stdenv.mkDerivation rec { }; buildInputs = [ openvpn networkmanager ] - ++ stdenv.lib.optionals withGnome [ gtk2 libgnome_keyring ]; + ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ]; nativeBuildInputs = [ intltool pkgconfig ]; configureFlags = [ - "${if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome"}" + "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}" "--disable-static" ]; diff --git a/pkgs/tools/networking/network-manager/pptp.nix b/pkgs/tools/networking/network-manager/pptp.nix index d0a92b78309..6928db809a8 100644 --- a/pkgs/tools/networking/network-manager/pptp.nix +++ b/pkgs/tools/networking/network-manager/pptp.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, networkmanager, pptp, ppp, intltool, pkgconfig, substituteAll -, withGnome ? false, gtk, libgnome_keyring }: +, withGnome ? true, gnome3 }: stdenv.mkDerivation rec { name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; @@ -12,12 +12,12 @@ stdenv.mkDerivation rec { }; buildInputs = [ networkmanager pptp ppp ] - ++ stdenv.lib.optionals withGnome [ gtk libgnome_keyring ]; + ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ]; nativeBuildInputs = [ intltool pkgconfig ]; configureFlags = - if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome"; + if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"; postConfigure = "sed 's/-Werror//g' -i Makefile */Makefile"; diff --git a/pkgs/tools/networking/network-manager/vpnc.nix b/pkgs/tools/networking/network-manager/vpnc.nix index 10a497e0238..809970ff0fd 100644 --- a/pkgs/tools/networking/network-manager/vpnc.nix +++ b/pkgs/tools/networking/network-manager/vpnc.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, vpnc, intltool, pkgconfig, networkmanager -, withGnome ? true, gtk2, libgnome_keyring, procps, module_init_tools }: +, withGnome ? true, gnome3, procps, module_init_tools }: stdenv.mkDerivation rec { name = "${pname}${if withGnome then "-gnome" else ""}-${version}"; @@ -14,12 +14,12 @@ stdenv.mkDerivation rec { }; buildInputs = [ vpnc networkmanager ] - ++ stdenv.lib.optionals withGnome [ gtk2 libgnome_keyring ]; + ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ]; nativeBuildInputs = [ intltool pkgconfig ]; configureFlags = [ - "${if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome"}" + "${if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome"}" "--disable-static" ]; diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix index 02e1f742201..2a100fd2873 100644 --- a/pkgs/tools/networking/offlineimap/default.nix +++ b/pkgs/tools/networking/offlineimap/default.nix @@ -1,13 +1,13 @@ { pkgs, fetchurl, buildPythonPackage, sqlite3 }: buildPythonPackage rec { - version = "6.5.5"; + version = "6.5.6"; name = "offlineimap-${version}"; namePrefix = ""; src = fetchurl { url = "https://github.com/OfflineIMAP/offlineimap/archive/v${version}.tar.gz"; - sha256 = "00k84qagph3xnxss6rkxm61x07ngz8fvffx4z9jyw5baf3cdd32p"; + sha256 = "1hr8yxb6r8lmdzzly4hafa1l1z9pfx14rsgc8qiy2zxfpg6ijcn2"; }; doCheck = false; diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index 6926b9aa82a..ea94560219f 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { name = "openssh-6.6p1"; src = fetchurl { - url = "ftp://ftp.nl.uu.net/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz"; + url = "http://ftp.nluug.nl/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz"; sha256 = "1fq3w86q05y5nn6z878wm312k0svaprw8k007188fd259dkg1ha8"; }; diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix index 0db7c4b688f..f06a36a96f5 100644 --- a/pkgs/tools/networking/openvpn/default.nix +++ b/pkgs/tools/networking/openvpn/default.nix @@ -1,14 +1,18 @@ -{ stdenv, fetchurl, iproute, lzo, openssl, pam }: +{ stdenv, fetchurl, iproute, lzo, openssl, pam, systemd }: + +with stdenv.lib; stdenv.mkDerivation rec { - name = "openvpn-2.3.1"; + name = "openvpn-2.3.4"; src = fetchurl { url = "http://swupdate.openvpn.net/community/releases/${name}.tar.gz"; - sha256 = "0g7vf3f6z0h4kdqlqr8jd0gapi0ains6xcvlvfy8cicxnf2psbdx"; + sha256 = "0nn8rrh6jadsydnym69r4s7rm6jzsgxb6p23yb9ai3sn91gnsl5g"; }; - buildInputs = [ iproute lzo openssl pam ]; + patches = optional stdenv.isLinux ./systemd-notify.patch; + + buildInputs = [ iproute lzo openssl pam ] ++ optional stdenv.isLinux systemd; configureFlags = '' --enable-password-save @@ -31,6 +35,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + NIX_LDFLAGS = optionalString stdenv.isLinux "-lsystemd-daemon"; # hacky + meta = { description = "A robust and highly flexible tunneling application"; homepage = http://openvpn.net/; diff --git a/pkgs/tools/networking/openvpn/systemd-notify.patch b/pkgs/tools/networking/openvpn/systemd-notify.patch new file mode 100644 index 00000000000..9291f7a4664 --- /dev/null +++ b/pkgs/tools/networking/openvpn/systemd-notify.patch @@ -0,0 +1,22 @@ +diff -ru -x '*~' openvpn-2.3.1-orig/src/openvpn/init.c openvpn-2.3.1/src/openvpn/init.c +--- openvpn-2.3.1-orig/src/openvpn/init.c 2013-03-20 09:28:14.000000000 +0100 ++++ openvpn-2.3.1/src/openvpn/init.c 2014-04-22 13:02:21.351026640 +0200 +@@ -48,6 +48,8 @@ + + #include "occ-inline.h" + ++#include ++ + static struct context *static_context; /* GLOBAL */ + + /* +@@ -1241,6 +1243,9 @@ + { + static const char message[] = "Initialization Sequence Completed"; + ++ /* Tell systemd we're ready. */ ++ sd_notify(0, "READY=1"); ++ + /* If we delayed UID/GID downgrade or chroot, do it now */ + do_uid_gid_chroot (c, true); + diff --git a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix index b8878c4fa36..7eefb516e1c 100644 --- a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix +++ b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix @@ -23,7 +23,6 @@ stdenv.mkDerivation { homepage = "http://gtk-gnutella.sourceforge.net/"; description = "a server/client for Gnutella"; license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.simons ]; + broken = true; }; } diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix index 43c189f36a9..835744c6000 100644 --- a/pkgs/tools/networking/p2p/seeks/default.nix +++ b/pkgs/tools/networking/p2p/seeks/default.nix @@ -46,5 +46,6 @@ stdenv.mkDerivation { maintainers = [ stdenv.lib.maintainers.ludo ]; platforms = stdenv.lib.platforms.gnu; # arbitrary choice + hydraPlatforms = []; }; } diff --git a/pkgs/tools/networking/pdnsd/default.nix b/pkgs/tools/networking/pdnsd/default.nix index 14f57b61a2f..6058639e412 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 = '' diff --git a/pkgs/tools/networking/speedtest-cli/default.nix b/pkgs/tools/networking/speedtest-cli/default.nix index 4f54404b713..7162e29e1ea 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.5"; + version = "0.2.7"; src = fetchurl { url = "https://pypi.python.org/packages/source/s/speedtest-cli/speedtest-cli-${version}.tar.gz"; - sha256 = "0a19kyn6064jbxda4yq1rfrlqlh8ha40fgwkj4rckdzk9bnxkhdn"; + sha256 = "00r3mjr8852glwryfj9f86pikqg1v0f0xivy25cj86n526wdpy95"; }; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/sproxy/default.nix b/pkgs/tools/networking/sproxy/default.nix index 342da193ffc..10ec9b40cd4 100644 --- a/pkgs/tools/networking/sproxy/default.nix +++ b/pkgs/tools/networking/sproxy/default.nix @@ -1,33 +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 +, concurrentExtra, conduit, connection, cryptoRandom, curl +, dataDefault, hslogger, hspec, httpConduit, httpKit, httpTypes +, interpolatedstringPerl6, mtl, network, optparseApplicative +, postgresqlSimple, safe, SHA, split, stringConversions, time, tls +, unorderedContainers, utf8String, wai, warp, x509, yaml, fetchurl }: cabal.mkDerivation (self: { pname = "sproxy"; - version = "0.7.4"; + version = "0.8.0"; src = fetchurl { - url = "https://github.com/zalora/sproxy/archive/0.7.4.tar.gz"; - sha256 = "1zlsln0ihg7p8jk5gdvm9as6gk4fs8vaa547iq2yvna4c1wb4amr"; + url = "https://github.com/zalora/sproxy/archive/0.8.0.tar.gz"; + sha256 = "11xn4k509ck73pacyz2kh0924n2vy8rwakwd42dwbvhhysf47rdx"; }; isLibrary = false; isExecutable = true; + patches = [ ./new-http-kit.patch ]; + doCheck = false; buildDepends = [ aeson attoparsec caseInsensitive certificate concurrentExtra - cryptoRandom curl dataDefault hslogger HTTP httpTypes + cryptoRandom curl dataDefault hslogger httpKit 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 + conduit connection cryptoRandom curl dataDefault hslogger hspec + httpConduit httpKit httpTypes interpolatedstringPerl6 mtl network + optparseApplicative postgresqlSimple safe SHA split + stringConversions time tls unorderedContainers utf8String wai warp + x509 yaml ]; meta = { license = self.stdenv.lib.licenses.mit; diff --git a/pkgs/tools/networking/sproxy/new-http-kit.patch b/pkgs/tools/networking/sproxy/new-http-kit.patch new file mode 100644 index 00000000000..c15c3f3989a --- /dev/null +++ b/pkgs/tools/networking/sproxy/new-http-kit.patch @@ -0,0 +1,224 @@ +From 383d2cbe240600a86ab99fdefcea4e913d171ec6 Mon Sep 17 00:00:00 2001 +From: Simon Hengel +Date: Thu, 24 Apr 2014 22:51:02 +0800 +Subject: [PATCH] Depend on http-kit >= 0.2 + +--- + sproxy.cabal | 2 +- + src/Authenticate.hs | 17 ++++++++--------- + src/HTTP.hs | 47 +++++++++-------------------------------------- + src/Proxy.hs | 32 ++++++++++++++------------------ + 4 files changed, 32 insertions(+), 66 deletions(-) + +diff --git a/sproxy.cabal b/sproxy.cabal +index 08e1d61..91adf5d 100644 +--- a/sproxy.cabal ++++ b/sproxy.cabal +@@ -49,7 +49,7 @@ executable sproxy + unix, + utf8-string, + x509, +- http-kit, ++ http-kit >= 0.2, + yaml >= 0.8 + default-language: Haskell2010 + ghc-options: -Wall -threaded -O2 +diff --git a/src/Authenticate.hs b/src/Authenticate.hs +index 7d4c218..15a69a9 100644 +--- a/src/Authenticate.hs ++++ b/src/Authenticate.hs +@@ -30,8 +30,7 @@ import System.Posix.Types (EpochTime) + import System.Posix.Time (epochTime) + import Data.Digest.Pure.SHA (hmacSha1, showDigest) + +-import Network.HTTP.Toolkit.Header +-import Network.HTTP.Toolkit.Request ++import Network.HTTP.Toolkit + + import Type + import Cookies +@@ -90,19 +89,19 @@ instance FromJSON UserInfo where + + -- https://wiki.zalora.com/Main_Page -> https://wiki.zalora.com/ + -- Note that this always uses https: +-rootURI :: RequestHeader -> URI.URI +-rootURI (MessageHeader _ headers) = ++rootURI :: Request a -> URI.URI ++rootURI (Request _ _ headers _) = + let host = cs $ fromMaybe (error "Host header not found") $ lookup "Host" headers + in URI.URI "https:" (Just $ URI.URIAuth "" host "") "/" "" "" + +-redirectForAuth :: AuthConfig -> RequestHeader -> SendData -> IO () +-redirectForAuth c request@(MessageHeader (_, path_) _) send = do ++redirectForAuth :: AuthConfig -> Request a -> SendData -> IO () ++redirectForAuth c request@(Request _ path_ _ _) send = do + let redirectUri = rootURI request + path = urlEncode True path_ + authURL = "https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&state=" ++ cs path ++ "&redirect_uri=" ++ (cs $ show $ redirectUri) ++ "&response_type=code&client_id=" ++ authConfigClientID c ++ "&approval_prompt=force&access_type=offline" +- sendResponse send found302 [("Location", UTF8.fromString $ authURL)] "" ++ sendResponse_ send found302 [("Location", UTF8.fromString $ authURL)] "" + +-authenticate :: AuthConfig -> SendData -> RequestHeader -> ByteString -> ByteString -> IO () ++authenticate :: AuthConfig -> SendData -> Request a -> ByteString -> ByteString -> IO () + authenticate config send request path code = do + tokenRes <- post "https://accounts.google.com/o/oauth2/token" ["code=" ++ UTF8.toString code, "client_id=" ++ clientID, "client_secret=" ++ clientSecret, "redirect_uri=" ++ (cs $ show $ rootURI request), "grant_type=authorization_code"] + case tokenRes of +@@ -121,7 +120,7 @@ authenticate config send request path code = do + Just userInfo -> do + clientToken <- authToken authTokenKey (userEmail userInfo) (userGivenName userInfo, userFamilyName userInfo) + let cookie = setCookie cookieDomain cookieName (show clientToken) authShelfLife +- sendResponse send found302 [("Location", cs $ (show $ (rootURI request) {URI.uriPath = ""}) ++ cs (urlDecode False path)), ("Set-Cookie", UTF8.fromString cookie)] "" ++ sendResponse_ send found302 [("Location", cs $ (show $ (rootURI request) {URI.uriPath = ""}) ++ cs (urlDecode False path)), ("Set-Cookie", UTF8.fromString cookie)] "" + where + cookieDomain = authConfigCookieDomain config + cookieName = authConfigCookieName config +diff --git a/src/HTTP.hs b/src/HTTP.hs +index 07038a0..dbcae71 100644 +--- a/src/HTTP.hs ++++ b/src/HTTP.hs +@@ -1,19 +1,14 @@ + {-# LANGUAGE OverloadedStrings #-} + module HTTP ( +- sendRequest +-, sendResponse +-, sendResponse_ ++ sendResponse_ + , internalServerError + ) where + +-import Data.Foldable (forM_) + import Data.ByteString (ByteString) +-import qualified Data.ByteString as B +-import qualified Data.ByteString.Char8 as B8 +-import qualified Data.ByteString.UTF8 as UTF8 +-import qualified Data.CaseInsensitive as CI ++import qualified Data.ByteString.Char8 as B + import Network.HTTP.Types +-import Network.HTTP.Toolkit.Body ++import Network.HTTP.Toolkit ++import qualified Network.HTTP.Toolkit.Body as Body + + import Type + import qualified Log +@@ -21,34 +16,10 @@ import qualified Log + internalServerError :: SendData -> String -> IO () + internalServerError send err = do + Log.debug $ show err +- sendResponse send internalServerError500 [] "Internal Server Error" ++ sendResponse_ send internalServerError500 [] "Internal Server Error" + +-sendRequest :: SendData -> Method -> ByteString -> [Header] -> BodyReader -> IO () +-sendRequest send method path headers body = do +- sendHeader send startLine headers +- sendBody send body ++sendResponse_ :: SendData -> Status -> [Header] -> ByteString -> IO () ++sendResponse_ send status headers_ body = do ++ Body.fromByteString body >>= sendResponse send . Response status headers + where +- startLine = B8.unwords [method, path, "HTTP/1.1"] +- +-sendResponse :: SendData -> Status -> [Header] -> ByteString -> IO () +-sendResponse send status headers_ body = do +- sendHeader send (statusLine status) headers +- send body +- where +- headers = ("Content-Length", UTF8.fromString $ show $ B.length body) : headers_ +- +-sendResponse_ :: SendData -> Status -> [Header] -> BodyReader -> IO () +-sendResponse_ send status headers body = do +- sendHeader send (statusLine status) headers +- sendBody send body +- +-statusLine :: Status -> ByteString +-statusLine status = B.concat ["HTTP/1.1 ", UTF8.fromString $ show (statusCode status), " ", statusMessage status] +- +-sendHeader :: SendData -> ByteString -> [Header] -> IO () +-sendHeader send startLine headers = do +- send startLine +- send "\r\n" +- forM_ headers $ \(k, v) -> do +- send $ B.concat [CI.original k, ": ", v, "\r\n"] +- send "\r\n" ++ headers = ("Content-Length", B.pack . show . B.length $ body) : headers_ +diff --git a/src/Proxy.hs b/src/Proxy.hs +index aa320af..88b95d9 100644 +--- a/src/Proxy.hs ++++ b/src/Proxy.hs +@@ -32,11 +32,7 @@ import qualified Network.URI as URI + import Options.Applicative hiding (action) + import System.IO + +-import Network.HTTP.Toolkit.Body +-import Network.HTTP.Toolkit.Header +-import Network.HTTP.Toolkit.Connection +-import Network.HTTP.Toolkit.Request +-import Network.HTTP.Toolkit.Response ++import Network.HTTP.Toolkit + + import Type + import Util +@@ -142,10 +138,10 @@ runProxy port config authConfig authorize = (listen port (serve config authConfi + redirectToHttps :: SockAddr -> Socket -> IO () + redirectToHttps _ sock = do + conn <- makeConnection (Socket.recv sock 4096) +- (request, _) <- readRequest conn +- sendResponse (Socket.sendAll sock) seeOther303 [("Location", cs $ show $ requestURI request)] "" ++ request <- readRequest conn ++ sendResponse_ (Socket.sendAll sock) seeOther303 [("Location", cs $ show $ requestURI request)] "" + where +- requestURI (MessageHeader (_, path) headers) = ++ requestURI (Request _ path headers _) = + let host = fromMaybe (error "Host header not found") $ lookup "Host" headers + in fromJust $ URI.parseURI $ "https://" ++ cs host ++ cs path + +@@ -171,8 +167,8 @@ serve config authConfig withAuthorizeAction addr sock = do + serve_ send conn authorize = go + where + go :: IO () +- go = forever $ readRequest conn >>= \(request, body) -> case request of +- MessageHeader (_, url) headers -> do ++ go = forever $ readRequest conn >>= \request -> case request of ++ Request _ url headers _ -> do + -- TODO: Don't loop for more input on Connection: close header. + -- Check if this is an authorization response. + case URI.parseURIReference $ BU.toString url of +@@ -192,17 +188,17 @@ serve config authConfig withAuthorizeAction addr sock = do + case auth of + Nothing -> redirectForAuth authConfig request send + Just token -> do +- forwardRequest config send authorize cookies addr request body token ++ forwardRequest config send authorize cookies addr request token + + -- Check our access control list for this user's request and forward it to the backend if allowed. +-forwardRequest :: Config -> SendData -> AuthorizeAction -> [(Name, Cookies.Value)] -> SockAddr -> RequestHeader -> BodyReader -> AuthToken -> IO () +-forwardRequest config send authorize cookies addr (MessageHeader (method, path) headers) body token = do ++forwardRequest :: Config -> SendData -> AuthorizeAction -> [(Name, Cookies.Value)] -> SockAddr -> Request BodyReader -> AuthToken -> IO () ++forwardRequest config send authorize cookies addr request@(Request method path headers _) token = do + groups <- authorize (authEmail token) (maybe (error "No Host") cs $ lookup "Host" headers) path method + ip <- formatSockAddr addr + case groups of + [] -> do + -- TODO: Send back a page that allows the user to request authorization. +- sendResponse send forbidden403 [] "Access Denied" ++ sendResponse_ send forbidden403 [] "Access Denied" + _ -> do + -- TODO: Reuse connections to the backend server. + let downStreamHeaders = +@@ -216,10 +212,10 @@ forwardRequest config send authorize cookies addr (MessageHeader (method, path) + setCookies $ + fromList headers + bracket (connectTo host port) hClose $ \h -> do +- sendRequest (B.hPutStr h) method path downStreamHeaders body +- conn <- makeConnection (B.hGetSome h 4096) +- (MessageHeader status responseHeaders, responseBody) <- readResponse method conn +- sendResponse_ send status (removeConnectionHeader responseHeaders) responseBody ++ sendRequest (B.hPutStr h) request{requestHeaders = downStreamHeaders} ++ conn <- connectionFromHandle h ++ response <- readResponse method conn ++ sendResponse send response{responseHeaders = removeConnectionHeader (responseHeaders response)} + where + host = configBackendAddress config + port = PortNumber (configBackendPort config) +-- +1.9.1 + diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix index d95c5b5f6bb..376717bbf7a 100644 --- a/pkgs/tools/networking/unbound/default.nix +++ b/pkgs/tools/networking/unbound/default.nix @@ -1,22 +1,23 @@ -{ stdenv, fetchurl, openssl, expat, libevent, ldns }: +{ stdenv, fetchurl, openssl, expat, libevent }: stdenv.mkDerivation rec { - name = "unbound-1.4.21"; + name = "unbound-1.4.22"; src = fetchurl { url = "http://unbound.net/downloads/${name}.tar.gz"; - sha256 = "0w09m2rbn688rsk37k5xm3vkk5h2hxhivsr374j7h7vjf9x82bsh"; + sha256 = "17yjly9c00zfgbzvllqzjh668a4yk6vrinf47yrcs3hrna0m1bqw"; }; - buildInputs = [openssl expat libevent ldns]; + buildInputs = [openssl expat libevent]; configureFlags = [ "--with-ssl=${openssl}" "--with-libexpat=${expat}" "--localstatedir=/var" ]; meta = { description = "Validating, recursive, and caching DNS resolver"; - license = "BSD"; + license = stdenv.lib.licenses.bsd3; homepage = http://www.unbound.net; - platforms = with stdenv.lib.platforms; linux; + maintainers = [ stdenv.lib.maintainers.emery ]; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/tools/networking/wicd/default.nix b/pkgs/tools/networking/wicd/default.nix index 524c93d218a..e0537c8e1fa 100644 --- a/pkgs/tools/networking/wicd/default.nix +++ b/pkgs/tools/networking/wicd/default.nix @@ -2,9 +2,6 @@ wpa_supplicant, dhcp, dhcpcd, wirelesstools, nettools, openresolv, iproute, iputils, pythonPackages, locale ? "C" }: -# Wicd has a ncurses interface that we do not build because it depends -# on urwid which has not been packaged at this time (2009-12-27). - stdenv.mkDerivation rec { name = "wicd-${version}"; version = "1.7.2.4"; @@ -14,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "15ywgh60xzmp5z8l1kzics7yi95isrjg1paz42dvp7dlpdfzpzfw"; }; - buildInputs = [ python pythonPackages.Babel ]; + buildInputs = [ python pythonPackages.Babel pythonPackages.urwid ]; patches = [ ./no-var-install.patch @@ -83,7 +80,6 @@ stdenv.mkDerivation rec { --no-install-kde \ --no-install-acpi \ --no-install-pmutils \ - --no-install-ncurses \ ''; installPhase = '' diff --git a/pkgs/tools/package-management/cabal-install/1.20.0.2.nix b/pkgs/tools/package-management/cabal-install/1.20.0.2.nix new file mode 100644 index 00000000000..dba92ab9321 --- /dev/null +++ b/pkgs/tools/package-management/cabal-install/1.20.0.2.nix @@ -0,0 +1,30 @@ +{ cabal, Cabal, filepath, HTTP, HUnit, mtl, network, QuickCheck +, random, stm, testFramework, testFrameworkHunit +, testFrameworkQuickcheck2, time, zlib +}: + +cabal.mkDerivation (self: { + pname = "cabal-install"; + version = "1.20.0.2"; + sha256 = "1nsc8qklhlg2xpaj7k158gg45rlrp7mn15zyfsgjpaqf3rjm9dl4"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + Cabal filepath HTTP mtl network random stm time zlib + ]; + testDepends = [ + Cabal filepath HTTP HUnit mtl network QuickCheck stm testFramework + testFrameworkHunit testFrameworkQuickcheck2 time zlib + ]; + postInstall = '' + mkdir $out/etc + mv bash-completion $out/etc/bash_completion.d + ''; + meta = { + homepage = "http://www.haskell.org/cabal/"; + description = "The command-line interface for Cabal and Hackage"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix index 4d03ec9ab66..381cb21ec1b 100644 --- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix +++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation { url = http://hydra.nixos.org/build/910953/download/4/DisnixWebService-0.2.tar.bz2; sha256 = "1469l2ykhdjmplkw01x64f7aq9rms05ig9sagyb8l2zksjm6lla8"; }; - buildInputs = [ apacheAnt ]; + buildInputs = [ apacheAnt jdk ]; PREFIX = ''''${env.out}''; AXIS2_LIB = "${axis2}/lib"; AXIS2_WEBAPP = "${axis2}/webapps/axis2"; diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix index b23c8139309..b85591b0695 100644 --- a/pkgs/tools/package-management/nixops/default.nix +++ b/pkgs/tools/package-management/nixops/default.nix @@ -1,12 +1,12 @@ { lib, pythonPackages, fetchurl, libxslt, docbook5_xsl, openssh }: pythonPackages.buildPythonPackage rec { - name = "nixops-1.1.1"; + name = "nixops-1.2"; namePrefix = ""; src = fetchurl { url = "http://nixos.org/releases/nixops/${name}/${name}.tar.bz2"; - sha256 = "0hb77cf9l8qcjp6a1gzkzv7k10j5zvp23ilxgx5x6j93602d5jwb"; + sha256 = "06cf54c62a810cac5013d57d31707f0a6381b409485503a94a57ce6d8a1ac12b"; }; buildInputs = [ libxslt ]; diff --git a/pkgs/tools/security/cb1cat/default.nix b/pkgs/tools/security/cb1cat/default.nix deleted file mode 100644 index 546ace2d8ed..00000000000 --- a/pkgs/tools/security/cb1cat/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ 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/haveged/default.nix b/pkgs/tools/security/haveged/default.nix index 48f9727b3c0..1701d4cb46f 100644 --- a/pkgs/tools/security/haveged/default.nix +++ b/pkgs/tools/security/haveged/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "haveged-${version}"; - version = "1.7c"; + version = "1.9.1"; src = fetchurl { url = "http://www.issihosts.com/haveged/haveged-${version}.tar.gz"; - sha256 = "08gi3d9lbrllk5lyxw8l65py88xhia48w758lqjddh3gv7g7wfa0"; + sha256 = "059pxlfd4l5dqhd6r3lynzfz4wby2f17294fy17pi9j2jpnn68ww"; }; meta = { diff --git a/pkgs/tools/security/mkpasswd/default.nix b/pkgs/tools/security/mkpasswd/default.nix index 624fcdbe6c6..8975ca4324d 100644 --- a/pkgs/tools/security/mkpasswd/default.nix +++ b/pkgs/tools/security/mkpasswd/default.nix @@ -1,14 +1,15 @@ -{ stdenv, fetchurl -}: - +{ stdenv, fetchFromGitHub }: + stdenv.mkDerivation rec { name = "mkpasswd-${version}"; version = "5.1.1"; - src = fetchurl { - url = "http://ftp.debian.org/debian/pool/main/w/whois/whois_${version}.tar.xz"; - sha256 = "0i06a9mb9qcq272782mg6dffv3k7bqkw4cdr31yrc0s6jqylryv9"; + src = fetchFromGitHub { + owner = "rfc1036"; + repo = "whois"; + rev = "v${version}"; + sha256 = "026x8byx8pcpkdxca64368p0nlspk4phw18jg4p04di6cg6nc1m5"; }; preConfigure = '' @@ -19,10 +20,11 @@ stdenv.mkDerivation rec { installPhase = "make install-mkpasswd"; - meta = { - homepage = http://ftp.debian.org/debian/pool/main/w/whois/; - description = '' - Overfeatured front end to crypt, from the Debian whois package. - ''; + meta = with stdenv.lib; { + homepage = http://packages.qa.debian.org/w/whois.html; + description = "Overfeatured front-end to crypt, from the Debian whois package"; + license = licenses.gpl2; + maintainers = [ maintainers.cstrahan ]; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/security/pass/darwin-getopt.patch b/pkgs/tools/security/pass/darwin-getopt.patch new file mode 100644 index 00000000000..8cdcd67bc65 --- /dev/null +++ b/pkgs/tools/security/pass/darwin-getopt.patch @@ -0,0 +1,11 @@ +diff --git a/src/platform/darwin.sh b/src/platform/darwin.sh +index 1b76c33..fa40104 100644 +--- a/src/platform/darwin.sh ++++ b/src/platform/darwin.sh +@@ -31,5 +31,5 @@ tmpdir() { + mount -t hfs -o noatime -o nobrowse "$ramdisk_dev" "$SECURE_TMPDIR" || exit 1 + } + +-GETOPT="$(brew --prefix gnu-getopt 2>/dev/null || echo /usr/local)/bin/getopt" ++GETOPT="getopt" + SHRED="srm -f -z" diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix index e78002837c7..505bdd2efc8 100644 --- a/pkgs/tools/security/pass/default.nix +++ b/pkgs/tools/security/pass/default.nix @@ -3,14 +3,16 @@ , makeWrapper }: stdenv.mkDerivation rec { - version = "1.4.2"; + version = "1.6.2"; name = "password-store-${version}"; src = fetchurl { url = "http://git.zx2c4.com/password-store/snapshot/${name}.tar.xz"; - sha256 = "00m3q6dihrhw8cxsrham3bdqg5841an8ch4s3a4k5fynlcb802m1"; + sha256 = "1d32y6k625pv704icmhg46zg02kw5zcyxscgljxgy8bb5wv4lv2j"; }; + patches = [ ./darwin-getopt.patch ]; + buildInputs = [ makeWrapper ]; meta = with stdenv.lib; { @@ -30,21 +32,16 @@ stdenv.mkDerivation rec { }; installPhase = '' - # link zsh and fish completions - sed -ie '22s/^#//' Makefile - sed -ie '25s/^#//' Makefile - sed -i 's/find /find -L /' contrib/pass.zsh-completion mkdir -p "$out/share/zsh/site-functions" mkdir -p "$out/share/fish/completions" - # use gnused - sed -i 's/sed -i ""/sed -i /' Makefile + # Install Emacs Mode. NOTE: We can't install the necessary + # dependencies (s.el and f.el) here. The user has to do this + # himself. + mkdir -p "$out/share/emacs/site-lisp" + cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/" - SYSCONFDIR="$out/etc" PREFIX="$out" make install - '' + stdenv.lib.optionalString stdenv.isDarwin '' - # use nix-supplied getopt - sed -ie '34c GETOPT="${getopt}/bin/getopt"' \ - "$out/lib/password-store.platform.sh" + PREFIX="$out" make install ''; postFixup = '' diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix index 81efd4841a6..4d1d55244c0 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/tor/default.nix b/pkgs/tools/security/tor/default.nix index dd4d797825f..5062d26595e 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libevent, openssl, zlib }: stdenv.mkDerivation rec { - name = "tor-0.2.3.25"; + name = "tor-0.2.4.21"; src = fetchurl { - url = "http://www.torproject.org/dist/${name}.tar.gz"; - sha256 = "bb2d6f1136f33e11d37e6e34184143bf191e59501613daf33ae3d6f78f3176a0"; + url = "https://archive.torproject.org/tor-package-archive/${name}.tar.gz"; + sha256 = "1kpijqapml7y4sl54qgyrzppxxhmy4xgk2y7wkqwjxn7q24g97d1"; }; buildInputs = [ libevent openssl zlib ]; diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix index 2554e999e0d..8ee33272eda 100644 --- a/pkgs/tools/security/tor/torbrowser.nix +++ b/pkgs/tools/security/tor/torbrowser.nix @@ -20,13 +20,13 @@ let in stdenv.mkDerivation rec { name = "tor-browser-${version}"; - version = "3.5"; + version = "3.6.1"; src = fetchurl { - url = "https://www.torproject.org/dist/torbrowser/${version}/tor-browser-linux${bits}-${version}_en-US.tar.xz"; + url = "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux${bits}-${version}_en-US.tar.xz"; sha256 = if bits == "64" then - "e448dc90365a88d73a6ff85347adbe763ef0f800d0cb2e7b7165d7f0646f7c41" else - "b0b29b4e75cd4a1aaecf7f4716216edcfc5947516744e2eaeae38bec1d03cea1"; + "1461l54zc7xgx2zcmi8wra38dknjyy8d2xk84chrwl6ckn2dfzv3" else + "183a1wf4a88sijfqr3m6gmvncq8w60i2rkymccg422n7q96j7hqs"; }; patchPhase = '' diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix index b8b2e2cbcdc..8e4848f2db6 100644 --- a/pkgs/tools/system/monit/default.nix +++ b/pkgs/tools/system/monit/default.nix @@ -1,30 +1,25 @@ -a : -let - s = import ./src-for-default.nix; - buildInputs = with a; [ - bison flex openssl - ]; -in -rec { - src = a.fetchUrlFromSrcInfo s; +{stdenv, fetchurl, openssl, bison, flex, pam, usePAM ? stdenv.isLinux }: - inherit (s) name; - inherit buildInputs; +stdenv.mkDerivation rec { + name = "monit-5.8.1"; + + src = fetchurl { + url = "${meta.homepage}dist/${name}.tar.gz"; + sha256 = "1rbhr3aff8pbiz60r73607hci4yngv5xq1b6yjx9xhks4mwlnpm2"; + }; + + nativeBuildInputs = [ bison flex ]; + buildInputs = [ openssl ] ++ stdenv.lib.optionals usePAM [ pam ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["preConfigure" "doConfigure" "doMakeInstall"]; configureFlags = [ - "--with-ssl-incl-dir=${a.openssl}/include" - "--with-ssl-lib-dir=${a.openssl}/lib" - ]; - preConfigure = a.fullDepEntry ('' - sed -e 's@/bin/@@' -i Makefile.in - '') ["doUnpack" "minInit"]; - + "--with-ssl-incl-dir=${openssl}/include" + "--with-ssl-lib-dir=${openssl}/lib" + ] ++ stdenv.lib.optionals (! usePAM) [ "--without-pam" ]; + meta = { + homepage = http://mmonit.com/monit/; description = "Monitoring system"; - maintainers = [ - a.lib.maintainers.raskin - ]; + license = stdenv.lib.licenses.agpl3; + maintainer = with stdenv.lib.maintainers; [ raskin wmertens ]; }; } diff --git a/pkgs/tools/system/monit/src-for-default.nix b/pkgs/tools/system/monit/src-for-default.nix deleted file mode 100644 index b74958ae19a..00000000000 --- a/pkgs/tools/system/monit/src-for-default.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="5.5"; - name="monit-5.5"; - hash="0lvw9llsnaj72dp6di74sc4sxpa4q3g23m28jwy4brphndhb0xl2"; - url="http://mmonit.com/monit/download/../dist/monit-${version}.tar.gz"; - advertisedUrl="http://mmonit.com/monit/download/../dist/monit-5.5.tar.gz"; - - -} diff --git a/pkgs/tools/system/monit/src-info-for-default.nix b/pkgs/tools/system/monit/src-info-for-default.nix deleted file mode 100644 index 691984a9fd5..00000000000 --- a/pkgs/tools/system/monit/src-info-for-default.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - downloadPage = "http://mmonit.com/monit/download/"; - baseName = "monit"; -} diff --git a/pkgs/tools/system/plan9port/builder.sh b/pkgs/tools/system/plan9port/builder.sh index bf5e6eeffa5..729da7015d9 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 e5ec557a79a..f166f198b70 100644 --- a/pkgs/tools/system/plan9port/default.nix +++ b/pkgs/tools/system/plan9port/default.nix @@ -1,8 +1,14 @@ -{stdenv, fetchurl, libX11, xproto, libXt, xextproto, libXext}: +{stdenv, fetchurl, libX11 +, xproto ? null +, libXt ? null +, xextproto ? null +, libXext ? null }: stdenv.mkDerivation rec { name = "plan9port-20140228"; - + + patches = [ ./fontsrv.patch ]; + builder = ./builder.sh; src = fetchurl { @@ -10,7 +16,7 @@ stdenv.mkDerivation rec { 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 00000000000..49fd9c04231 --- /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 00000000000..9be2a709af5 --- /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/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix index 184701ceb59..cbffd8648d4 100644 --- a/pkgs/tools/system/syslog-ng/default.nix +++ b/pkgs/tools/system/syslog-ng/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, eventlog, pkgconfig, glib, python }: stdenv.mkDerivation { - name = "syslog-ng-3.5.3"; + name = "syslog-ng-3.5.4.1"; src = fetchurl { - url = "http://www.balabit.com/downloads/files?path=/syslog-ng/sources/3.5.3/source/syslog-ng_3.5.3.tar.gz"; - sha256 = "1l3424qn9bf9z742pqba8x3dj7g729asimmhlizv1rvjlaxa2jd3"; + url = "http://www.balabit.com/downloads/files?path=/syslog-ng/sources/3.5.4.1/source/syslog-ng_3.5.4.1.tar.gz"; + sha256 = "0rkgrmnyx1x6m3jw5n49k7r1dcg79lxh900g74rgvd3j86g9dilj"; }; buildInputs = [ eventlog pkgconfig glib python ]; diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix index a7d5bed6642..dc61723e597 100644 --- a/pkgs/tools/text/dos2unix/default.nix +++ b/pkgs/tools/text/dos2unix/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, perl, gettext }: stdenv.mkDerivation { - name = "dos2unix-6.0.4"; + name = "dos2unix-6.0.5"; src = fetchurl { - url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.4.tar.gz; - sha256 = "0ymkp55shilzcrn60w1ni92gck7pbqxhi9qsnsii7gkz996j5gb6"; + url = http://waterlan.home.xs4all.nl/dos2unix/dos2unix-6.0.5.tar.gz; + sha256 = "13w5blhv0i473y9lyrxh4axz4niyrxcpj4v2qiq3w5kamyp20czx"; }; configurePhase = '' diff --git a/pkgs/tools/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix index f25c41b72b9..7bb7060d5c2 100644 --- a/pkgs/tools/text/enscript/default.nix +++ b/pkgs/tools/text/enscript/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/enscript/; - maintainer = [ stdenv.lib.maintainers.ludo ]; + maintainers = [ stdenv.lib.maintainers.ludo ]; platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/tools/text/kakasi/default.nix b/pkgs/tools/text/kakasi/default.nix new file mode 100644 index 00000000000..b73654da405 --- /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/patchutils/default.nix b/pkgs/tools/text/patchutils/default.nix index 0ab73142ea0..4df52eef669 100644 --- a/pkgs/tools/text/patchutils/default.nix +++ b/pkgs/tools/text/patchutils/default.nix @@ -1,17 +1,20 @@ { stdenv, fetchurl }: -stdenv.mkDerivation { - name = "patchutils-0.3.0"; +stdenv.mkDerivation rec { + name = "patchutils-0.3.3"; src = fetchurl { - url = http://cyberelk.net/tim/data/patchutils/stable/patchutils-0.3.0.tar.bz2; - sha256 = "08jzvprhpcgwvx0xlkwc8dbdd9ilvwyr3cwnq96xmbfipch69yi7"; + url = "http://cyberelk.net/tim/data/patchutils/stable/${name}.tar.xz"; + sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i"; }; - meta = { + patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one + + meta = with stdenv.lib; { description = "Tools to manipulate patch files"; homepage = http://cyberelk.net/tim/software/patchutils; - license = "GPLv2"; + license = licenses.gpl2Plus; + platforms = platforms.all; executables = [ "combinediff" "dehtmldiff" "editdiff" "espdiff" "filterdiff" "fixcvsdiff" "flipdiff" "grepdiff" "interdiff" "lsdiff" "recountdiff" "rediff" "splitdiff" "unwrapdiff" ]; diff --git a/pkgs/tools/text/patchutils/drop-comments.patch b/pkgs/tools/text/patchutils/drop-comments.patch new file mode 100644 index 00000000000..e02693a5683 --- /dev/null +++ b/pkgs/tools/text/patchutils/drop-comments.patch @@ -0,0 +1,84 @@ +From 58987954647f51dc42fb13b7759923c6170dd905 Mon Sep 17 00:00:00 2001 +From: Tim Waugh +Date: Fri, 9 May 2014 16:23:27 +0100 +Subject: Make --clean drop comments after '@@' lines as well (trac #29). + + +diff --git a/Makefile.am b/Makefile.am +index 99ad2a3..f3c6dbc 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -198,6 +198,7 @@ TESTS = tests/newline1/run-test \ + tests/convert1/run-test \ + tests/convert2/run-test \ + tests/clean1/run-test \ ++ tests/clean2/run-test \ + tests/stdin/run-test + + # These ones don't work yet. +diff --git a/src/filterdiff.c b/src/filterdiff.c +index 383e72b..6ca2316 100644 +--- a/src/filterdiff.c ++++ b/src/filterdiff.c +@@ -2,7 +2,7 @@ + * filterdiff - extract (or exclude) a diff from a diff file + * lsdiff - show which files are modified by a patch + * grepdiff - show files modified by a patch containing a regexp +- * Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2011 Tim Waugh ++ * Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2011, 2013, 2014 Tim Waugh + * + * 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 +@@ -408,7 +408,8 @@ do_unified (FILE *f, char *header[2], int match, char **line, + " Hunk #%lu, %s", + hunknum, bestname); + +- fputs (trailing, output_to); ++ fputs (clean_comments ? "\n" : trailing, ++ output_to); + break; + case Before: + // Note the initial line number +diff --git a/tests/clean2/run-test b/tests/clean2/run-test +new file mode 100755 +index 0000000..42320df +--- /dev/null ++++ b/tests/clean2/run-test +@@ -0,0 +1,34 @@ ++#!/bin/sh ++ ++# This is a filterdiff(1) testcase. ++# Test: Make sure --clean removes hunk-level comments. ++ ++ ++. ${top_srcdir-.}/tests/common.sh ++ ++cat << EOF > diff ++non-diff line ++--- a/file1 +++++ b/file1 ++@@ -0,0 +1 @@ this is a hunk-level comment +++a ++EOF ++ ++${FILTERDIFF} --clean diff 2>errors >filtered || exit 1 ++[ -s errors ] && exit 1 ++ ++cat << EOF | cmp - filtered || exit 1 ++--- a/file1 +++++ b/file1 ++@@ -0,0 +1 @@ +++a ++EOF ++ ++${FILTERDIFF} --clean -x file1 diff 2>errors >filtered || exit 1 ++[ -s errors ] && exit 1 ++cat << EOF | cmp - filtered || exit 1 ++--- a/file1 +++++ b/file1 ++@@ -0,0 +1 @@ +++a ++EOF +-- +cgit v0.10.1 + diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix index db9ed5d30f3..21b35682e4e 100644 --- a/pkgs/tools/text/recode/default.nix +++ b/pkgs/tools/text/recode/default.nix @@ -1,14 +1,15 @@ # XXX: this may need -liconv on non-glibc systems.. -{ stdenv, fetchgit, python, perl, autoconf, automake, libtool, intltool, flex }: +{ stdenv, fetchFromGitHub, python, perl, autoconf, automake, libtool, intltool, flex }: stdenv.mkDerivation rec { - name = "recode-3.7-pff85fdbd"; + name = "recode-3.7-2fd838565"; - src = fetchgit { - url = https://github.com/pinard/Recode.git; + src = fetchFromGitHub { + owner = "pinard"; + repo = "Recode"; rev = "2fd8385658e5a08700e3b916053f6680ff85fdbd"; - sha256 = "1xhlfmqld6af16l444jli9crj9brym2jihg1n6lkxh2gar68f5l7"; + sha256 = "06vyjqaraamcc5vka66mlvxj27ihccqc74aymv2wn8nphr2rhh03"; }; buildInputs = [ python perl autoconf automake libtool intltool flex ]; @@ -21,6 +22,9 @@ stdenv.mkDerivation rec { substituteInPlace src/Makefile.am --replace "ansi2knr" "" autoreconf -fi + '' + + stdenv.lib.optionalString stdenv.isDarwin '' + export LDFLAGS=-lintl ''; #doCheck = true; # doesn't work yet diff --git a/pkgs/tools/text/xml/basex/default.nix b/pkgs/tools/text/xml/basex/default.nix index 2484aac8b0d..c67444838b2 100644 --- a/pkgs/tools/text/xml/basex/default.nix +++ b/pkgs/tools/text/xml/basex/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, unzip, jre, coreutils, makeDesktopItem }: stdenv.mkDerivation rec { - name = "basex-7.7.2"; + name = "basex-7.8.2"; src = fetchurl { - url = "http://files.basex.org/releases/7.7.2/BaseX772.zip"; - sha256 = "1rh91rzgca1waq8jnd3ard1r04qlalc2qqrawmrahwxgf3f16f4a"; + url = "http://files.basex.org/releases/7.8.2/BaseX782.zip"; + sha256 = "0i9h7fsvn8cy1g44f23iyqndwamvx4kvyc4y3i00j15qm6qd2kbm"; }; buildInputs = [ unzip jre ]; diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index 85de3dc08cf..22ce7739a74 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -5,16 +5,16 @@ rec { sha256 = "1idgyim6r4bi3id245k616qrdarfh65xv3gi2psarqqmsw504yhd"; }; - texmfVersion = "2013.20140314"; + texmfVersion = "2013.20140408"; texmfSrc = fetchurl { url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz"; - sha256 = "0f2dxm0ac4j04w1rgjpdranpprjghw8slvijknykpvph1jn0lmzm"; + sha256 = "1pdbbp4sy6kypiqss9zfvr3m0agqzghagfr609pfjh9ka3ihv0kh"; }; - langTexmfVersion = "2013.20140314"; + langTexmfVersion = "2013.20140408"; langTexmfSrc = fetchurl { url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz"; - sha256 = "154g300nbg4fhxprvi9fwr7wmpws4cg89m9nwsfpyf0m2k8n9ibx"; + sha256 = "05qyhcfdbrrc8mnps5sv3fggjbxdj3bp9jd12ldzkjxxdbzhp475"; }; passthru = { inherit texmfSrc langTexmfSrc; }; @@ -119,18 +119,17 @@ rec { "--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" + # jww (2014-06-02): The following fails with: + # FAIL: tests/dvisvgm + # =================== + # + # dyld: Library not loaded: libgs.dylib.9.06 + # Referenced from: .../Work/texk/dvisvgm/.libs/dvisvgm + # Reason: image not found + "--disable-dvisvgm" ]; phaseNames = [ "addInputs" "doMainBuild" "doMakeInstall" "doPostInstall" ]; diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix index 10b9962936d..8549c8c4548 100644 --- a/pkgs/tools/typesetting/tex/texlive/extra.nix +++ b/pkgs/tools/typesetting/tex/texlive/extra.nix @@ -1,11 +1,11 @@ args: with args; rec { name = "texlive-extra-2013"; - version = "2013.20140314"; + version = "2013.20140408"; src = fetchurl { url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz"; - sha256 = "6b4216fe87c354a0c3c8ec456272cc096a7ec112a68031797ae23f18e1e5b74c"; + sha256 = "0d6b5kip7j8ljqn92bkdncvqxyk2756404hzsp4mh0s1jhfwws7y"; }; buildInputs = [texLive xz]; diff --git a/pkgs/tools/video/rtmpdump/default.nix b/pkgs/tools/video/rtmpdump/default.nix index 615f300aaf5..2034331c8e0 100644 --- a/pkgs/tools/video/rtmpdump/default.nix +++ b/pkgs/tools/video/rtmpdump/default.nix @@ -4,8 +4,8 @@ stdenv.mkDerivation { name = "rtmpdump-2.4"; src = fetchgit { url = git://git.ffmpeg.org/rtmpdump; - rev = "c28f1bab7822de97353849e7787b59e50bbb1428"; - sha256 = "927e7ea7a686adb7cbce9d0a0c710de1e0921bbb1f0c1b35d17bdb816e6c73d8"; + rev = "79459a2b43f41ac44a2ec001139bcb7b1b8f7497"; + sha256 = "5af22362004566794035f989879b13d721f85d313d752abd10a7e45806e3944c"; }; buildInputs = [ zlib gnutls libgcrypt ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 888f62d0f06..e785945815d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -303,10 +303,32 @@ let inherit stdenv git cacert; }; + fetchgitPrivate = args: derivation ((fetchgit args).drvAttrs // { + SSH_AUTH_SOCK = if (builtins.tryEval ).success + then builtins.toString + else null; + GIT_SSH = pkgs.writeScript "fetchgit-ssh" '' + #! ${pkgs.stdenv.shell} + exec -a ssh ${pkgs.openssh}/bin/ssh -F ${let + sshConfigFile = if (builtins.tryEval ).success + then + else builtins.trace '' + Please set your nix-path such that ssh-config-file points to a file that will allow ssh to access private repositories. The builder will not be able to see any running ssh agent sessions unless ssh-auth-sock is also set in the nix-path. + + Note that the config file and any keys it points to must be readable by the build user, which depending on your nix configuration means making it readable by the build-users-group, the user of the running nix-daemon, or the user calling the nix command which started the build. Similarly, if using an ssh agent ssh-auth-sock must point to a socket the build user can access. + + You may need StrictHostKeyChecking=no in the config file. Since ssh will refuse to use a group-readable private key, if using build-users you will likely want to use something like IdentityFile /some/directory/%u/key and have a directory for each build user accessible to that user. + '' "/var/lib/empty/config"; + in builtins.toString sshConfigFile} "$@" + ''; + }); + fetchgitrevision = import ../build-support/fetchgitrevision runCommand git; fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {}); + fetchpatch = callPackage ../build-support/fetchpatch { }; + fetchsvn = import ../build-support/fetchsvn { inherit stdenv subversion openssh; sshSupport = true; @@ -329,7 +351,7 @@ let }; # A wrapper around fetchurl that generates miror://gnome URLs automatically - fetchurl_gnome = callPackage ../build-support/fetchurl/gnome.nix { }; + fetchurlGnome = callPackage ../build-support/fetchurl/gnome.nix { }; # fetchurlBoot is used for curl and its dependencies in order to # prevent a cyclic dependency (curl depends on curl.tar.bz2, @@ -338,11 +360,21 @@ let # linked curl in the case of stdenv-linux). fetchurlBoot = stdenv.fetchurlBoot; + fetchzip = import ../build-support/fetchzip { inherit lib fetchurl unzip; }; + + fetchFromGitHub = { owner, repo, rev, sha256 }: fetchzip { + name = "${repo}-${rev}-src"; + url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"; + inherit sha256; + }; + resolveMirrorURLs = {url}: fetchurl { showURLs = true; inherit url; }; + libredirect = callPackage ../build-support/libredirect { }; + makeDesktopItem = import ../build-support/make-desktopitem { inherit stdenv; }; @@ -418,7 +450,7 @@ let aefs = callPackage ../tools/filesystems/aefs { }; aegisub = callPackage ../applications/video/aegisub { - wxGTK = wxGTK29; + wxGTK = wxGTK30; lua = lua5_1; }; @@ -426,20 +458,24 @@ 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 {}; + apktool = callPackage ../development/tools/apktool { + buildTools = androidenv.buildTools; + }; + apt-offline = callPackage ../tools/misc/apt-offline { }; archivemount = callPackage ../tools/filesystems/archivemount { }; arandr = callPackage ../tools/X11/arandr { }; + arcanist = callPackage ../development/tools/misc/arcanist {}; + arduino_core = callPackage ../development/arduino/arduino-core { jdk = jdk; jre = jdk; @@ -491,7 +527,9 @@ let otool = callPackage ../os-specific/darwin/otool { }; - pass = callPackage ../tools/security/pass { }; + pass = callPackage ../tools/security/pass { + gnupg = gnupg1compat; + }; setfile = callPackage ../os-specific/darwin/setfile { }; @@ -578,6 +616,10 @@ let capstone = callPackage ../development/libraries/capstone { }; + coprthr = callPackage ../development/libraries/coprthr { + flex = flex_2_5_35; + }; + ditaa = callPackage ../tools/graphics/ditaa { }; direnv = callPackage ../tools/misc/direnv { }; @@ -598,6 +640,8 @@ let mcrl2 = callPackage ../tools/misc/mcrl2 { }; + mpdcron = callPackage ../tools/audio/mpdcron { }; + syslogng = callPackage ../tools/system/syslog-ng { }; rsyslog = callPackage ../tools/system/rsyslog { }; @@ -606,6 +650,10 @@ let mcelog = callPackage ../os-specific/linux/mcelog { }; + apparix = callPackage ../tools/misc/apparix { }; + + appdata-tools = callPackage ../tools/misc/appdata-tools { }; + asciidoc = callPackage ../tools/typesetting/asciidoc { inherit (pythonPackages) matplotlib numpy aafigure recursivePthLoader; enableStandardFeatures = false; @@ -663,12 +711,16 @@ let par2Support = (config.bup.par2Support or false); }; + ori = callPackage ../tools/backup/ori { }; + atool = callPackage ../tools/archivers/atool { }; bzip2 = callPackage ../tools/compression/bzip2 { }; cabextract = callPackage ../tools/archivers/cabextract { }; + cantata = callPackage ../applications/audio/cantata { }; + can-utils = callPackage ../os-specific/linux/can-utils { }; ccid = callPackage ../tools/security/ccid { }; @@ -741,6 +793,8 @@ let usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { }; + biosdevname = callPackage ../tools/networking/biosdevname { }; + clamav = callPackage ../tools/security/clamav { }; cloc = callPackage ../tools/misc/cloc { @@ -785,6 +839,8 @@ let curlftpfs = callPackage ../tools/filesystems/curlftpfs { }; + cutter = callPackage ../tools/networking/cutter { }; + dadadodo = builderDefsPackage (import ../tools/text/dadadodo) { }; daq = callPackage ../applications/networking/ids/daq { }; @@ -827,8 +883,6 @@ let dhcpcd = callPackage ../tools/networking/dhcpcd { }; - dhcpcd_without_udev = callPackage ../tools/networking/dhcpcd { udev = null; }; - diffstat = callPackage ../tools/text/diffstat { }; diffutils = callPackage ../tools/text/diffutils { }; @@ -1020,6 +1074,10 @@ let g500-control = callPackage ../tools/misc/g500-control { }; + galculator = callPackage ../applications/misc/galculator { + gtk = gtk3; + }; + gawk = callPackage ../tools/text/gawk { }; gawkInteractive = appendToName "interactive" @@ -1096,12 +1154,16 @@ let gnuvd = callPackage ../tools/misc/gnuvd { }; + goaccess = callPackage ../tools/misc/goaccess { }; + googleAuthenticator = callPackage ../os-specific/linux/google-authenticator { }; gource = callPackage ../applications/version-management/gource {}; gptfdisk = callPackage ../tools/system/gptfdisk { }; + grafana = callPackage ../development/tools/misc/grafana { }; + grafx2 = callPackage ../applications/graphics/grafx2 {}; graphviz = callPackage ../tools/graphics/graphviz { }; @@ -1112,7 +1174,9 @@ let */ graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { }; - grive = callPackage ../tools/filesystems/grive { }; + grive = callPackage ../tools/filesystems/grive { + json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable + }; groff = callPackage ../tools/text/groff { ghostscript = null; @@ -1260,6 +1324,8 @@ let jing = callPackage ../tools/text/xml/jing { }; + jmtpfs = callPackage ../tools/filesystems/jmtpfs { }; + jnettop = callPackage ../tools/networking/jnettop { }; jq = callPackage ../development/tools/jq {}; @@ -1394,10 +1460,14 @@ 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; }; + mednafen = callPackage ../misc/emulators/mednafen { }; + + mednafen-server = callPackage ../misc/emulators/mednafen/server.nix { }; + megacli = callPackage ../tools/misc/megacli { }; megatools = callPackage ../tools/networking/megatools { }; @@ -1428,9 +1498,7 @@ let modemmanager = callPackage ../tools/networking/modemmanager {}; - monit = builderDefsPackage ../tools/system/monit { - inherit openssl flex bison; - }; + monit = callPackage ../tools/system/monit { }; mosh = callPackage ../tools/networking/mosh { boost = boostHeaders; @@ -1503,6 +1571,8 @@ let netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { }; + nethogs = callPackage ../tools/networking/nethogs { }; + netkittftp = callPackage ../tools/networking/netkit/tftp { }; netpbm = callPackage ../tools/graphics/netpbm { }; @@ -1517,11 +1587,9 @@ let networkmanager_pptp = callPackage ../tools/networking/network-manager/pptp.nix { }; - networkmanager_pptp_gnome = networkmanager_pptp.override { withGnome = true; }; - networkmanager_vpnc = callPackage ../tools/networking/network-manager/vpnc.nix { }; - networkmanager_openconnect = callPackage ../tools/networking/network-manager/openconnect.nix { gconf = gnome.GConf; }; + networkmanager_openconnect = callPackage ../tools/networking/network-manager/openconnect.nix { }; networkmanagerapplet = newScope gnome ../tools/networking/network-manager-applet { }; @@ -1537,6 +1605,8 @@ let pa_applet = callPackage ../tools/audio/pa-applet { }; + nifskope = callPackage ../tools/graphics/nifskope { }; + nilfs_utils = callPackage ../tools/filesystems/nilfs-utils {}; nlopt = callPackage ../development/libraries/nlopt {}; @@ -1599,6 +1669,12 @@ let opendkim = callPackage ../development/libraries/opendkim { }; + opendylan = callPackage ../development/compilers/opendylan { + opendylan-bootstrap = opendylan_bin; + }; + + opendylan_bin = callPackage ../development/compilers/opendylan/bin.nix { }; + openjade = callPackage ../tools/text/sgml/openjade { perl = perl510; }; @@ -1631,7 +1707,9 @@ let openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { }; - optipng = callPackage ../tools/graphics/optipng { }; + optipng = callPackage ../tools/graphics/optipng { + libpng = libpng12; + }; oslrd = callPackage ../tools/networking/oslrd { }; @@ -1814,9 +1892,7 @@ let privateer = callPackage ../games/privateer { }; - rtmpdump = callPackage ../tools/video/rtmpdump { - gnutls = gnutls31; # gnutls32: undefined reference to gnutls_calc_dh_{key,secret} - }; + rtmpdump = callPackage ../tools/video/rtmpdump { }; reaverwps = callPackage ../tools/networking/reaver-wps {}; @@ -1832,6 +1908,8 @@ let inherit (gnome) gnome_vfs GConf; }; + remarkjs = callPackage ../development/web/remarkjs { }; + remind = callPackage ../tools/misc/remind { }; remmina = callPackage ../applications/networking/remote/remmina {}; @@ -1848,6 +1926,8 @@ let ripmime = callPackage ../tools/networking/ripmime {}; + rkflashtool = callPackage ../tools/misc/rkflashtool { }; + rmlint = callPackage ../tools/misc/rmlint {}; rng_tools = callPackage ../tools/security/rng-tools { }; @@ -1910,6 +1990,8 @@ let seqdiag = pythonPackages.seqdiag; + screenfetch = callPackage ../tools/misc/screenfetch { }; + sg3_utils = callPackage ../tools/system/sg3_utils { }; sharutils = callPackage ../tools/archivers/sharutils { }; @@ -2053,6 +2135,10 @@ let guile = guile_1_8; }; + texmaker = callPackage ../applications/editors/texmaker { }; + + texstudio = callPackage ../applications/editors/texstudio { }; + tiled-qt = callPackage ../applications/editors/tiled-qt { qt = qt4; }; tinc = callPackage ../tools/networking/tinc { }; @@ -2401,6 +2487,8 @@ let aldor = callPackage ../development/compilers/aldor { }; + aliceml = callPackage ../development/compilers/aliceml { }; + aspectj = callPackage ../development/compilers/aspectj { }; ats = callPackage ../development/compilers/ats { }; @@ -2412,10 +2500,6 @@ let chicken = callPackage ../development/compilers/chicken { }; - chicken-dev = chicken.override { - devSnapshot = true; - }; - ccl = builderDefsPackage ../development/compilers/ccl {}; clang = wrapClang llvmPackages.clang; @@ -2425,6 +2509,11 @@ let 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); + clangAnalyzer = callPackage ../development/tools/analysis/clang-analyzer { + clang = clang_34; + llvmPackages = llvmPackages_34; + }; + clangUnwrapped = llvm: pkg: callPackage pkg { stdenv = if stdenv.isDarwin then stdenvAdapters.overrideGCC stdenv gccApple @@ -2455,6 +2544,11 @@ let cmucl_binary = callPackage ../development/compilers/cmucl/binary.nix { }; + compcert = callPackage_i686 ../development/compilers/compcert {}; + + cryptol1 = lowPrio (callPackage ../development/compilers/cryptol/1.8.x.nix {}); + cryptol2 = haskellPackages.cryptol; + cython = pythonPackages.cython; cython3 = python3Packages.cython; @@ -2513,10 +2607,10 @@ let gcc_realCross = gcc48_realCross; gccCrossStageStatic = let - isMingw = (stdenv.cross.libc == "msvcrt"); - isMingw64 = isMingw && stdenv.cross.config == "x86_64-w64-mingw32"; - libcCross1 = if isMingw64 then windows.mingw_w64_headers else - if isMingw then windows.mingw_headers1 else null; + libcCross1 = + if stdenv.cross.libc == "msvcrt" then windows.mingw_w64_headers + else if stdenv.cross.libc == "libSystem" then darwin.xcode + else null; in wrapGCCCross { gcc = forceNativeDrv (lib.addMetaAttrs { hydraPlatforms = []; } ( @@ -2644,6 +2738,41 @@ let binutilsCross = null; })); + gcc49 = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.9 { + inherit noSysDirs; + + # 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 + # 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; + })); + + gcc49_multi = + if system == "x86_64-linux" then lowPrio ( + wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc49.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}’"; + + gcc49_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.9 { + stripped = false; + + inherit noSysDirs; + cross = null; + libcCross = null; + binutilsCross = null; + })); + gccApple = assert stdenv.isDarwin; wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2-apple64) { @@ -2732,6 +2861,8 @@ let enableMultilib = false; }); + ghdl_mcode = callPackage ../development/compilers/ghdl { }; + gcl = builderDefsPackage ../development/compilers/gcl { inherit mpfr m4 binutils fetchcvs emacs zlib which texinfo; @@ -2747,7 +2878,7 @@ let }; jhc = callPackage ../development/compilers/jhc { - inherit (haskellPackages_ghc6123) ghc binary zlib utf8String readline fgl + inherit (haskellPackages_ghc763) ghc binary zlib utf8String readline fgl regexCompat HsSyck random; }; @@ -2785,36 +2916,27 @@ let builtins.substring 0 (builtins.stringLength "packages_") name == "packages_" ) haskell)); - # Current default version: 7.6.3. haskellPackages = haskellPackages_ghc763; - # Current Haskell Platform: 2013.2.0.0 - haskellPlatform = haskellPackages.haskellPlatform; + haskellPlatform = haskellPlatformPackages."2013_2_0_0"; haskellPackages_ghc6104 = haskell.packages_ghc6104; - haskellPackages_ghc6121 = haskell.packages_ghc6121; - haskellPackages_ghc6122 = haskell.packages_ghc6122; haskellPackages_ghc6123 = haskell.packages_ghc6123; - haskellPackages_ghc701 = haskell.packages_ghc701; - haskellPackages_ghc702 = haskell.packages_ghc702; - haskellPackages_ghc703 = haskell.packages_ghc703; haskellPackages_ghc704 = haskell.packages_ghc704; - haskellPackages_ghc721 = haskell.packages_ghc721; haskellPackages_ghc722 = haskell.packages_ghc722; - haskellPackages_ghc741 = haskell.packages_ghc741; haskellPackages_ghc742 = haskell.packages_ghc742; - haskellPackages_ghc761 = haskell.packages_ghc761; - haskellPackages_ghc762 = haskell.packages_ghc762; # For the default version, we build profiling versions of the libraries, too. # The following three lines achieve that: the first two make Hydra build explicit # profiling and non-profiling versions; the final respects the user-configured # default setting. - haskellPackages_ghc763_no_profiling = recurseIntoAttrs (haskell.packages_ghc763.noProfiling); - haskellPackages_ghc763_profiling = recurseIntoAttrs (haskell.packages_ghc763.profiling); - haskellPackages_ghc763 = recurseIntoAttrs (haskell.packages_ghc763.highPrio); + haskellPackages_ghc763_no_profiling = recurseIntoAttrs haskell.packages_ghc763.noProfiling; + 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; + haskellPlatformPackages = recurseIntoAttrs (import ../development/libraries/haskell/haskell-platform { inherit pkgs; }); + haxe = callPackage ../development/compilers/haxe { }; hiphopvm = callPackage ../development/interpreters/hiphopvm { @@ -2959,6 +3081,8 @@ let callPackage_i686 ../development/compilers/mentor {} ); + mercury = callPackage ../development/compilers/mercury { }; + mitscheme = callPackage ../development/compilers/mit-scheme { }; mlton = callPackage ../development/compilers/mlton { }; @@ -3115,6 +3239,8 @@ let opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { }; opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { }; opam = opam_1_1; + + zarith = callPackage ../development/ocaml-modules/zarith { }; }; ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0; @@ -3150,12 +3276,11 @@ let }; scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { }; - scala_2_10 = callPackage ../development/compilers/scala { }; - scala = scala_2_10; + scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { }; + scala_2_11 = callPackage ../development/compilers/scala { }; + scala = scala_2_11; - 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 { }; @@ -3256,9 +3381,11 @@ let clooj = callPackage ../development/interpreters/clojure/clooj.nix { }; - erlangR14B04 = callPackage ../development/interpreters/erlang/R14B04.nix { }; - erlangR15B03 = callPackage ../development/interpreters/erlang/R15B03.nix { }; - erlang = callPackage ../development/interpreters/erlang/default.nix { }; + erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { }; + erlangR15 = callPackage ../development/interpreters/erlang/R15.nix { }; + erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { }; + erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { }; + erlang = erlangR17; rebar = callPackage ../development/tools/build-managers/rebar { }; @@ -3334,6 +3461,8 @@ let # mercurial (hg) bleeding edge version octaveHG = callPackage ../development/interpreters/octave/hg.nix { }; + ocropus = callPackage ../applications/misc/ocropus { }; + perl58 = callPackage ../development/interpreters/perl/5.8 { impureLibcPath = if stdenv.isLinux then null else "/usr"; }; @@ -3356,20 +3485,21 @@ let php53 = callPackage ../development/interpreters/php/5.3.nix { }; + php_fpm53 = callPackage ../development/interpreters/php/5.3.nix { + config = config // { + php = (config.php or {}) // { + fpm = true; + apxs2 = false; + }; + }; + }; + php54 = callPackage ../development/interpreters/php/5.4.nix { }; php_apc = callPackage ../development/libraries/php-apc { }; php_xcache = callPackage ../development/libraries/php-xcache { }; - phpXdebug_5_3 = lowPrio (callPackage ../development/interpreters/php-xdebug { - php = php53; - }); - - phpXdebug_5_4 = callPackage ../development/interpreters/php-xdebug { }; - - phpXdebug = phpXdebug_5_4; - picolisp = callPackage ../development/interpreters/picolisp {}; pltScheme = racket; # just to be sure @@ -3380,18 +3510,13 @@ let llvm = llvm_33 ; }; - python3 = hiPrio (callPackage ../development/interpreters/python/3.3 { }); + python26 = callPackage ../development/interpreters/python/2.6 { db = db47; }; + python27 = callPackage ../development/interpreters/python/2.7 { libX11 = xlibs.libX11; }; python32 = callPackage ../development/interpreters/python/3.2 { }; python33 = callPackage ../development/interpreters/python/3.3 { }; - python34 = callPackage ../development/interpreters/python/3.4 { }; - + python34 = hiPrio (callPackage ../development/interpreters/python/3.4 { }); python = python27; - python26 = callPackage ../development/interpreters/python/2.6 { - db = db47; - }; - python27 = callPackage ../development/interpreters/python/2.7 { - libX11 = xlibs.libX11; - }; + python3 = python3Packages.python; pypy = callPackage ../development/interpreters/pypy/2.2 { }; @@ -3464,12 +3589,15 @@ let spidermonkey_1_8_0rc1 = callPackage ../development/interpreters/spidermonkey/1.8.0-rc1.nix { }; spidermonkey_185 = callPackage ../development/interpreters/spidermonkey/185-1.0.0.nix { }; spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.0.nix { }; + spidermonkey_24 = callPackage ../development/interpreters/spidermonkey/24.2.nix { }; supercollider = callPackage ../development/interpreters/supercollider { qt = qt4; fftw = fftwSinglePrec; }; + supercollider_scel = supercollider.override { useSCEL = true; }; + sysPerl = callPackage ../development/interpreters/perl/sys-perl { }; tcl = callPackage ../development/interpreters/tcl { }; @@ -3592,11 +3720,13 @@ let gold = false; }); - binutilsCross = lowPrio (forceNativeDrv (import ../development/tools/misc/binutils { - inherit stdenv fetchurl zlib; - noSysDirs = true; - cross = assert crossSystem != null; crossSystem; - })); + binutilsCross = + if crossSystem != null && crossSystem.libc == "libSystem" then darwin.cctools + else lowPrio (forceNativeDrv (import ../development/tools/misc/binutils { + inherit stdenv fetchurl zlib bison; + noSysDirs = true; + cross = assert crossSystem != null; crossSystem; + })); bison2 = callPackage ../development/tools/parsing/bison/2.x.nix { }; bison3 = callPackage ../development/tools/parsing/bison/3.x.nix { }; @@ -3637,6 +3767,8 @@ let wrapGCC (ccache.links extraConfig)) {}; ccacheStdenv = lowPrio (overrideGCC stdenv ccacheWrapper); + cccc = callPackage ../development/tools/analysis/cccc { }; + cgdb = callPackage ../development/tools/misc/cgdb { }; chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome.GConf; }; @@ -3661,7 +3793,7 @@ let coccinelle = callPackage ../development/tools/misc/coccinelle { }; - framac = callPackage ../development/tools/misc/frama-c { }; + framac = callPackage ../development/tools/analysis/frama-c { }; cppi = callPackage ../development/tools/misc/cppi { }; @@ -3669,6 +3801,8 @@ let cflow = callPackage ../development/tools/misc/cflow { }; + cov-build = callPackage ../development/tools/analysis/cov-build {}; + cppcheck = callPackage ../development/tools/analysis/cppcheck { }; cscope = callPackage ../development/tools/misc/cscope { }; @@ -3678,6 +3812,10 @@ let libcxx = callPackage ../development/libraries/libc++ { stdenv = pkgs.clangStdenv; }; libcxxabi = callPackage ../development/libraries/libc++abi { stdenv = pkgs.clangStdenv; }; + libsigrok = callPackage ../development/tools/libsigrok { }; + + libsigrokdecode = callPackage ../development/tools/libsigrokdecode { }; + dejagnu = callPackage ../development/tools/misc/dejagnu { }; dfeet = callPackage ../development/tools/misc/d-feet { @@ -3831,11 +3969,17 @@ 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 { }; omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { }; + opengrok = callPackage ../development/tools/misc/opengrok { }; + openocd = callPackage ../development/tools/misc/openocd { }; oprofile = callPackage ../development/tools/profiling/oprofile { }; @@ -3897,6 +4041,8 @@ let simpleBuildTool = callPackage ../development/tools/build-managers/simple-build-tool { }; + sigrok-cli = callPackage ../development/tools/sigrok-cli { }; + slimerjs = callPackage ../development/tools/slimerjs {}; sloccount = callPackage ../development/tools/misc/sloccount { }; @@ -3924,6 +4070,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 { }; @@ -3977,6 +4125,8 @@ let xmlindent = callPackage ../development/web/xmlindent {}; + xpwn = callPackage ../development/mobile/xpwn {}; + xxdiff = callPackage ../development/tools/misc/xxdiff { bison = bison2; }; @@ -4081,6 +4231,8 @@ let caelum = callPackage ../development/libraries/caelum { }; + capnproto = callPackage ../development/libraries/capnproto { }; + scmccid = callPackage ../development/libraries/scmccid { }; ccrtp = callPackage ../development/libraries/ccrtp { }; @@ -4135,6 +4287,10 @@ let clutter = callPackage ../development/libraries/clutter { }; + clutter_1_18 = callPackage ../development/libraries/clutter/1.18.nix { + cogl = cogl_1_18; + }; + clutter-gst = callPackage ../development/libraries/clutter-gst { }; clutter_gtk = callPackage ../development/libraries/clutter-gtk { }; @@ -4144,6 +4300,8 @@ let cogl = callPackage ../development/libraries/cogl { }; + cogl_1_18 = callPackage ../development/libraries/cogl/1.18.nix { }; + coin3d = callPackage ../development/libraries/coin3d { }; commoncpp2 = callPackage ../development/libraries/commoncpp2 { }; @@ -4154,6 +4312,8 @@ let ctl = callPackage ../development/libraries/ctl { }; + cpp-netlib = callPackage ../development/libraries/cpp-netlib { }; + cppunit = callPackage ../development/libraries/cppunit { }; cppnetlib = callPackage ../development/libraries/cppnetlib { @@ -4184,15 +4344,20 @@ let 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 { }; @@ -4396,9 +4561,8 @@ let # We can choose: libcCrossChooser = name : if name == "glibc" then glibcCross else if name == "uclibc" then uclibcCross - else if name == "msvcrt" && stdenv.cross.config == "x86_64-w64-mingw32" then - windows.mingw_w64 - else if name == "msvcrt" then windows.mingw_headers3 + else if name == "msvcrt" then windows.mingw_w64 + else if name == "libSystem" then darwin.xcode else throw "Unknown libc"; libcCross = assert crossSystem != null; libcCrossChooser crossSystem.libc; @@ -4500,6 +4664,8 @@ let gst_python = callPackage ../development/libraries/gstreamer/legacy/gst-python {}; + gstreamermm = callPackage ../development/libraries/gstreamer/legacy/gstreamermm { }; + gnonlin = callPackage ../development/libraries/gstreamer/legacy/gnonlin {}; gusb = callPackage ../development/libraries/gusb { @@ -4623,6 +4789,8 @@ let gwenhywfar = callPackage ../development/libraries/gwenhywfar { }; + hamlib = callPackage ../development/libraries/hamlib { }; + # TODO : Add MIT Kerberos and let admin choose. kerberos = heimdal; @@ -4702,9 +4870,8 @@ let json_glib = callPackage ../development/libraries/json-glib { }; - json-c-0-9 = callPackage ../development/libraries/json-c { }; - json-c-0-11 = callPackage ../development/libraries/json-c/0.11.nix { }; - json_c = json-c-0-9; + json-c-0-11 = callPackage ../development/libraries/json-c/0.11.nix { }; # vulnerable + json_c = callPackage ../development/libraries/json-c { }; jsoncpp = callPackage ../development/libraries/jsoncpp { }; @@ -4763,9 +4930,9 @@ let libassuan2_1 = callPackage ../development/libraries/libassuan/git.nix { }; - libav = libav_9; + libav = libav_10; libav_all = callPackage ../development/libraries/libav { }; - inherit (libav_all) libav_9 libav_0_8; + inherit (libav_all) libav_0_8 libav_9 libav_10; libavc1394 = callPackage ../development/libraries/libavc1394 { }; @@ -4879,10 +5046,14 @@ let libgnome_keyring = callPackage ../development/libraries/libgnome-keyring { }; libgnome_keyring3 = gnome3.libgnome_keyring; + libgnurl = callPackage ../development/libraries/libgnurl { }; + libseccomp = callPackage ../development/libraries/libseccomp { }; libsecret = callPackage ../development/libraries/libsecret { }; + libserialport = callPackage ../development/libraries/libserialport { }; + libgtop = callPackage ../development/libraries/libgtop {}; liblo = callPackage ../development/libraries/liblo { }; @@ -4924,6 +5095,8 @@ let libftdi = callPackage ../development/libraries/libftdi { }; + libftdi1 = callPackage ../development/libraries/libftdi/1.x.nix { }; + libgcrypt = callPackage ../development/libraries/libgcrypt { }; libgcrypt_1_6 = lowPrio (callPackage ../development/libraries/libgcrypt/1.6.nix { }); @@ -4983,6 +5156,8 @@ let libresample = callPackage ../development/libraries/libresample {}; + librevisa = callPackage ../development/libraries/librevisa { }; + libsamplerate = callPackage ../development/libraries/libsamplerate { stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple @@ -5002,6 +5177,9 @@ let then null else libiconv; + # The logic behind this attribute is broken: libiconvOrNull==null does + # NOT imply libiconv=glibc! On Darwin, for example, we have a native + # libiconv library which is not glibc. libiconvOrLibc = if libiconvOrNull == null then gcc.libc else libiconv; # On non-GNU systems we need GNU Gettext for libintl. @@ -5056,6 +5234,8 @@ let libmilter = callPackage ../development/libraries/libmilter { }; + libmkv = callPackage ../development/libraries/libmkv { }; + libmms = callPackage ../development/libraries/libmms { }; libmowgli = callPackage ../development/libraries/libmowgli { }; @@ -5084,6 +5264,8 @@ let libmusicbrainz = libmusicbrainz3; + libmx = callPackage ../development/libraries/libmx { }; + libnet = callPackage ../development/libraries/libnet { }; libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { }; @@ -5396,6 +5578,8 @@ let ming = callPackage ../development/libraries/ming { }; + minizip = callPackage ../development/libraries/minizip { }; + minmay = callPackage ../development/libraries/minmay { }; miro = callPackage ../applications/video/miro { @@ -5687,6 +5871,8 @@ let qwt = callPackage ../development/libraries/qwt {}; + qwt6 = callPackage ../development/libraries/qwt/6.nix { }; + rabbitmq-c = callPackage ../development/libraries/rabbitmq-c {}; raul = callPackage ../development/libraries/audio/raul { }; @@ -5880,6 +6066,8 @@ let strigi = callPackage ../development/libraries/strigi { clucene_core = clucene_core_2; }; + subtitleeditor = callPackage ../applications/video/subtitleeditor { }; + suil = callPackage ../development/libraries/audio/suil { }; suitesparse = callPackage ../development/libraries/suitesparse { }; @@ -5920,9 +6108,7 @@ let tinyxml2 = callPackage ../development/libraries/tinyxml/2.6.2.nix { }; - tk = callPackage ../development/libraries/tk { - libX11 = xlibs.libX11; - }; + tk = callPackage ../development/libraries/tk { }; tnt = callPackage ../development/libraries/tnt { }; @@ -5952,6 +6138,10 @@ let ucommon = callPackage ../development/libraries/ucommon { }; + v8 = callPackage ../development/libraries/v8 { + inherit (pythonPackages) gyp; + }; + vaapiIntel = callPackage ../development/libraries/vaapi-intel { }; vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { }; @@ -5980,28 +6170,7 @@ 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 { harfbuzz = harfbuzz.override { @@ -6084,6 +6253,8 @@ let xmlrpc_c = callPackage ../development/libraries/xmlrpc-c { }; + xmlsec = callPackage ../development/libraries/xmlsec { }; + xvidcore = callPackage ../development/libraries/xvidcore { }; yajl = callPackage ../development/libraries/yajl { }; @@ -6092,6 +6263,8 @@ let inherit ncurses flex bison autoconf automake m4 coreutils; }; + zeitgeist = callPackage ../development/libraries/zeitgeist { }; + zlib = callPackage ../development/libraries/zlib { fetchurl = fetchurlBoot; }; @@ -6102,6 +6275,9 @@ let zeromq2 = callPackage ../development/libraries/zeromq/2.x.nix {}; zeromq3 = callPackage ../development/libraries/zeromq/3.x.nix {}; + zeromq4 = callPackage ../development/libraries/zeromq/4.x.nix {}; + + zziplib = callPackage ../development/libraries/zziplib { }; ### DEVELOPMENT / LIBRARIES / JAVA @@ -6164,17 +6340,12 @@ let inherit (gnome) libsoup; }; - v8 = callPackage ../development/libraries/v8 { inherit (pythonPackages) gyp; }; - - xmlsec = callPackage ../development/libraries/xmlsec { }; - - zziplib = callPackage ../development/libraries/zziplib { }; - ### DEVELOPMENT / LIBRARIES / JAVASCRIPT jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { }; + yuicompressor = callPackage ../development/tools/yuicompressor { }; ### DEVELOPMENT / LISP MODULES @@ -6247,7 +6418,7 @@ let python = python26; }; - python3Packages = python33Packages; + python3Packages = python34Packages; python33Packages = recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; @@ -6264,10 +6435,10 @@ let python = python32; }; - python27Packages = recurseIntoAttrs (import ./python-packages.nix { + python27Packages = lib.hiPrioSet (recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; python = python27; - }); + })); pypyPackages = recurseIntoAttrs (import ./python-packages.nix { inherit pkgs; @@ -6288,6 +6459,8 @@ let pycairo = pythonPackages.pycairo; + pycapnp = pythonPackages.pycapnp; + pycrypto = pythonPackages.pycrypto; pycups = callPackage ../development/python-modules/pycups { }; @@ -6349,12 +6522,25 @@ let ### DEVELOPMENT / R MODULES - buildRPackage = import ../development/r-modules/generic R; + R = callPackage ../applications/science/math/R { + inherit (xlibs) libX11 libXt; + texLive = texLiveAggregationFun { paths = [ texLive texLiveExtra ]; }; + withRecommendedPackages = false; + }; - rPackages = recurseIntoAttrs (import ./r-packages.nix { + rWrapper = callPackage ../development/r-modules/wrapper.nix { + # Those packages are usually installed as part of the R build. + recommendedPackages = with rPackages; [ MASS lattice Matrix nlme + survival boot cluster codetools foreign KernSmooth rpart class + nnet spatial mgcv ]; + # Override this attribute to register additional libraries. + packages = []; + }; + + rPackages = import ../development/r-modules/cran-packages.nix { inherit pkgs; overrides = (config.rPackageOverrides or (p: {})) pkgs; - }); + }; ### SERVERS @@ -6382,6 +6568,7 @@ let spidermonkey = spidermonkey_185; python = python27; sphinx = python27Packages.sphinx; + erlang = erlangR16; }; dico = callPackage ../servers/dico { }; @@ -6412,10 +6599,14 @@ let dovecot_pigeonhole = callPackage ../servers/mail/dovecot-pigeonhole { }; - ejabberd = callPackage ../servers/xmpp/ejabberd { }; + ejabberd = callPackage ../servers/xmpp/ejabberd { + erlang = erlangR16; + }; elasticmq = callPackage ../servers/elasticmq { }; + fcgiwrap = callPackage ../servers/fcgiwrap { }; + felix = callPackage ../servers/felix { }; felix_remoteshell = callPackage ../servers/felix/remoteshell.nix { }; @@ -6445,6 +6636,8 @@ let joseki = callPackage ../servers/http/joseki {}; + leafnode = callPackage ../servers/news/leafnode { }; + lighttpd = callPackage ../servers/http/lighttpd { }; mailman = callPackage ../servers/mail/mailman { }; @@ -6453,6 +6646,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 { }; @@ -6462,10 +6657,8 @@ let mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { }; mpd = callPackage ../servers/mpd { - # resolve the "stray '@' in program" errors - stdenv = if stdenv.isDarwin - then overrideGCC stdenv gccApple - else stdenv; + aacSupport = config.mpd.aacSupport or true; + ffmpegSupport = config.mpd.ffmpegSupport or true; }; mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { }; @@ -6474,7 +6667,12 @@ let myserver = callPackage ../servers/http/myserver { }; - nginx = callPackage ../servers/http/nginx { }; + nginx = callPackage ../servers/http/nginx { + rtmp = true; + fullWebDAV = true; + syslog = true; + moreheaders = true; + }; ngircd = callPackage ../servers/irc/ngircd { }; @@ -6486,6 +6684,8 @@ let postfix = callPackage ../servers/mail/postfix { }; + postfix211 = callPackage ../servers/mail/postfix/2.11.nix { }; + pulseaudio = callPackage ../servers/pulseaudio { gconf = gnome.GConf; # The following are disabled in the default build, because if this @@ -6511,6 +6711,8 @@ let riak = callPackage ../servers/nosql/riak/1.3.1.nix { }; + influxdb = callPackage ../servers/nosql/influxdb { }; + mysql51 = import ../servers/sql/mysql/5.1.x.nix { inherit fetchurl ncurses zlib perl openssl stdenv; ps = procps; /* !!! Linux only */ @@ -6611,6 +6813,8 @@ let sipwitch = callPackage ../servers/sip/sipwitch { }; + spawn_fcgi = callPackage ../servers/http/spawn-fcgi { }; + squids = recurseIntoAttrs( import ../servers/squid/squids.nix { inherit fetchurl stdenv perl lib composableDerivation openldap pam db cyrus_sasl kerberos libcap expat libxml2 libtool @@ -6643,7 +6847,7 @@ let xinetd = callPackage ../servers/xinetd { }; xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { - inherit fetchurl fetchgit stdenv pkgconfig intltool freetype fontconfig + inherit fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig libxslt expat libdrm libpng zlib perl mesa_drivers dbus libuuid openssl gperf m4 autoconf automake libtool xmlto asciidoc udev flex bison python mtdev pixman; @@ -6724,6 +6928,8 @@ let bluez = bluez4; + inherit (pythonPackages) bedup; + beret = callPackage ../games/beret { }; bridge_utils = callPackage ../os-specific/linux/bridge-utils { }; @@ -6757,8 +6963,26 @@ let cramfsswap = callPackage ../os-specific/linux/cramfsswap { }; + darwin = rec { + cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port { + cross = assert crossSystem != null; crossSystem; + inherit maloader; + xctoolchain = xcode.toolchain; + }); + + maloader = callPackage ../os-specific/darwin/maloader { + inherit opencflite; + }; + + opencflite = callPackage ../os-specific/darwin/opencflite {}; + + xcode = callPackage ../os-specific/darwin/xcode {}; + }; + devicemapper = lvm2; + disk_indicator = callPackage ../os-specific/linux/disk-indicator { }; + dmidecode = callPackage ../os-specific/linux/dmidecode { }; dmtcp = callPackage ../os-specific/linux/dmtcp { }; @@ -6874,23 +7098,25 @@ 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 { }; + # -- Linux kernel expressions ------------------------------------------------ - linuxHeaders37 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { }; + linuxHeaders = linuxHeaders_3_7; + + linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { + inherit stdenv fetchurl perl; + cross = assert crossSystem != null; crossSystem; + }); linuxHeaders26Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { inherit stdenv fetchurl perl; cross = assert crossSystem != null; crossSystem; }); - linuxHeaders24Cross = forceNativeDrv (import ../os-specific/linux/kernel-headers/2.4.nix { - inherit stdenv fetchurl perl; - cross = assert crossSystem != null; crossSystem; - }); + linuxHeaders_3_7 = callPackage ../os-specific/linux/kernel-headers/3.7.nix { }; + + linuxHeaders_3_14 = callPackage ../os-specific/linux/kernel-headers/3.14.nix { }; # We can choose: linuxHeadersCrossChooser = ver : if ver == "2.4" then linuxHeaders24Cross @@ -6900,8 +7126,6 @@ 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) { @@ -6909,14 +7133,6 @@ let kernelPatches = []; }; - linux_3_2_apparmor = lowPrio (linux_3_2.override { - kernelPatches = [ kernelPatches.apparmor_3_2 ]; - extraConfig = '' - SECURITY_APPARMOR y - DEFAULT_SECURITY_APPARMOR y - ''; - }); - linux_3_2_xen = lowPrio (linux_3_2.override { extraConfig = '' XEN_DOM0 y @@ -6931,14 +7147,6 @@ let ]; }; - linux_3_4_apparmor = lowPrio (linux_3_4.override { - kernelPatches = [ kernelPatches.apparmor_3_4 ]; - extraConfig = '' - SECURITY_APPARMOR y - DEFAULT_SECURITY_APPARMOR y - ''; - }); - linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) { inherit fetchurl stdenv perl buildLinux; }; @@ -6988,6 +7196,52 @@ let ]; }; + linux_testing = makeOverridable (import ../os-specific/linux/kernel/linux-testing.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 + ]; + }; + + /* grsec configuration + + We build several flavors of 'default' grsec kernels. These are + built by default with Hydra. If the user selects a matching + 'default' flavor, then the pre-canned package set can be + chosen. Typically, users will make very basic choices like + 'security' + 'server' or 'performance' + 'desktop' with + virtualisation support. These will then be picked. + + Note: Xen guest kernels are included for e.g. NixOps deployments + to EC2, where Xen is the Hypervisor. + */ + + grFlavors = import ../build-support/grsecurity/flavors.nix; + + mkGrsecurity = opts: + (import ../build-support/grsecurity { + grsecOptions = opts; + inherit pkgs lib; + }); + + grKernel = opts: (mkGrsecurity opts).grsecKernel; + grPackage = opts: recurseIntoAttrs (mkGrsecurity opts).grsecPackage; + + # Stable kernels + linux_grsec_stable_desktop = grKernel grFlavors.linux_grsec_stable_desktop; + linux_grsec_stable_server = grKernel grFlavors.linux_grsec_stable_server; + linux_grsec_stable_server_xen = grKernel grFlavors.linux_grsec_stable_server_xen; + + # Stable+vserver kernels - server versions only + #linux_grsec_vserver_server = grKernel grFlavors.linux_grsec_vserver_server; + #linux_grsec_vserver_server_xen = grKernel grFlavors.linux_grsec_vserver_server_xen; + + # Testing kernels + linux_grsec_testing_desktop = grKernel grFlavors.linux_grsec_testing_desktop; + linux_grsec_testing_server = grKernel grFlavors.linux_grsec_testing_server; + linux_grsec_testing_server_xen = grKernel grFlavors.linux_grsec_testing_server_xen; /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a @@ -7010,6 +7264,8 @@ 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 { }; @@ -7053,7 +7309,10 @@ let psmouse_alps = callPackage ../os-specific/linux/psmouse-alps { }; - spl = callPackage ../os-specific/linux/spl/default.nix { }; + spl = callPackage ../os-specific/linux/spl { }; + spl_git = callPackage ../os-specific/linux/spl/git.nix { }; + + sysdig = callPackage ../os-specific/linux/sysdig {}; tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; @@ -7067,27 +7326,44 @@ let virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { }; - zfs = callPackage ../os-specific/linux/zfs/default.nix { }; + zfs = callPackage ../os-specific/linux/zfs { }; + zfs_git = callPackage ../os-specific/linux/zfs/git.nix { }; }; + # The current default kernel / kernel modules. + linux = linuxPackages.kernel; + linuxPackages = linuxPackages_3_12; + + # Update this when adding the newest kernel major version! + linux_latest = pkgs.linux_3_14; + linuxPackages_latest = pkgs.linuxPackages_3_14; + # 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_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_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); 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_14; + linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing); - # The current default kernel / kernel modules. - linux = linuxPackages.kernel; - linuxPackages = linuxPackages_3_12; + # grsecurity flavors + # Stable kernels + linuxPackages_grsec_stable_desktop = grPackage grFlavors.linux_grsec_stable_desktop; + linuxPackages_grsec_stable_server = grPackage grFlavors.linux_grsec_stable_server; + linuxPackages_grsec_stable_server_xen = grPackage grFlavors.linux_grsec_stable_server_xen; + + # Stable+vserver kernels - server versions only + #linuxPackages_grsec_vserver_server = grPackage grFlavors.linux_grsec_vserver_server; + #linuxPackages_grsec_vserver_server_xen = grPackage grFlavors.linux_grsec_vserver_server_xen; + + # Testing kernels + linuxPackages_grsec_testing_desktop = grPackage grFlavors.linux_grsec_testing_desktop; + linuxPackages_grsec_testing_server = grPackage grFlavors.linux_grsec_testing_server; + linuxPackages_grsec_testing_server_xen = grPackage grFlavors.linux_grsec_testing_server_xen; # A function to build a manually-configured kernel linuxManualConfig = pkgs.buildLinux; @@ -7201,7 +7477,9 @@ let config = config.pcmciaUtils.config or null; }; - plymouth = callPackage ../os-specific/linux/plymouth { }; + plymouth = callPackage ../os-specific/linux/plymouth { + automake = automake113x; + }; pmount = callPackage ../os-specific/linux/pmount { }; @@ -7221,6 +7499,8 @@ let procps-ng = callPackage ../os-specific/linux/procps-ng { }; + watch = callPackage ../os-specific/linux/procps/watch.nix { }; + qemu_kvm = lowPrio (qemu.override { x86Only = true; }); firmwareLinuxNonfree = callPackage ../os-specific/linux/firmware/firmware-linux-nonfree { }; @@ -7247,6 +7527,10 @@ let statifier = builderDefsPackage (import ../os-specific/linux/statifier) { }; + sysdig = callPackage ../os-specific/linux/sysdig { + kernel = null; + }; # pkgs.sysdig is a client, for a driver look at linuxPackagesFor + sysfsutils = callPackage ../os-specific/linux/sysfsutils { }; sysprof = callPackage ../development/tools/profiling/sysprof { @@ -7263,7 +7547,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; @@ -7330,10 +7616,14 @@ let upower = callPackage ../os-specific/linux/upower { }; + upower_99 = callPackage ../os-specific/linux/upower/0.99.nix { }; + upstart = callPackage ../os-specific/linux/upstart { }; usbutils = callPackage ../os-specific/linux/usbutils { }; + usermount = callPackage ../os-specific/linux/usermount { }; + utillinux = lowPrio (callPackage ../os-specific/linux/util-linux { ncurses = null; perl = null; @@ -7394,6 +7684,10 @@ let onlyHeaders = true; }; + mingw_w64_pthreads = callPackage ../os-specific/windows/mingw-w64 { + onlyPthreads = true; + }; + pthreads = callPackage ../os-specific/windows/pthread-w32 { mingw_headers = mingw_headers3; }; @@ -7492,6 +7786,8 @@ let dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { }; + eb-garamond = callPackage ../data/fonts/eb-garamond { }; + freefont_ttf = callPackage ../data/fonts/freefont-ttf { }; freepats = callPackage ../data/misc/freepats { }; @@ -7518,6 +7814,8 @@ let lmodern = callPackage ../data/fonts/lmodern { }; + lohit-fonts = callPackage ../data/fonts/lohit-fonts { }; + manpages = callPackage ../data/documentation/man-pages { }; miscfiles = callPackage ../data/misc/miscfiles { }; @@ -7526,8 +7824,12 @@ let mph_2b_damase = callPackage ../data/fonts/mph-2b-damase { }; + nafees = callPackage ../data/fonts/nafees { }; + oldstandard = callPackage ../data/fonts/oldstandard { }; + poly = callPackage ../data/fonts/poly { }; + posix_man_pages = callPackage ../data/documentation/man-pages-posix { }; pthreadmanpages = callPackage ../data/documentation/pthread-man-pages { }; @@ -7550,6 +7852,8 @@ let r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { }; + sourceCodePro = callPackage ../data/fonts/source-code-pro {}; + tango-icon-theme = callPackage ../data/icons/tango-icon-theme { }; themes = name: import (../data/misc/themes + ("/" + name + ".nix")) { @@ -7660,6 +7964,8 @@ let eigen = eigen2; }; + avrdudess = callPackage ../applications/misc/avrdudess { }; + avxsynth = callPackage ../applications/video/avxsynth { }; awesome-3-4 = callPackage ../applications/window-managers/awesome/3.4.nix { @@ -7742,14 +8048,13 @@ let amdappsdk = amdappsdk28; }; - chatzilla = callPackage ../applications/networking/irc/chatzilla { - xulrunner = firefox36Pkgs.xulrunner; - }; + chatzilla = callPackage ../applications/networking/irc/chatzilla { }; chromium = lowPrio (callPackage ../applications/networking/browsers/chromium { channel = "stable"; - gconf = gnome.GConf; pulseSupport = config.pulseaudio or true; + enablePepperFlash = config.chromium.enablePepperFlash or false; + enablePepperPDF = config.chromium.enablePepperPDF or false; }); chromiumBeta = lowPrio (chromium.override { channel = "beta"; }); @@ -7780,6 +8085,9 @@ let libpng = libpng12; }; + codeblocks = callPackage ../applications/editors/codeblocks { }; + codeblocksFull = callPackage ../applications/editors/codeblocks { contribPlugins = true; }; + codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) { inherit makeWrapper; python = pythonFull; @@ -7811,17 +8119,19 @@ let darcs = haskellPackages.darcs.override { # A variant of the Darcs derivation that containts only the executable and # thus has no dependencies on other Haskell packages. - cabal = { mkDerivation = x: rec { final = haskellPackages.cabal.mkDerivation (self: (x final) // { - isLibrary = false; - configureFlags = "-f-library"; }); }.final; - }; + cabal = haskellPackages.cabal.override { + extension = self : super : { + isLibrary = false; + configureFlags = "-f-library " + super.configureFlags or ""; + }; + }; }; darktable = callPackage ../applications/graphics/darktable { inherit (gnome) GConf libglade; }; - "dd-agent" = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; }; + dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; }; dia = callPackage ../applications/graphics/dia { inherit (pkgs.gnome) libart_lgpl libgnomeui; @@ -7908,8 +8218,7 @@ let alsaLib = null; imagemagick = null; - # use clangStdenv on darwin to deal with: unexec: 'my_edata is not in - # section __data' + # resolve unrecognized section __static_data in __DATA segment stdenv = if stdenv.isDarwin then clangStdenv else stdenv; @@ -7919,6 +8228,13 @@ let withX = false; })); + emacs24Macport = callPackage ../applications/editors/emacs-24/macport.nix { + # resolve unrecognised flag '-fconstant-cfstrings' errors + stdenv = if stdenv.isDarwin + then clangStdenv + else stdenv; + }; + emacsPackages = emacs: self: let callPackage = newScope self; in rec { inherit emacs; @@ -7934,6 +8250,8 @@ 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 { }; @@ -8025,7 +8343,10 @@ let rudel = callPackage ../applications/editors/emacs-modes/rudel { }; - scalaMode = callPackage ../applications/editors/emacs-modes/scala-mode { }; + sbtMode = callPackage ../applications/editors/emacs-modes/sbt-mode { }; + + scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { }; + scalaMode2 = callPackage ../applications/editors/emacs-modes/scala-mode/v2.nix { }; sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { }; @@ -8075,6 +8396,8 @@ let inherit stdenv fetchurl openssl; }; + fldigi = callPackage ../applications/audio/fldigi { }; + fluidsynth = callPackage ../applications/audio/fluidsynth { }; fossil = callPackage ../applications/version-management/fossil { }; @@ -8246,7 +8569,7 @@ let goffice = goffice_0_8; }; - goffice_0_8 = callPackage ../desktops/gnome-3/misc/goffice/0.8.nix { + goffice_0_8 = callPackage ../desktops/gnome-3/3.10/misc/goffice/0.8.nix { inherit (gnome2) libglade libgnomeui; gconf = gnome2.GConf; libart = gnome2.libart_lgpl; @@ -8372,7 +8695,7 @@ let hexedit = callPackage ../applications/editors/hexedit { }; - hipchat = callPackage_i686 ../applications/networking/instant-messengers/hipchat { }; + hipchat = callPackage ../applications/networking/instant-messengers/hipchat { }; homebank = callPackage ../applications/office/homebank { }; @@ -8586,6 +8909,8 @@ let lxdvdrip = callPackage ../applications/video/lxdvdrip { }; + handbrake = callPackage ../applications/video/handbrake { }; + lynx = callPackage ../applications/networking/browsers/lynx { }; lyx = callPackage ../applications/misc/lyx { }; @@ -8631,6 +8956,8 @@ let minicom = callPackage ../tools/misc/minicom { }; + minimodem = callPackage ../applications/audio/minimodem { }; + minidjvu = callPackage ../applications/graphics/minidjvu { }; mirage = callPackage ../applications/graphics/mirage {}; @@ -8711,6 +9038,7 @@ let }; mpv = callPackage ../applications/video/mpv { + lua = lua5_1; bs2bSupport = true; quviSupport = true; cacaSupport = true; @@ -8843,6 +9171,8 @@ let opusTools = callPackage ../applications/audio/opus-tools { }; + pamixer = callPackage ../applications/audio/pamixer { }; + pan = callPackage ../applications/networking/newsreaders/pan { spellChecking = false; }; @@ -8904,6 +9234,10 @@ let inherit (xorg) libXpm; }; + potrace = callPackage ../applications/graphics/potrace {}; + + posterazor = callPackage ../applications/misc/posterazor { }; + pqiv = callPackage ../applications/graphics/pqiv { }; qiv = callPackage ../applications/graphics/qiv { }; @@ -8914,6 +9248,8 @@ let pstree = callPackage ../applications/misc/pstree { }; + pulseview = callPackage ../applications/science/electronics/pulseview { }; + puredata = callPackage ../applications/audio/puredata { }; pythonmagick = callPackage ../applications/graphics/PythonMagick { }; @@ -8922,8 +9258,6 @@ let qemu = callPackage ../applications/virtualization/qemu { }; - qemuImage = callPackage ../applications/virtualization/qemu/linux-img { }; - qmmp = callPackage ../applications/audio/qmmp { }; qsampler = callPackage ../applications/audio/qsampler { }; @@ -8984,6 +9318,7 @@ let rxvt_unicode = callPackage ../applications/misc/rxvt_unicode { perlSupport = true; gdkPixbufSupport = true; + unicode3Support = true; }; sakura = callPackage ../applications/misc/sakura { @@ -9010,6 +9345,8 @@ let seq24 = callPackage ../applications/audio/seq24 { }; + setbfree = callPackage ../applications/audio/setbfree { }; + sflphone = callPackage ../applications/networking/instant-messengers/sflphone { gtk = gtk3; }; @@ -9116,8 +9453,7 @@ let }); surf = callPackage ../applications/misc/surf { - libsoup = gnome.libsoup; - webkit = webkit_gtk2; + webkit = webkitgtk2; }; svk = perlPackages.SVK; @@ -9151,6 +9487,7 @@ let }; teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; + teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { }; taskjuggler = callPackage ../applications/misc/taskjuggler { }; @@ -9185,6 +9522,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 { }; @@ -9238,12 +9583,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 { }; @@ -9261,12 +9602,9 @@ let flup = pythonPackages.flup; }; - vim = callPackage ../applications/editors/vim { - # for Objective-C compilation - stdenv = if stdenv.isDarwin - then clangStdenv - else stdenv; - }; + vim = callPackage ../applications/editors/vim { }; + + macvim = callPackage ../applications/editors/vim/macvim.nix { }; vimWrapper = wrapVim vim; @@ -9311,7 +9649,10 @@ let vimrc = config.vim.vimrc or ""; }; - virtviewer = callPackage ../applications/virtualization/virt-viewer {}; + virtviewer = callPackage ../applications/virtualization/virt-viewer { + gtkvnc = gtkvnc.override { enableGTK3 = true; }; + spice_gtk = spice_gtk.override { enableGTK3 = true; }; + }; virtmanager = callPackage ../applications/virtualization/virt-manager { inherit (gnome) gnome_python; vte = gnome3.vte; @@ -9339,7 +9680,7 @@ let vorbisTools = callPackage ../applications/audio/vorbis-tools { }; vue = callPackage ../applications/misc/vue { - jre = oraclejre; + jre = icedtea7_jre; }; vwm = callPackage ../applications/window-managers/vwm { }; @@ -9350,6 +9691,8 @@ let weechat = callPackage ../applications/networking/irc/weechat { }; + weechatDevel = lowPrio (callPackage ../applications/networking/irc/weechat/devel.nix { }); + weston = callPackage ../applications/window-managers/weston { }; windowmaker = callPackage ../applications/window-managers/windowmaker { }; @@ -9357,8 +9700,8 @@ let winswitch = callPackage ../tools/X11/winswitch { }; wings = callPackage ../applications/graphics/wings { - erlang = erlangR14B04; - esdl = esdl.override { erlang = erlangR14B04; }; + erlang = erlangR14; + esdl = esdl.override { erlang = erlangR14; }; }; wmname = callPackage ../applications/misc/wmname { }; @@ -9453,6 +9796,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 { }; @@ -9525,6 +9870,8 @@ let qgis = callPackage ../applications/misc/qgis {}; + qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { }; + ykpers = callPackage ../applications/misc/ykpers {}; yoshimi = callPackage ../applications/audio/yoshimi { @@ -9533,7 +9880,10 @@ let zathuraCollection = recurseIntoAttrs (let callPackage = newScope pkgs.zathuraCollection; in - import ../applications/misc/zathura { inherit callPackage pkgs fetchurl; }); + import ../applications/misc/zathura { + inherit callPackage pkgs fetchurl; + useMupdf = config.zathura.useMupdf or false; + }); zathura = zathuraCollection.zathuraWrapper; @@ -9589,6 +9939,8 @@ let castle_combat = callPackage ../games/castle-combat { }; + chessdb = callPackage ../games/chessdb { }; + construoBase = lowPrio (callPackage ../games/construo { mesa = null; freeglut = null; @@ -9600,6 +9952,9 @@ let crack_attack = callPackage ../games/crack-attack { }; + crafty = callPackage ../games/crafty { }; + craftyFull = appendToName "full" (crafty.override { fullVariant = true; }); + crrcsim = callPackage ../games/crrcsim {}; dhewm3 = callPackage ../games/dhewm3 {}; @@ -9622,6 +9977,8 @@ let d2x_rebirth = callPackage ../games/d2x-rebirth { }; + eboard = callPackage ../games/eboard { }; + eduke32 = callPackage ../games/eduke32 { }; egoboo = callPackage ../games/egoboo { }; @@ -9704,6 +10061,8 @@ let oilrush = callPackage ../games/oilrush { }; + openra = callPackage ../games/openra { }; + openttd = callPackage ../games/openttd { zlib = zlibStatic; }; @@ -9797,6 +10156,8 @@ let tennix = callPackage ../games/tennix { }; + tibia = callPackage ../games/tibia { }; + tintin = callPackage ../games/tintin { }; tpm = callPackage ../games/thePenguinMachine { }; @@ -9885,7 +10246,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{ } ; @@ -9911,38 +10278,26 @@ let inherit (pkgs) libsoup libwnck gtk_doc gnome_doc_utils; }; - gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3 { + gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.10 { callPackage = pkgs.newScope pkgs.gnome3; self = pkgs.gnome3; }); + gnome3_12 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.12 { + callPackage = pkgs.newScope pkgs.gnome3_12; + }); + gnome = recurseIntoAttrs gnome2; hsetroot = callPackage ../tools/X11/hsetroot { }; - kde4 = recurseIntoAttrs pkgs.kde411; + kakasi = callPackage ../tools/text/kakasi { }; + + kde4 = recurseIntoAttrs pkgs.kde412; kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 ); - kde4_prev = recurseIntoAttrs pkgs.kde410; - - kde410 = kdePackagesFor (pkgs.kde410 // { - boost = boost149; - eigen = eigen2; - libotr = libotr_3_2; - libusb = libusb1; - libcanberra = libcanberra_kde; - }) ../desktops/kde-4.10; - - kde411 = kdePackagesFor (pkgs.kde411 // { - boost = boost149; - eigen = eigen2; - libotr = libotr_3_2; - libusb = libusb1; - libcanberra = libcanberra_kde; - }) ../desktops/kde-4.11; - - kde412 = kdePackagesFor (pkgs.kde412 // { + kde412 = kdePackagesFor (pkgs.kde412 // { eigen = eigen2; libusb = libusb1; libcanberra = libcanberra_kde; @@ -10169,10 +10524,14 @@ let liblapack = callPackage ../development/libraries/science/math/liblapack { }; + liblbfgs = callPackage ../development/libraries/science/math/liblbfgs { }; + openblas = callPackage ../development/libraries/science/math/openblas { }; mathematica = callPackage ../applications/science/math/mathematica { }; + sage = callPackage ../applications/science/math/sage { }; + ### SCIENCE/MOLECULAR-DYNAMICS gromacs = callPackage ../applications/science/molecular-dynamics/gromacs { @@ -10190,6 +10549,10 @@ let ### SCIENCE/LOGIC + abc-verifier = callPackage ../applications/science/logic/abc {}; + + alt-ergo = callPackage ../applications/science/logic/alt-ergo {}; + coq = callPackage ../applications/science/logic/coq { inherit (ocamlPackages) findlib lablgtk; camlp5 = ocamlPackages.camlp5_transitional; @@ -10232,6 +10595,8 @@ let logisim = callPackage ../applications/science/logic/logisim {}; + ltl2ba = callPackage ../applications/science/logic/ltl2ba {}; + matita = callPackage ../applications/science/logic/matita { ocaml = ocaml_3_11_2; inherit (ocamlPackages_3_11_2) findlib lablgtk ocaml_expat gmetadom ocaml_http @@ -10264,6 +10629,12 @@ let tptp = callPackage ../applications/science/logic/tptp {}; + verifast = callPackage_i686 ../applications/science/logic/verifast {}; + + why3 = callPackage ../applications/science/logic/why3 {}; + + yices = callPackage ../applications/science/logic/yices {}; + z3 = callPackage ../applications/science/logic/z3 {}; boolector = boolector15; @@ -10313,11 +10684,6 @@ let inherit (gnome) libglade gtksourceview; }; - R = callPackage ../applications/science/math/R { - inherit (xlibs) libX11 libXt; - texLive = texLiveAggregationFun { paths = [ texLive texLiveExtra ]; }; - }; - singular = callPackage ../applications/science/math/singular {}; scilab = callPackage ../applications/science/math/scilab { @@ -10356,6 +10722,8 @@ let golly = callPackage ../applications/science/misc/golly { }; + megam = callPackage ../applications/science/misc/megam { }; + root = callPackage ../applications/science/misc/root { }; simgrid = callPackage ../applications/science/misc/simgrid { }; @@ -10432,7 +10800,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; }; @@ -10448,6 +10816,8 @@ let hplip = callPackage ../misc/drivers/hplip { }; + hplipWithPlugin = hplip.override { withPlugin = true; }; + # using the new configuration style proposal which is unstable jack1d = callPackage ../misc/jackaudio/jack1.nix { }; @@ -10544,6 +10914,8 @@ let polytable = callPackage ../tools/typesetting/tex/polytable { }; + PPSSPP = callPackage ../misc/emulators/ppsspp { }; + uae = callPackage ../misc/emulators/uae { }; putty = callPackage ../applications/networking/remote/putty { }; @@ -10577,6 +10949,8 @@ let hotplugSupport = config.sane.hotplugSupport or true; }; + mkSaneConfig = callPackage ../applications/graphics/sane/config.nix { }; + saneFrontends = callPackage ../applications/graphics/sane/frontends.nix { }; seafile-shared = callPackage ../misc/seafile-shared { }; @@ -10678,8 +11052,7 @@ let vimPlugins = callPackage ../misc/vim-plugins { }; vimprobable2 = callPackage ../applications/networking/browsers/vimprobable2 { - inherit (gnome) libsoup; - webkit = webkit_gtk2; + webkit = webkitgtk2; }; vimprobable2Wrapper = wrapFirefox @@ -10687,8 +11060,7 @@ let }; vimb = callPackage ../applications/networking/browsers/vimb { - inherit (gnome) libsoup; - webkit = webkit_gtk2; + webkit = webkitgtk2; }; vimbWrapper = wrapFirefox { @@ -10718,6 +11090,8 @@ let x2x = callPackage ../tools/X11/x2x { }; + xboxdrv = callPackage ../misc/drivers/xboxdrv { }; + xosd = callPackage ../misc/xosd { }; xsane = callPackage ../applications/graphics/sane/xsane.nix { diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 5a84b4339e2..d803883413d 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -8,242 +8,141 @@ # The actual Haskell packages are composed in haskell-packages.nix. There is # more documentation in there. -{ makeOverridable, lowPrio, stdenv, pkgs, newScope, config, callPackage } : rec { +{ makeOverridable, lowPrio, hiPrio, stdenv, pkgs, newScope, config, callPackage } : rec { - # Preferences functions. - # - # Change these if you want to change the default versions of packages being used - # for a particular GHC version. + # haskell-packages.nix provides the latest possible version of every package, + # and this file overrides those version choices per compiler when appropriate. + # Older compilers inherit the overrides from newer ones. - ghcHEADPrefs = - 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; }; + ghcHEADPrefs = self : super : super // { + mtl = self.mtl_2_1_3_1; + cabalInstall_1_20_0_2 = super.cabalInstall_1_20_0_2.override { Cabal = null; }; + }; + + ghc782Prefs = self : super : ghcHEADPrefs self super // { + cabalInstall_1_20_0_2 = super.cabalInstall_1_20_0_2.override { Cabal = self.Cabal_1_20_0_0; }; + codex = super.codex.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_20_0_0; }; }; + }; + + ghc763Prefs = self : super : ghc782Prefs self super // { + ariadne = super.ariadne.override { + haskellNames = self.haskellNames.override { + haskellPackages = self.haskellPackages.override { Cabal = self.Cabal_1_18_1_3; }; + }; }; - - 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; + binaryConduit = super.binaryConduit.override { binary = self.binary_0_7_2_1; }; + bson = super.bson.override { dataBinaryIeee754 = self.dataBinaryIeee754.override { binary = self.binary_0_7_2_1; }; }; + criterion = super.criterion.override { + statistics = self.statistics.override { + vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_2_1; }; + }; }; + Elm = super.Elm.override { pandoc = self.pandoc.override { zipArchive = self.zipArchive.override { binary = self.binary_0_7_2_1; }; }; }; + gloss = null; # requires base >= 4.7 + haddock = self.haddock_2_13_2; + modularArithmetic = null; # requires base >= 4.7 + pipesBinary = super.pipesBinary.override { binary = self.binary_0_7_2_1; }; + transformers = self.transformers_0_3_0_0; # core packagen in ghc > 7.6.x + zipArchive = super.zipArchive_0_2_2_1; # works without binary 0.7.x + }; - ghc763Prefs = - self : self.haskellPlatformArgs_2013_2_0_0 self // { - haskellPlatform = self.haskellPlatform_2013_2_0_0; - extensibleExceptions = self.extensibleExceptions_0_1_1_4; - }; + ghc742Prefs = self : super : ghc763Prefs self super // { + aeson = self.aeson_0_7_0_4.override { blazeBuilder = self.blazeBuilder; }; + attoparsec = self.attoparsec_0_11_3_1; + extensibleExceptions = null; # core package in ghc <= 7.4.x + hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; + haddock = self.haddock_2_11_0; + haskeline = super.haskeline.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + scientific = self.scientific_0_2_0_2; + }; - ghc742Prefs = - self : self.haskellPlatformArgs_2012_4_0_0 self // { - haskellPlatform = self.haskellPlatform_2012_4_0_0; - cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; }; - cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; - haskeline = self.haskeline_0_7_1_1; - terminfo = self.terminfo_0_3_2_6; - }; + ghc722Prefs = self : super : ghc742Prefs self super // { + caseInsensitive = self.caseInsensitive_1_0_0_1; + deepseq = self.deepseq_1_3_0_2; + DrIFT = null; # doesn't compile with old GHC versions + haddock = self.haddock_2_9_4; + syb = self.syb_0_4_0; + }; - ghc741Prefs = - self : self.haskellPlatformArgs_2012_2_0_0 self // { - haskellPlatform = self.haskellPlatform_2012_2_0_0; - cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; }; - cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; - haskeline = self.haskeline_0_7_1_1; - terminfo = self.terminfo_0_3_2_6; - }; + ghc704Prefs = self : super : ghc722Prefs self super // { + binary = self.binary_0_7_2_1; # core package in ghc >= 7.2.2 + caseInsensitive = super.caseInsensitive; # undo the override from ghc 7.2.2 + haddock = self.haddock_2_9_2.override { alex = self.alex_2_3_5; }; + HsSyck = self.HsSyck_0_51; + jailbreakCabal = super.jailbreakCabal.override { Cabal = self.Cabal_1_16_0_3; }; + random = null; # core package in ghc <= 7.0.x + }; - ghc722Prefs = - self : self.haskellPlatformArgs_2012_2_0_0 self // { - haskellPlatform = self.haskellPlatform_2012_2_0_0; - deepseq = self.deepseq_1_3_0_2; - cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; }; - cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; }; - cabalInstall = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; }; - cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; - binary = self.binary_0_6_0_0; - prettyShow = self.prettyShow_1_2; - quickcheckIo = self.quickcheckIo.override { - HUnit = self.HUnit_1_2_5_2; - QuickCheck = self.QuickCheck2; - }; - hspecExpectations = self.hspecExpectations.override { - HUnit = self.HUnit_1_2_5_2; - }; - haskeline = self.haskeline_0_7_1_1; - terminfo = self.terminfo_0_3_2_6; - }; + ghc6123Prefs = self : super : ghc704Prefs self super // { + alex = self.alex_3_1_3; + async = self.async_2_0_1_4; + attoparsec = self.attoparsec_0_10_4_0; + cabalInstall = self.cabalInstall_1_16_0_2; + cgi = self.cgi_3001_1_7_5; + deepseq = self.deepseq_1_2_0_1; + dlist = super.dlist.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + exceptions = null; # none of our versions compile + haddock = self.haddock_2_7_2; + logict = super.logict.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + monadPar = self.monadPar_0_1_0_3; + nats = null; # none of our versions compile + parallel = self.parallel_3_2_0_3; + primitive = self.primitive_0_5_0_1; + reflection = super.reflection.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + scientific = null; # none of our versions compile + split = self.split_0_1_4_3; + stm = self.stm_2_4_2; + syb = null; # core package in ghc < 7 + tagged = super.tagged.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + temporary = null; # none of our versions compile + vectorAlgorithms = super.vectorAlgorithms.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + }; - ghc721Prefs = ghc722Prefs; - - ghc704Prefs = - self : self.haskellPlatformArgs_2011_4_0_0 self // { - haskellPlatform = self.haskellPlatform_2011_4_0_0; - cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; }; - cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; }; - monadPar = self.monadPar_0_1_0_3; - jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; }; - cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; - prettyShow = self.prettyShow_1_2; - binary = self.binary_0_6_0_0; - 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; - }; - hspecExpectations = self.hspecExpectations.override { - HUnit = self.HUnit_1_2_5_2; - }; - haskeline = self.haskeline_0_7_1_1; - terminfo = self.terminfo_0_3_2_6; - }; - - ghc703Prefs = - self : self.haskellPlatformArgs_2011_2_0_1 self // { - haskellPlatform = self.haskellPlatform_2011_2_0_1; - cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; }; - cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; zlib = self.zlib_0_5_3_3; }; - monadPar = self.monadPar_0_1_0_3; - jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; }; - cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; - prettyShow = self.prettyShow_1_2; - binary = self.binary_0_6_0_0; - 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; - }; - hspecExpectations = self.hspecExpectations.override { - HUnit = self.HUnit_1_2_5_2; - }; - haskeline = self.haskeline_0_7_1_1; - terminfo = self.terminfo_0_3_2_6; - }; - - ghc702Prefs = ghc701Prefs; - - ghc701Prefs = - self : self.haskellPlatformArgs_2011_2_0_0 self // { - haskellPlatform = self.haskellPlatform_2011_2_0_0; - cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; }; - cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { Cabal = self.Cabal_1_16_0_3; zlib = self.zlib_0_5_3_3; }; - monadPar = self.monadPar_0_1_0_3; - jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; }; - cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; - prettyShow = self.prettyShow_1_2; - binary = self.binary_0_6_0_0; - 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; - }; - hspecExpectations = self.hspecExpectations.override { - HUnit = self.HUnit_1_2_5_2; - }; - haskeline = self.haskeline_0_7_1_1; - terminfo = self.terminfo_0_3_2_6; - }; - - ghc6123Prefs = ghc6122Prefs; - - ghc6122Prefs = - self : self.haskellPlatformArgs_2010_2_0_0 self // { - haskellPlatform = self.haskellPlatform_2010_2_0_0; - mtl1 = self.mtl_1_1_0_2; - monadPar = self.monadPar_0_1_0_3; - deepseq = self.deepseq_1_1_0_2; - # deviating from Haskell platform here, to make some packages (notably statistics) compile - jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; }; - cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; - binary = self.binary_0_6_0_0; - cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { - Cabal = self.Cabal_1_16_0_3; zlib = self.zlib_0_5_3_3; - mtl = self.mtl_2_1_2; - HTTP = self.HTTP_4000_1_1.override { mtl = self.mtl_2_1_2; }; - }; - quickcheckIo = self.quickcheckIo.override { - HUnit = self.HUnit_1_2_5_2; - QuickCheck = self.QuickCheck2; - }; - hspecExpectations = self.hspecExpectations.override { - HUnit = self.HUnit_1_2_5_2; - }; - haskeline = self.haskeline_0_7_1_1; - terminfo = self.terminfo_0_3_2_6; - }; - - ghc6121Prefs = - self : self.haskellPlatformArgs_2010_1_0_0 self // { - haskellPlatform = self.haskellPlatform_2010_1_0_0; - mtl1 = self.mtl_1_1_0_2; - extensibleExceptions = self.extensibleExceptions_0_1_1_0; - deepseq = self.deepseq_1_1_0_2; - monadPar = self.monadPar_0_1_0_3; - # deviating from Haskell platform here, to make some packages (notably statistics) compile - jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; }; - cabal2nix = self.cabal2nix.override { Cabal = self.Cabal_1_16_0_3; hackageDb = self.hackageDb.override { Cabal = self.Cabal_1_16_0_3; }; }; - binary = self.binary_0_6_0_0; - cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { - Cabal = self.Cabal_1_16_0_3; - zlib = self.zlib_0_5_3_3; - mtl = self.mtl_2_1_2; - HTTP = self.HTTP_4000_1_1.override { mtl = self.mtl_2_1_2; }; - }; - quickcheckIo = self.quickcheckIo.override { - HUnit = self.HUnit_1_2_5_2; - QuickCheck = self.QuickCheck2; - }; - hspecExpectations = self.hspecExpectations.override { - HUnit = self.HUnit_1_2_5_2; - }; - haskeline = self.haskeline_0_7_1_1; - terminfo = self.terminfo_0_3_2_6; - }; - - ghc6104Prefs = - self : self.haskellPlatformArgs_2009_2_0_2 self // { - haskellPlatform = self.haskellPlatform_2009_2_0_2; - mtl = self.mtl_1_1_0_2; - mtl1 = self.mtl_1_1_0_2; - extensibleExceptions = self.extensibleExceptions_0_1_1_0; - text = self.text_0_11_0_6; - deepseq = self.deepseq_1_1_0_2; - monadPar = self.monadPar_0_1_0_3; - # deviating from Haskell platform here, to make some packages (notably statistics) compile - jailbreakCabal = self.jailbreakCabal.override { Cabal = self.disableTest self.Cabal_1_14_0; }; - binary = self.binary_0_6_0_0; - cabalInstall_1_16_0_2 = self.cabalInstall_1_16_0_2.override { - Cabal = self.Cabal_1_16_0_3; - zlib = self.zlib_0_5_3_3; - mtl = self.mtl_2_1_2; - HTTP = self.HTTP_4000_1_1.override { mtl = self.mtl_2_1_2; }; - }; - haskeline = self.haskeline_0_7_1_1; - terminfo = self.terminfo_0_3_2_6; - }; + ghc6104Prefs = self : super : ghc6123Prefs self super // { + alex = self.alex_2_3_5.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + async = null; # none of our versions compile + attoparsec = null; # none of our versions compile + binary = super.binary_0_7_2_1.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + caseInsensitive = super.caseInsensitive.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + GLUT = self.GLUT_2_2_2_1; + haddock = self.haddock_2_4_2; + happy = super.happy.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + hashable = super.hashable.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + hashtables = super.hashtables.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + HTTP = super.HTTP.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + HUnit = super.HUnit.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + network = super.network.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + OpenGLRaw = self.OpenGLRaw_1_3_0_0; + OpenGL = self.OpenGL_2_6_0_1; + QuickCheck = super.QuickCheck.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + stm = self.stm_2_4_2.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + tar = super.tar.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + text = self.text_0_11_2_3.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + time = self.time_1_1_2_4.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + zlib = super.zlib.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; }; + }; # Abstraction for Haskell packages collections packagesFun = makeOverridable ({ ghcPath , ghcBinary ? ghc6101Binary , prefFun - , extraPrefs ? (x : {}) + , extension ? (self : super : {}) , profExplicit ? false, profDefault ? false , modifyPrio ? lowPrio , extraArgs ? {} } : - import ./haskell-packages.nix { - inherit pkgs newScope modifyPrio; - prefFun = self : super : self // prefFun super // extraPrefs super; - # prefFun = self : super : self; - enableLibraryProfiling = - if profExplicit then profDefault - else config.cabal.libraryProfiling or profDefault; - ghc = callPackage ghcPath ({ ghc = ghcBinary; } // extraArgs); - }); + let haskellPackagesClass = import ./haskell-packages.nix { + inherit pkgs newScope modifyPrio; + enableLibraryProfiling = + if profExplicit then profDefault + else config.cabal.libraryProfiling or profDefault; + ghc = callPackage ghcPath ({ ghc = ghcBinary; } // extraArgs); + }; + haskellPackagesPrefsClass = self : let super = haskellPackagesClass self; in super // prefFun self super; + haskellPackagesExtensionClass = self : let super = haskellPackagesPrefsClass self; in super // extension self super; + haskellPackages = haskellPackagesExtensionClass haskellPackages; + in haskellPackages); defaultVersionPrioFun = profDefault : @@ -253,7 +152,7 @@ packages = args : let r = packagesFun args; in r // { lowPrio = r.override { modifyPrio = lowPrio; }; - highPrio = r.override { modifyPrio = x : x; }; + highPrio = r.override { modifyPrio = hiPrio; }; noProfiling = r.override { profDefault = false; profExplicit = true; modifyPrio = defaultVersionPrioFun false; }; @@ -266,16 +165,6 @@ # # GHC binaries are around for bootstrapping purposes - # If we'd want to reactivate the 6.6 and 6.8 series of ghc, we'd - # need to reenable an old binary such as this. - /* - ghc642Binary = lowPrio (import ../development/compilers/ghc/6.4.2-binary.nix { - inherit fetchurl stdenv ncurses gmp; - readline = if stdenv.system == "i686-linux" then readline4 else readline5; - perl = perl58; - }); - */ - ghc6101Binary = lowPrio (callPackage ../development/compilers/ghc/6.10.1-binary.nix { gmp = pkgs.gmp4; }); @@ -304,104 +193,14 @@ # Here, we associate compiler versions with bootstrap compiler versions and # preference functions. - packages_ghc6104 = - packages { ghcPath = ../development/compilers/ghc/6.10.4.nix; - prefFun = ghc6104Prefs; - }; - - packages_ghc6121 = - packages { ghcPath = ../development/compilers/ghc/6.12.1.nix; - prefFun = ghc6121Prefs; - }; - - packages_ghc6122 = - packages { ghcPath = ../development/compilers/ghc/6.12.2.nix; - prefFun = ghc6122Prefs; - }; - - packages_ghc6123 = - packages { ghcPath = ../development/compilers/ghc/6.12.3.nix; - prefFun = ghc6123Prefs; - }; - - # Will never make it into a platform release, severe bugs; leave at lowPrio. - packages_ghc701 = - packages { ghcPath = ../development/compilers/ghc/7.0.1.nix; - prefFun = ghc701Prefs; - }; - - packages_ghc702 = - packages { ghcPath = ../development/compilers/ghc/7.0.2.nix; - prefFun = ghc702Prefs; - }; - - packages_ghc703 = - packages { ghcPath = ../development/compilers/ghc/7.0.3.nix; - prefFun = ghc703Prefs; - }; - - # The following items are a bit convoluted, but they serve the - # following purpose: - # - for the default version of GHC, both profiling and - # non-profiling versions should be built by Hydra -- - # therefore, the _no_profiling and _profiling calls; - # - however, if a user just upgrades a profile, then the - # cabal/libraryProfiling setting should be respected; i.e., - # the versions not matching the profiling config setting - # should have low priority -- therefore, the use of - # defaultVersionPrioFun; - # - it should be possible to select library versions that - # respect the config setting using the standard - # packages_ghc704 path -- therefore, the additional - # call in packages_ghc704, without recurseIntoAttrs, - # so that Hydra doesn't build these. - - packages_ghc704 = - packages { ghcPath = ../development/compilers/ghc/7.0.4.nix; - ghcBinary = ghc6101BinaryDarwin; - prefFun = ghc704Prefs; - }; - - packages_ghc721 = - packages { ghcPath = ../development/compilers/ghc/7.2.1.nix; - ghcBinary = ghc6121BinaryDarwin; - prefFun = ghc721Prefs; - }; - - packages_ghc722 = - packages { ghcPath = ../development/compilers/ghc/7.2.2.nix; - ghcBinary = ghc6121BinaryDarwin; - prefFun = ghc722Prefs; - }; - - packages_ghc741 = - packages { ghcPath = ../development/compilers/ghc/7.4.1.nix; - ghcBinary = ghc6121BinaryDarwin; - prefFun = ghc741Prefs; - }; - - packages_ghc742 = - packages { ghcPath = ../development/compilers/ghc/7.4.2.nix; - ghcBinary = ghc6121BinaryDarwin; - prefFun = ghc742Prefs; - }; - - packages_ghc761 = - packages { ghcPath = ../development/compilers/ghc/7.6.1.nix; - ghcBinary = ghc704Binary; - prefFun = ghc763Prefs; - }; - - packages_ghc762 = - packages { ghcPath = ../development/compilers/ghc/7.6.2.nix; - ghcBinary = ghc704Binary; - prefFun = ghc763Prefs; - }; - - packages_ghc763 = - packages { ghcPath = ../development/compilers/ghc/7.6.3.nix; - ghcBinary = ghc704Binary; - prefFun = ghc763Prefs; + packages_ghcHEAD = + packages { ghcPath = ../development/compilers/ghc/head.nix; + ghcBinary = pkgs.haskellPackages.ghcPlain; + prefFun = ghcHEADPrefs; + extraArgs = { + happy = pkgs.haskellPackages.happy_1_19_2; + alex = pkgs.haskellPackages.alex_3_1_3; + }; }; packages_ghc782 = @@ -410,15 +209,38 @@ prefFun = ghc782Prefs; }; - # Reasonably current HEAD snapshot. Should *always* be lowPrio. - packages_ghcHEAD = - packages { ghcPath = ../development/compilers/ghc/head.nix; - ghcBinary = ghc742Binary; - prefFun = ghcHEADPrefs; - extraArgs = { - happy = pkgs.haskellPackages.happy_1_19_2; - alex = pkgs.haskellPackages.alex_3_1_3; - }; + packages_ghc763 = + packages { ghcPath = ../development/compilers/ghc/7.6.3.nix; + ghcBinary = ghc704Binary; + prefFun = ghc763Prefs; + }; + + packages_ghc742 = + packages { ghcPath = ../development/compilers/ghc/7.4.2.nix; + ghcBinary = ghc6121BinaryDarwin; + prefFun = ghc742Prefs; + }; + + packages_ghc722 = + packages { ghcPath = ../development/compilers/ghc/7.2.2.nix; + ghcBinary = ghc6121BinaryDarwin; + prefFun = ghc722Prefs; + }; + + packages_ghc704 = + packages { ghcPath = ../development/compilers/ghc/7.0.4.nix; + ghcBinary = ghc6101BinaryDarwin; + prefFun = ghc704Prefs; + }; + + packages_ghc6123 = + packages { ghcPath = ../development/compilers/ghc/6.12.3.nix; + prefFun = ghc6123Prefs; + }; + + packages_ghc6104 = + packages { ghcPath = ../development/compilers/ghc/6.10.4.nix; + prefFun = ghc6104Prefs; }; } diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index fcf14325a82..fd35dfb215f 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1,20 +1,5 @@ # Haskell packages in Nixpkgs # -# If you have any questions about the packages defined here or how to -# contribute, please contact Andres Loeh. -# -# This file defines all packages that depend on GHC, the Glasgow Haskell -# compiler. They are usually distributed via Hackage, the central Haskell -# package repository. Since at least the libraries are incompatible between -# different compiler versions, the whole file is parameterized by the GHC -# that is being used. GHC itself is composed in haskell-defaults.nix. -# -# Note that next to the packages defined here, there is another way to build -# arbitrary packages from HackageDB in Nix, using the hack-nix tool that is -# developed by Marc Weber. -# -> http://github.com/MarcWeber/hack-nix. Read its README file. -# -# # This file defines a function parameterized by the following: # # pkgs: @@ -58,7 +43,7 @@ # # For most packages, however, we keep only one version, and use default.nix. -{ pkgs, newScope, ghc, prefFun, modifyPrio ? (x : x) +{ pkgs, newScope, ghc, modifyPrio ? (x : x) , enableLibraryProfiling ? false , enableSharedLibraries ? pkgs.stdenv.lib.versionOlder "7.7" ghc.version , enableSharedExecutables ? pkgs.stdenv.lib.versionOlder "7.7" ghc.version @@ -70,17 +55,13 @@ # modifyPrio argument can be set to lowPrio to make all Haskell packages have # low priority. -let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x y); - self = (prefFun result) result; in +self : let callPackage = x : y : modifyPrio (newScope self x y); in # Indentation deliberately broken at this point to keep the bulk # of this file at a low indentation level. { - - finalReturn = self; - - callPackage = callPackage; + inherit callPackage; # GHC and its wrapper # @@ -114,9 +95,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x # packages. It isn't the Cabal library, which is spelled "Cabal". cabal = callPackage ../build-support/cabal { + Cabal = null; # prefer the Cabal version shipped with the compiler + hscolour = self.hscolourBootstrap; inherit enableLibraryProfiling enableCheckPhase enableStaticLibraries enableSharedLibraries enableSharedExecutables; glibcLocales = if pkgs.stdenv.isLinux then pkgs.glibcLocales else null; + extension = self : super : {}; }; # A variant of the cabal build driver that disables unit testing. @@ -127,383 +111,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x # Convenience helper function. disableTest = x: x.override { cabal = self.cabalNoTest; }; - # Haskell Platform - # - # We try to support several platform versions. For these, we set all - # versions explicitly. - # - # DO NOT CHANGE THE VERSIONS LISTED HERE from the actual Haskell - # Platform defaults. If you must update the defaults for a particular - # GHC version, change the "preferences function" for that GHC version - # in haskell-defaults.nix. - - # NOTE: 2013.2.0.0 is the current default. - - haskellPlatformArgs_future = self : { - inherit (self) cabal ghc; - async = self.async_2_0_1_5; - 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_1_0; - GLURaw = self.GLURaw_1_4_0_0; - 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_12; - HUnit = self.HUnit_1_2_5_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; - parallel = self.parallel_3_2_0_4; - parsec = self.parsec_3_1_5; - QuickCheck = self.QuickCheck_2_6; - random = self.random_1_0_1_1; - regexBase = self.regexBase_0_93_2; - regexCompat = self.regexCompat_0_95_1; - regexPosix = self.regexPosix_0_95_2; - split = self.split_0_2_2; - stm = self.stm_2_4_3; - syb = self.syb_0_4_1; - 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_3; - alex = self.alex_3_1_3; - 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 : { - inherit (self) cabal ghc; - async = self.async_2_0_1_4; - attoparsec = self.attoparsec_0_10_4_0; - caseInsensitive = self.caseInsensitive_1_0_0_1; - cgi = self.cgi_3001_1_7_5; - fgl = self.fgl_5_4_2_4; - GLUT = self.GLUT_2_4_0_0; - GLURaw = self.GLURaw_1_3_0_0; - haskellSrc = self.haskellSrc_1_0_1_5; - hashable = self.hashable_1_2_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; - mtl = self.mtl_2_1_2; - network = self.network_2_4_1_2; - OpenGL = self.OpenGL_2_8_0_0; - OpenGLRaw = self.OpenGLRaw_1_3_0_0; - parallel = self.parallel_3_2_0_3; - parsec = self.parsec_3_1_3; - QuickCheck = self.QuickCheck_2_6; - random = self.random_1_0_1_1; - regexBase = self.regexBase_0_93_2; - regexCompat = self.regexCompat_0_95_1; - regexPosix = self.regexPosix_0_95_2; - split = self.split_0_2_2; - stm = self.stm_2_4_2; - syb = self.syb_0_4_0; - text = self.text_0_11_3_1; - transformers = self.transformers_0_3_0_0; - unorderedContainers = self.unorderedContainers_0_2_3_0; - vector = self.vector_0_10_0_1; - xhtml = self.xhtml_3000_2_1; - zlib = self.zlib_0_5_4_1; - cabalInstall = self.cabalInstall_1_16_0_2; - alex = self.alex_3_0_5; - haddock = self.haddock_2_13_2; - happy = self.happy_1_18_10; - primitive = self.primitive_0_5_0_1; # semi-official, but specified - }; - - haskellPlatform_2013_2_0_0 = - callPackage ../development/libraries/haskell/haskell-platform/2013.2.0.0.nix - (self.haskellPlatformArgs_2013_2_0_0 self); - - haskellPlatformArgs_2012_4_0_0 = self : { - inherit (self) cabal ghc; - async = self.async_2_0_1_3; - cgi = self.cgi_3001_1_7_4; - fgl = self.fgl_5_4_2_4; - GLUT = self.GLUT_2_1_2_1; - haskellSrc = self.haskellSrc_1_0_1_5; - html = self.html_1_0_1_2; - HTTP = self.HTTP_4000_2_5; - HUnit = self.HUnit_1_2_5_1; - mtl = self.mtl_2_1_2; - network = self.network_2_3_1_0; - OpenGL = self.OpenGL_2_2_3_1; - parallel = self.parallel_3_2_0_3; - parsec = self.parsec_3_1_3; - QuickCheck = self.QuickCheck_2_5_1_1; - random = self.random_1_0_1_1; - regexBase = self.regexBase_0_93_2; - regexCompat = self.regexCompat_0_95_1; - regexPosix = self.regexPosix_0_95_2; - split = self.split_0_2_1_1; - stm = self.stm_2_4; - syb = self.syb_0_3_7; - text = self.text_0_11_2_3; - transformers = self.transformers_0_3_0_0; - vector = self.vector_0_10_0_1; - xhtml = self.xhtml_3000_2_1; - zlib = self.zlib_0_5_4_0; - cabalInstall = self.cabalInstall_0_14_0; - alex = self.alex_3_0_2; - haddock = self.haddock_2_11_0; - happy = self.happy_1_18_10; - primitive = self.primitive_0_5_0_1; # semi-official, but specified - }; - - haskellPlatform_2012_4_0_0 = - callPackage ../development/libraries/haskell/haskell-platform/2012.4.0.0.nix - (self.haskellPlatformArgs_2012_4_0_0 self); - - haskellPlatformArgs_2012_2_0_0 = self : { - inherit (self) cabal ghc; - cgi = self.cgi_3001_1_7_4; - fgl = self.fgl_5_4_2_4; - GLUT = self.GLUT_2_1_2_1; - haskellSrc = self.haskellSrc_1_0_1_5; - html = self.html_1_0_1_2; - HTTP = self.HTTP_4000_2_3; - HUnit = self.HUnit_1_2_4_2; - mtl = self.mtl_2_1_1; - network = self.network_2_3_0_13; - OpenGL = self.OpenGL_2_2_3_1; - parallel = self.parallel_3_2_0_2; - parsec = self.parsec_3_1_2; - QuickCheck = self.QuickCheck_2_4_2; - random = self.random_1_0_1_1; - regexBase = self.regexBase_0_93_2; - regexCompat = self.regexCompat_0_95_1; - regexPosix = self.regexPosix_0_95_1; - stm = self.stm_2_3; - syb = self.syb_0_3_6_1; - text = self.text_0_11_2_0; - transformers = self.transformers_0_3_0_0; - xhtml = self.xhtml_3000_2_1; - zlib = self.zlib_0_5_3_3; - cabalInstall = self.cabalInstall_0_14_0; - alex = self.alex_3_0_1; - haddock = self.haddock_2_10_0; - happy = self.happy_1_18_9; - }; - - haskellPlatform_2012_2_0_0 = - callPackage ../development/libraries/haskell/haskell-platform/2012.2.0.0.nix - (self.haskellPlatformArgs_2012_2_0_0 self); - - haskellPlatformArgs_2011_4_0_0 = self : { - inherit (self) cabal ghc; - cgi = self.cgi_3001_1_7_4; - fgl = self.fgl_5_4_2_4; - GLUT = self.GLUT_2_1_2_1; - haskellSrc = self.haskellSrc_1_0_1_4; - html = self.html_1_0_1_2; - HUnit = self.HUnit_1_2_4_2; - network = self.network_2_3_0_5; - OpenGL = self.OpenGL_2_2_3_0; - parallel = self.parallel_3_1_0_1; - parsec = self.parsec_3_1_1; - QuickCheck = self.QuickCheck_2_4_1_1; - regexBase = self.regexBase_0_93_2; - regexCompat = self.regexCompat_0_95_1; - regexPosix = self.regexPosix_0_95_1; - stm = self.stm_2_2_0_1; - syb = self.syb_0_3_3; - xhtml = self.xhtml_3000_2_0_4; - zlib = self.zlib_0_5_3_1; - HTTP = self.HTTP_4000_1_2; - deepseq = self.deepseq_1_1_0_2; - text = self.text_0_11_1_5; - transformers = self.transformers_0_2_2_0; - mtl = self.mtl_2_0_1_0; - cabalInstall = self.cabalInstall_0_10_2; - alex = self.alex_2_3_5; - happy = self.happy_1_18_6; - haddock = self.haddock_2_9_2; - }; - - haskellPlatform_2011_4_0_0 = - callPackage ../development/libraries/haskell/haskell-platform/2011.4.0.0.nix - (self.haskellPlatformArgs_2011_4_0_0 self); - - haskellPlatformArgs_2011_2_0_1 = self : { - inherit (self) cabal ghc; - cgi = self.cgi_3001_1_7_4; - fgl = self.fgl_5_4_2_3; - GLUT = self.GLUT_2_1_2_1; - haskellSrc = self.haskellSrc_1_0_1_4; - html = self.html_1_0_1_2; - HUnit = self.HUnit_1_2_2_3; - network = self.network_2_3_0_2; - OpenGL = self.OpenGL_2_2_3_0; - parallel = self.parallel_3_1_0_1; - parsec = self.parsec_3_1_1; - QuickCheck = self.QuickCheck_2_4_0_1; - regexBase = self.regexBase_0_93_2; - regexCompat = self.regexCompat_0_93_1; - regexPosix = self.regexPosix_0_94_4; - stm = self.stm_2_2_0_1; - syb = self.syb_0_3; - xhtml = self.xhtml_3000_2_0_1; - zlib = self.zlib_0_5_3_1; - HTTP = self.HTTP_4000_1_1; - deepseq = self.deepseq_1_1_0_2; - text = self.text_0_11_0_6; - transformers = self.transformers_0_2_2_0; - mtl = self.mtl_2_0_1_0; - cabalInstall = self.cabalInstall_0_10_2; - alex = self.alex_2_3_5; - happy = self.happy_1_18_6; - haddock = self.haddock_2_9_2; - }; - - haskellPlatform_2011_2_0_1 = - callPackage ../development/libraries/haskell/haskell-platform/2011.2.0.1.nix - (self.haskellPlatformArgs_2011_2_0_1 self); - - haskellPlatformArgs_2011_2_0_0 = self : { - inherit (self) cabal ghc; - cgi = self.cgi_3001_1_7_4; - fgl = self.fgl_5_4_2_3; - GLUT = self.GLUT_2_1_2_1; - haskellSrc = self.haskellSrc_1_0_1_4; - html = self.html_1_0_1_2; - HUnit = self.HUnit_1_2_2_3; - network = self.network_2_3_0_2; - OpenGL = self.OpenGL_2_2_3_0; - parallel = self.parallel_3_1_0_1; - parsec = self.parsec_3_1_1; - QuickCheck = self.QuickCheck_2_4_0_1; - regexBase = self.regexBase_0_93_2; - regexCompat = self.regexCompat_0_93_1; - regexPosix = self.regexPosix_0_94_4; - stm = self.stm_2_2_0_1; - syb = self.syb_0_3; - xhtml = self.xhtml_3000_2_0_1; - zlib = self.zlib_0_5_3_1; - HTTP = self.HTTP_4000_1_1; - deepseq = self.deepseq_1_1_0_2; - text = self.text_0_11_0_5; - transformers = self.transformers_0_2_2_0; - mtl = self.mtl_2_0_1_0; - cabalInstall = self.cabalInstall_0_10_2; - alex = self.alex_2_3_5; - happy = self.happy_1_18_6; - haddock = self.haddock_2_9_2; - }; - - haskellPlatform_2011_2_0_0 = - callPackage ../development/libraries/haskell/haskell-platform/2011.2.0.0.nix - (self.haskellPlatformArgs_2011_2_0_0 self); - - haskellPlatformArgs_2010_2_0_0 = self : { - inherit (self) cabal ghc; - cgi = self.cgi_3001_1_7_3; - fgl = self.fgl_5_4_2_3; - GLUT = self.GLUT_2_1_2_1; - haskellSrc = self.haskellSrc_1_0_1_3; - html = self.html_1_0_1_2; - HUnit = self.HUnit_1_2_2_1; - mtl = self.mtl_1_1_0_2; - network = self.network_2_2_1_7; - OpenGL = self.OpenGL_2_2_3_0; - parallel = self.parallel_2_2_0_1; - parsec = self.parsec_2_1_0_1; - QuickCheck = self.QuickCheck_2_1_1_1; - regexBase = self.regexBase_0_93_2; - regexCompat = self.regexCompat_0_93_1; - regexPosix = self.regexPosix_0_94_2; - stm = self.stm_2_1_2_1; - xhtml = self.xhtml_3000_2_0_1; - zlib = self.zlib_0_5_2_0; - HTTP = self.HTTP_4000_0_9; - deepseq = self.deepseq_1_1_0_0; - cabalInstall = self.cabalInstall_0_8_2; - alex = self.alex_2_3_3; - happy = self.happy_1_18_5; - haddock = self.haddock_2_7_2; - }; - - haskellPlatform_2010_2_0_0 = - callPackage ../development/libraries/haskell/haskell-platform/2010.2.0.0.nix - (self.haskellPlatformArgs_2010_2_0_0 self); - - haskellPlatformArgs_2010_1_0_0 = self : { - inherit (self) cabal ghc; - haskellSrc = self.haskellSrc_1_0_1_3; - html = self.html_1_0_1_2; - fgl = self.fgl_5_4_2_2; - cabalInstall = self.cabalInstall_0_8_0; - GLUT = self.GLUT_2_1_2_1; - OpenGL = self.OpenGL_2_2_3_0; - zlib = self.zlib_0_5_2_0; - alex = self.alex_2_3_2; - cgi = self.cgi_3001_1_7_2; - QuickCheck = self.QuickCheck_2_1_1_1; - HTTP = self.HTTP_4000_0_9; - HUnit = self.HUnit_1_2_2_1; - network = self.network_2_2_1_7; - parallel = self.parallel_2_2_0_1; - parsec = self.parsec_2_1_0_1; - regexBase = self.regexBase_0_93_1; - regexCompat = self.regexCompat_0_92; - regexPosix = self.regexPosix_0_94_1; - stm = self.stm_2_1_1_2; - xhtml = self.xhtml_3000_2_0_1; - haddock = self.haddock_2_7_2; - happy = self.happy_1_18_4; - }; - - haskellPlatform_2010_1_0_0 = - callPackage ../development/libraries/haskell/haskell-platform/2010.1.0.0.nix - (self.haskellPlatformArgs_2010_1_0_0 self); - - haskellPlatformArgs_2009_2_0_2 = self : { - inherit (self) cabal ghc; - time = self.time_1_1_2_4; - haddock = self.haddock_2_4_2; - cgi = self.cgi_3001_1_7_1; - editline = self.editline_0_2_1_0; - fgl = self.fgl_5_4_2_2; - GLUT = self.GLUT_2_1_1_2; - haskellSrc = self.haskellSrc_1_0_1_3; - html = self.html_1_0_1_2; - HUnit = self.HUnit_1_2_0_3; - network = self.network_2_2_1_4; - OpenGL = self.OpenGL_2_2_1_1; - parallel = self.parallel_1_1_0_1; - parsec = self.parsec_2_1_0_1; - QuickCheck = self.QuickCheck_1_2_0_0; - regexBase = self.regexBase_0_72_0_2; - regexCompat = self.regexCompat_0_71_0_1; - regexPosix = self.regexPosix_0_72_0_3; - stm = self.stm_2_1_1_2; - xhtml = self.xhtml_3000_2_0_1; - zlib = self.zlib_0_5_0_0; - HTTP = self.HTTP_4000_0_6; - cabalInstall = self.cabalInstall_0_6_2; - alex = self.alex_2_3_1; - happy = self.happy_1_18_4; - }; - - haskellPlatform_2009_2_0_2 = - callPackage ../development/libraries/haskell/haskell-platform/2009.2.0.2.nix - (self.haskellPlatformArgs_2009_2_0_2 self); - # Haskell libraries. acidState = callPackage ../development/libraries/haskell/acid-state {}; - Agda = callPackage ../development/libraries/haskell/Agda {}; - accelerate = callPackage ../development/libraries/haskell/accelerate {}; accelerateCuda = callPackage ../development/libraries/haskell/accelerate-cuda {}; @@ -528,12 +139,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x aes = callPackage ../development/libraries/haskell/aes {}; - aeson = callPackage ../development/libraries/haskell/aeson { - blazeBuilder = if (pkgs.stdenv.lib.versionOlder ghc.version "7.6") then self.blazeBuilder else null; - }; + aeson_0_7_0_4 = callPackage ../development/libraries/haskell/aeson/0.7.0.4.nix { blazeBuilder = null; }; + aeson_0_7_0_6 = callPackage ../development/libraries/haskell/aeson/0.7.0.6.nix { blazeBuilder = null; }; + aeson = self.aeson_0_7_0_6; aesonPretty = callPackage ../development/libraries/haskell/aeson-pretty {}; + aesonQq = callPackage ../development/libraries/haskell/aeson-qq {}; + alternativeIo = callPackage ../development/libraries/haskell/alternative-io {}; alsaCore = callPackage ../development/libraries/haskell/alsa-core {}; @@ -552,18 +165,7 @@ 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_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; - }; - }; - }; + ariadne = callPackage ../development/libraries/haskell/ariadne {}; arithmoi = callPackage ../development/libraries/haskell/arithmoi {}; @@ -579,8 +181,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x asn1Types = callPackage ../development/libraries/haskell/asn1-types {}; - AspectAG = callPackage ../development/libraries/haskell/AspectAG {}; - async_2_0_1_3 = callPackage ../development/libraries/haskell/async/2.0.1.3.nix {}; async_2_0_1_4 = callPackage ../development/libraries/haskell/async/2.0.1.4.nix {}; async_2_0_1_5 = callPackage ../development/libraries/haskell/async/2.0.1.5.nix {}; @@ -593,8 +193,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x 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_2_1 = callPackage ../development/libraries/haskell/attoparsec/0.11.2.1.nix {}; - attoparsec = self.attoparsec_0_10_4_0; + attoparsec_0_11_3_1 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.1.nix {}; + attoparsec_0_11_3_4 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.4.nix {}; + attoparsec = self.attoparsec_0_11_3_4; attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {}; @@ -630,18 +231,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x bimap = callPackage ../development/libraries/haskell/bimap {}; - binary_0_6_0_0 = callPackage ../development/libraries/haskell/binary/0.6.0.0.nix {}; - binary_0_7_1_0 = callPackage ../development/libraries/haskell/binary/0.7.1.0.nix {}; - binary = null; # core package starting with GHC 7.4.x + binary_0_6_1_0 = callPackage ../development/libraries/haskell/binary/0.6.1.0.nix {}; + binary_0_7_2_1 = callPackage ../development/libraries/haskell/binary/0.7.2.1.nix {}; + binary = null; # core package since ghc >= 7.2.x - binaryConduit = callPackage ../development/libraries/haskell/binary-conduit { - binary = self.binary_0_7_1_0; - }; + binaryConduit = callPackage ../development/libraries/haskell/binary-conduit {}; binaryShared = callPackage ../development/libraries/haskell/binary-shared {}; bindingsDSL = callPackage ../development/libraries/haskell/bindings-DSL {}; + bindingsGLFW = callPackage ../development/libraries/haskell/bindings-GLFW {}; + bindingsLibusb = callPackage ../development/libraries/haskell/bindings-libusb { libusb = pkgs.libusb1; }; @@ -670,23 +271,30 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x blazeTextual = callPackage ../development/libraries/haskell/blaze-textual {}; + BlogLiterately = callPackage ../development/libraries/haskell/BlogLiterately {}; + bloomfilter = callPackage ../development/libraries/haskell/bloomfilter {}; bmp = callPackage ../development/libraries/haskell/bmp { - binary = self.binary_0_7_1_0; + binary = self.binary_0_7_2_1; }; Boolean = callPackage ../development/libraries/haskell/Boolean {}; + boolExtras = callPackage ../development/libraries/haskell/bool-extras {}; + + boundingboxes_0_1_1 = callPackage ../development/libraries/haskell/boundingboxes/0.1.1.nix {}; + boundingboxes_0_2 = callPackage ../development/libraries/haskell/boundingboxes/0.2.nix {}; + boundingboxes = self.boundingboxes_0_2; + brainfuck = callPackage ../development/libraries/haskell/brainfuck {}; - bson = callPackage ../development/libraries/haskell/bson { - binary = self.binary_0_7_1_0; - dataBinaryIeee754 = self.dataBinaryIeee754.override { binary = self.binary_0_7_1_0; }; - }; + bson = callPackage ../development/libraries/haskell/bson {}; boomerang = callPackage ../development/libraries/haskell/boomerang {}; + bv = callPackage ../development/libraries/haskell/bv {}; + byteable = callPackage ../development/libraries/haskell/byteable {}; bytedump = callPackage ../development/libraries/haskell/bytedump {}; @@ -705,17 +313,22 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x 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_3 = callPackage ../development/libraries/haskell/Cabal/1.18.1.3.nix { cabal = self.cabal.override { Cabal = null; }; }; - Cabal = null; # core package in GHC + Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix {}; + Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix {}; + Cabal_1_18_1_3 = callPackage ../development/libraries/haskell/Cabal/1.18.1.3.nix {}; + Cabal_1_20_0_0 = callPackage ../development/libraries/haskell/Cabal/1.20.0.0.nix {}; + Cabal = null; # core package since forever cabalFileTh = callPackage ../development/libraries/haskell/cabal-file-th {}; + cabalLenses = callPackage ../development/libraries/haskell/cabal-lenses {}; + cabalMacosx = callPackage ../development/libraries/haskell/cabal-macosx {}; cairo = callPackage ../development/libraries/haskell/cairo { @@ -725,6 +338,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x carray = callPackage ../development/libraries/haskell/carray {}; + categories = callPackage ../development/libraries/haskell/categories {}; + cassava = callPackage ../development/libraries/haskell/cassava {}; caseInsensitive_1_0_0_1 = callPackage ../development/libraries/haskell/case-insensitive/1.0.0.1.nix {}; @@ -734,6 +349,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cautiousFile = callPackage ../development/libraries/haskell/cautious-file {}; + CCdelcont = callPackage ../development/libraries/haskell/CC-delcont {}; + cereal = callPackage ../development/libraries/haskell/cereal {}; cerealConduit = callPackage ../development/libraries/haskell/cereal-conduit {}; @@ -755,11 +372,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ChartDiagrams = callPackage ../development/libraries/haskell/Chart-diagrams {}; ChartGtk = callPackage ../development/libraries/haskell/Chart-gtk {}; - ChasingBottoms = callPackage ../development/libraries/haskell/ChasingBottoms {}; + ChasingBottoms = callPackage ../development/libraries/haskell/ChasingBottoms { QuickCheck = self.QuickCheck_2_6; }; cheapskate = callPackage ../development/libraries/haskell/cheapskate {}; - checkers = callPackage ../development/libraries/haskell/checkers {}; + checkers = callPackage ../development/libraries/haskell/checkers { QuickCheck = self.QuickCheck_2_6; }; chell = callPackage ../development/libraries/haskell/chell {}; @@ -801,6 +418,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x colorizeHaskell = callPackage ../development/libraries/haskell/colorize-haskell {}; + colors = callPackage ../development/libraries/haskell/colors {}; + colour = callPackage ../development/libraries/haskell/colour {}; comonad = callPackage ../development/libraries/haskell/comonad {}; @@ -811,10 +430,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x compactStringFix = callPackage ../development/libraries/haskell/compact-string-fix {}; + compdata = callPackage ../development/libraries/haskell/compdata {}; + + composition = callPackage ../development/libraries/haskell/composition {}; + + compressed = callPackage ../development/libraries/haskell/compressed {}; + concatenative = callPackage ../development/libraries/haskell/concatenative {}; concreteTyperep = callPackage ../development/libraries/haskell/concreteTyperep {}; + cond = callPackage ../development/libraries/haskell/cond {}; + conduit = callPackage ../development/libraries/haskell/conduit {}; conduitCombinators = callPackage ../development/libraries/haskell/conduit-combinators {}; @@ -829,11 +456,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x constraints = callPackage ../development/libraries/haskell/constraints {}; + controlBool = callPackage ../development/libraries/haskell/control-bool {}; + 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 {}; @@ -919,6 +550,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x dataLens = callPackage ../development/libraries/haskell/data-lens {}; + dataLensLight = callPackage ../development/libraries/haskell/data-lens-light {}; + dataLensTemplate = callPackage ../development/libraries/haskell/data-lens-template {}; dataMemocombinators = callPackage ../development/libraries/haskell/data-memocombinators {}; @@ -931,6 +564,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x dateCache = callPackage ../development/libraries/haskell/date-cache {}; + dataChecked = callPackage ../development/libraries/haskell/data-checked {}; + datetime = callPackage ../development/libraries/haskell/datetime {}; DAV = callPackage ../development/libraries/haskell/DAV {}; @@ -943,7 +578,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x deepseq_1_1_0_2 = callPackage ../development/libraries/haskell/deepseq/1.1.0.2.nix {}; deepseq_1_2_0_1 = callPackage ../development/libraries/haskell/deepseq/1.2.0.1.nix {}; deepseq_1_3_0_2 = callPackage ../development/libraries/haskell/deepseq/1.3.0.2.nix {}; - deepseq = null; # a core package in recent GHCs + deepseq = null; # core package since ghc >= 7.4.x deepseqTh = callPackage ../development/libraries/haskell/deepseq-th {}; @@ -997,6 +632,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x distributive = callPackage ../development/libraries/haskell/distributive {}; + djinn = callPackage ../development/libraries/haskell/djinn {}; + dlist = callPackage ../development/libraries/haskell/dlist {}; dlistInstances = callPackage ../development/libraries/haskell/dlist-instances {}; @@ -1005,6 +642,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x doctest = callPackage ../development/libraries/haskell/doctest {}; + doctestProp = callPackage ../development/libraries/haskell/doctest-prop {}; + dotgen = callPackage ../development/libraries/haskell/dotgen {}; doubleConversion = callPackage ../development/libraries/haskell/double-conversion {}; @@ -1015,14 +654,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x DRBG = callPackage ../development/libraries/haskell/DRBG {}; - 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 {}; + dynamicCabal = callPackage ../development/libraries/haskell/dynamic-cabal {}; + dyre = callPackage ../development/libraries/haskell/dyre {}; editDistance = callPackage ../development/libraries/haskell/edit-distance {}; @@ -1032,16 +671,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x editline = self.editline_0_2_1_1; ekg = callPackage ../development/libraries/haskell/ekg {}; + ekgCore = callPackage ../development/libraries/haskell/ekg-core {}; elerea = callPackage ../development/libraries/haskell/elerea {}; - 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; }; - }; - }; + Elm = callPackage ../development/compilers/elm/elm.nix {}; elmServer = callPackage ../development/compilers/elm/elm-server.nix {}; @@ -1057,6 +691,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x enummapsetTh = callPackage ../development/libraries/haskell/enummapset-th {}; + enumset = callPackage ../development/libraries/haskell/enumset {}; + entropy = callPackage ../development/libraries/haskell/entropy {}; erf = callPackage ../development/libraries/haskell/erf {}; @@ -1079,25 +715,29 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x exceptionTransformers = callPackage ../development/libraries/haskell/exception-transformers {}; - exceptions = callPackage ../development/libraries/haskell/exceptions { - QuickCheck = self.QuickCheck_2_5_1_1; - }; + exceptions = callPackage ../development/libraries/haskell/exceptions {}; explicitException = callPackage ../development/libraries/haskell/explicit-exception {}; 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 {}; + fayText = callPackage ../development/libraries/haskell/fay-text {}; + 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 + filepath_1_3_0_2 = callPackage ../development/libraries/haskell/filepath/1.3.0.2.nix {}; + filepath = null; # core package since forever fileLocation = callPackage ../development/libraries/haskell/file-location {}; + fmlist = callPackage ../development/libraries/haskell/fmlist {}; + ftphs = callPackage ../development/libraries/haskell/ftphs {}; extensibleEffects = callPackage ../development/libraries/haskell/extensible-effects {}; @@ -1106,7 +746,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x extensibleExceptions_0_1_1_2 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.2.nix {}; extensibleExceptions_0_1_1_3 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.3.nix {}; extensibleExceptions_0_1_1_4 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.4.nix {}; - extensibleExceptions = null; # a core package in recent GHCs + extensibleExceptions = self.extensibleExceptions_0_1_1_4; failure = callPackage ../development/libraries/haskell/failure {}; @@ -1139,7 +779,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x fgl_5_4_2_2 = callPackage ../development/libraries/haskell/fgl/5.4.2.2.nix {}; fgl_5_4_2_3 = callPackage ../development/libraries/haskell/fgl/5.4.2.3.nix {}; fgl_5_4_2_4 = callPackage ../development/libraries/haskell/fgl/5.4.2.4.nix {}; - fgl = self.fgl_5_4_2_4; + fgl_5_5_0_1 = callPackage ../development/libraries/haskell/fgl/5.5.0.1.nix {}; + fgl = self.fgl_5_5_0_1; fglVisualize = callPackage ../development/libraries/haskell/fgl-visualize {}; @@ -1151,8 +792,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x free = callPackage ../development/libraries/haskell/free {}; + freeGame_1_0_5 = callPackage ../development/libraries/haskell/free-game/1.0.5.nix { + boundingboxes = self.boundingboxes_0_1_1; + }; + freeGame_1_1 = callPackage ../development/libraries/haskell/free-game/1.1.nix {}; + freeGame = self.freeGame_1_1; + fsnotify = callPackage ../development/libraries/haskell/fsnotify {}; + freetype2 = callPackage ../development/libraries/haskell/freetype2 {}; + + fuzzcheck = callPackage ../development/libraries/haskell/fuzzcheck {}; + gamma = callPackage ../development/libraries/haskell/gamma {}; geniplate = callPackage ../development/libraries/haskell/geniplate {}; @@ -1171,6 +822,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ghcEventsAnalyze = callPackage ../development/tools/haskell/ghc-events-analyze {}; + ghcGcTune = callPackage ../development/tools/haskell/ghc-gc-tune {}; + ghcHeapView = callPackage ../development/libraries/haskell/ghc-heap-view { cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled }; @@ -1211,6 +864,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x GLFW = callPackage ../development/libraries/haskell/GLFW {}; + GLFWB = callPackage ../development/libraries/haskell/GLFW-b {}; + glib = callPackage ../development/libraries/haskell/glib { glib = pkgs.glib; libc = pkgs.stdenv.gcc.libc; @@ -1230,26 +885,30 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x glpkHs = callPackage ../development/libraries/haskell/glpk-hs {}; - GLURaw_1_3_0_0 = callPackage ../development/libraries/haskell/GLURaw/1.3.0.0.nix {}; - GLURaw_1_4_0_0 = callPackage ../development/libraries/haskell/GLURaw/1.4.0.0.nix {}; - GLURaw = self.GLURaw_1_4_0_0; + GLURaw_1_3_0_0 = callPackage ../development/libraries/haskell/GLURaw/1.3.0.0.nix { OpenGLRaw = self.OpenGLRaw_1_3_0_0; }; + GLURaw_1_4_0_1 = callPackage ../development/libraries/haskell/GLURaw/1.4.0.1.nix {}; + GLURaw = self.GLURaw_1_4_0_1; GLUT_2_1_1_2 = callPackage ../development/libraries/haskell/GLUT/2.1.1.2.nix {}; GLUT_2_1_2_1 = callPackage ../development/libraries/haskell/GLUT/2.1.2.1.nix {}; GLUT_2_1_2_2 = callPackage ../development/libraries/haskell/GLUT/2.1.2.2.nix {}; GLUT_2_2_2_1 = callPackage ../development/libraries/haskell/GLUT/2.2.2.1.nix { - OpenGL = self.OpenGL_2_4_0_2; - }; - GLUT_2_3_1_0 = callPackage ../development/libraries/haskell/GLUT/2.3.1.0.nix { OpenGL = self.OpenGL_2_6_0_1; }; + GLUT_2_3_1_0 = callPackage ../development/libraries/haskell/GLUT/2.3.1.0.nix { + OpenGLRaw = self.OpenGLRaw_1_3_0_0; + OpenGL = self.OpenGL_2_6_0_1.override { OpenGLRaw = self.OpenGLRaw_1_3_0_0; GLURaw = self.GLURaw_1_3_0_0; }; + }; GLUT_2_4_0_0 = callPackage ../development/libraries/haskell/GLUT/2.4.0.0.nix { - OpenGL = self.OpenGL_2_8_0_0; + OpenGLRaw = self.OpenGLRaw_1_3_0_0; + OpenGL = self.OpenGL_2_8_0_0.override { OpenGLRaw = self.OpenGLRaw_1_3_0_0; GLURaw = self.GLURaw_1_3_0_0; }; }; - GLUT_2_5_1_0 = callPackage ../development/libraries/haskell/GLUT/2.5.1.0.nix { - OpenGL = self.OpenGL_2_9_1_0; + GLUT_2_5_1_1 = callPackage ../development/libraries/haskell/GLUT/2.5.1.1.nix { + OpenGL = self.OpenGL_2_9_2_0; }; - GLUT = self.GLUT_2_5_1_0; + GLUT = self.GLUT_2_5_1_1; + + GLUtil = callPackage ../development/libraries/haskell/GLUtil {}; gnuidn = callPackage ../development/libraries/haskell/gnuidn {}; @@ -1276,8 +935,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x graphviz = callPackage ../development/libraries/haskell/graphviz {}; + graphSCC = callPackage ../development/libraries/haskell/graphscc {}; + graphWrapper = callPackage ../development/libraries/haskell/graph-wrapper {}; + groom = callPackage ../development/libraries/haskell/groom {}; + groups = callPackage ../development/libraries/haskell/groups {}; groupoids = callPackage ../development/libraries/haskell/groupoids {}; @@ -1295,8 +958,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x 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; + hashable_1_2_2_0 = callPackage ../development/libraries/haskell/hashable/1.2.2.0.nix {}; + hashable = self.hashable_1_2_2_0; hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {}; @@ -1304,12 +967,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haskelldb = callPackage ../development/libraries/haskell/haskelldb {}; - haskeline_0_7_1_1 = callPackage ../development/libraries/haskell/haskeline/0.7.1.1.nix {}; - haskeline_0_7_1_2 = callPackage ../development/libraries/haskell/haskeline/0.7.1.2.nix {}; - haskeline = self.haskeline_0_7_1_2; + haskeline = callPackage ../development/libraries/haskell/haskeline {}; haskelineClass = callPackage ../development/libraries/haskell/haskeline-class {}; + haskellGenerate = callPackage ../development/libraries/haskell/haskell-generate {}; + haskellLexer = callPackage ../development/libraries/haskell/haskell-lexer {}; haskellMpi = callPackage ../development/libraries/haskell/haskell-mpi { @@ -1334,10 +997,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hastache = callPackage ../development/libraries/haskell/hastache {}; + hcltest = callPackage ../development/libraries/haskell/hcltest {}; + heredoc = callPackage ../development/libraries/haskell/heredoc {}; hexpat = callPackage ../development/libraries/haskell/hexpat {}; + hgal = callPackage ../development/libraries/haskell/hgal {}; + + hourglass = callPackage ../development/libraries/haskell/hourglass {}; + hseCpp = callPackage ../development/libraries/haskell/hse-cpp {}; hsimport = callPackage ../development/libraries/haskell/hsimport {}; @@ -1351,10 +1020,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x HTTP_4000_2_1 = callPackage ../development/libraries/haskell/HTTP/4000.2.1.nix {}; HTTP_4000_2_2 = callPackage ../development/libraries/haskell/HTTP/4000.2.2.nix {}; 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_5 = callPackage ../development/libraries/haskell/HTTP/4000.2.5.nix { network = self.network_2_4_1_2; }; HTTP_4000_2_8 = callPackage ../development/libraries/haskell/HTTP/4000.2.8.nix {}; - HTTP_4000_2_12 = callPackage ../development/libraries/haskell/HTTP/4000.2.12.nix {}; - HTTP = self.HTTP_4000_2_12; + HTTP_4000_2_15 = callPackage ../development/libraries/haskell/HTTP/4000.2.15.nix {}; + HTTP = self.HTTP_4000_2_15; httpAttoparsec = callPackage ../development/libraries/haskell/http-attoparsec {}; @@ -1368,6 +1037,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x httpCommon = callPackage ../development/libraries/haskell/http-common {}; + httpKit = callPackage ../development/libraries/haskell/http-kit {}; + httpReverseProxy = callPackage ../development/libraries/haskell/http-reverse-proxy {}; hackageDb = callPackage ../development/libraries/haskell/hackage-db {}; @@ -1394,6 +1065,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 {}; @@ -1402,8 +1075,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hint = callPackage ../development/libraries/haskell/hint {}; - Hipmunk = callPackage ../development/libraries/haskell/Hipmunk {}; - hit = callPackage ../development/libraries/haskell/hit {}; hjsmin = callPackage ../development/libraries/haskell/hjsmin {}; @@ -1418,6 +1089,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hmatrix = callPackage ../development/libraries/haskell/hmatrix {}; + hmatrix-special = callPackage ../development/libraries/haskell/hmatrix-special {}; + hoauth = callPackage ../development/libraries/haskell/hoauth {}; hoauth2 = callPackage ../development/libraries/haskell/hoauth2 {}; @@ -1435,6 +1108,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hoodleTypes = callPackage ../development/libraries/haskell/hoodle-types {}; hoogle = callPackage ../development/libraries/haskell/hoogle {}; + hoogleLocal = callPackage ../development/libraries/haskell/hoogle/local.nix { + parallel = pkgs.parallel; + }; hopenssl = callPackage ../development/libraries/haskell/hopenssl {}; @@ -1448,11 +1124,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hsBibutils = callPackage ../development/libraries/haskell/hs-bibutils {}; - hscolour = callPackage ../development/libraries/haskell/hscolour {}; - hsdns = callPackage ../development/libraries/haskell/hsdns {}; - hsemail = callPackage ../development/libraries/haskell/hsemail {}; + hsemail = if (pkgs.stdenv.lib.versionOlder ghc.version "7") then null else + callPackage ../development/libraries/haskell/hsemail {}; hslua = callPackage ../development/libraries/haskell/hslua { lua = pkgs.lua5_1; @@ -1462,7 +1137,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hsini = callPackage ../development/libraries/haskell/hsini {}; - HsSyck = callPackage ../development/libraries/haskell/HsSyck {}; + HsSyck_0_51 = callPackage ../development/libraries/haskell/HsSyck/0.51.nix {}; + HsSyck_0_52 = callPackage ../development/libraries/haskell/HsSyck/0.52.nix {}; + HsSyck = self.HsSyck_0_52; HsOpenSSL = callPackage ../development/libraries/haskell/HsOpenSSL {}; @@ -1474,19 +1151,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hsloggerTemplate = callPackage ../development/libraries/haskell/hslogger-template {}; - hspec = callPackage ../development/libraries/haskell/hspec { - QuickCheck = self.QuickCheck_2_7_3; - quickcheckIo = self.quickcheckIo.override { QuickCheck = self.QuickCheck_2_7_3; }; - }; + hspec = callPackage ../development/libraries/haskell/hspec {}; hspecExpectations = callPackage ../development/libraries/haskell/hspec-expectations {}; 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; }; - }; + hspecMeta = callPackage ../development/libraries/haskell/hspec-meta {}; hstatsd = callPackage ../development/libraries/haskell/hstatsd {}; @@ -1507,6 +1178,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x httpTypes = callPackage ../development/libraries/haskell/http-types {}; + holyProject = callPackage ../development/libraries/haskell/holy-project {}; + HUnit_1_2_0_3 = callPackage ../development/libraries/haskell/HUnit/1.2.0.3.nix {}; HUnit_1_2_2_1 = callPackage ../development/libraries/haskell/HUnit/1.2.2.1.nix {}; HUnit_1_2_2_3 = callPackage ../development/libraries/haskell/HUnit/1.2.2.3.nix {}; @@ -1538,6 +1211,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ieee754 = callPackage ../development/libraries/haskell/ieee754 {}; + imm = callPackage ../development/libraries/haskell/imm {}; + indents = callPackage ../development/libraries/haskell/indents {}; indexed = callPackage ../development/libraries/haskell/indexed {}; @@ -1566,6 +1241,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 {}; @@ -1580,21 +1257,22 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ixShapable = callPackage ../development/libraries/haskell/ix-shapable {}; + jack = callPackage ../development/libraries/haskell/jack {}; + JuicyPixels = callPackage ../development/libraries/haskell/JuicyPixels {}; jpeg = callPackage ../development/libraries/haskell/jpeg {}; - JsContracts = callPackage ../development/libraries/haskell/JsContracts { - WebBits = self.WebBits_1_0; - WebBitsHtml = self.WebBitsHtml_1_0_1; - }; - json = callPackage ../development/libraries/haskell/json {}; jsonAssertions = callPackage ../development/libraries/haskell/json-assertions {}; jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {}; + JuicyPixelsUtil = callPackage ../development/libraries/haskell/JuicyPixels-util {}; + + kanExtensions = callPackage ../development/libraries/haskell/kan-extensions {}; + kansasLava = callPackage ../development/libraries/haskell/kansas-lava {}; keys = callPackage ../development/libraries/haskell/keys {}; @@ -1602,18 +1280,18 @@ 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 {}; languageEcmascript = callPackage ../development/libraries/haskell/language-ecmascript {}; + languageGlsl = callPackage ../development/libraries/haskell/language-glsl {}; + languageJava = callPackage ../development/libraries/haskell/language-java {}; - languageJavascript = callPackage ../development/libraries/haskell/language-javascript { - alex = self.alex_3_1_3; - }; + languageJavascript = callPackage ../development/libraries/haskell/language-javascript {}; languageHaskellExtract = callPackage ../development/libraries/haskell/language-haskell-extract {}; @@ -1627,8 +1305,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x lazysmallcheck = callPackage ../development/libraries/haskell/lazysmallcheck {}; - leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix {}; - lens = callPackage ../development/libraries/haskell/lens {}; lensDatetime = callPackage ../development/libraries/haskell/lens-datetime {}; @@ -1663,6 +1339,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x List = callPackage ../development/libraries/haskell/List {}; + lists = callPackage ../development/libraries/haskell/lists {}; + + listExtras = callPackage ../development/libraries/haskell/listExtras {}; + listTries = callPackage ../development/libraries/haskell/list-tries {}; ListLike = callPackage ../development/libraries/haskell/ListLike {}; @@ -1685,8 +1365,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x lrucache = callPackage ../development/libraries/haskell/lrucache {}; - ltk = callPackage ../development/libraries/haskell/ltk {}; - lockfreeQueue = callPackage ../development/libraries/haskell/lockfree-queue {}; logfloat = callPackage ../development/libraries/haskell/logfloat {}; @@ -1701,6 +1379,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x maccatcher = callPackage ../development/libraries/haskell/maccatcher {}; + machines = callPackage ../development/libraries/haskell/machines {}; + markdownUnlit = callPackage ../development/libraries/haskell/markdown-unlit {}; mathFunctions = callPackage ../development/libraries/haskell/math-functions {}; @@ -1723,8 +1403,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x minimorph = callPackage ../development/libraries/haskell/minimorph {}; + minioperational = callPackage ../development/libraries/haskell/minioperational {}; + miniutter = callPackage ../development/libraries/haskell/miniutter { - binary = self.binary_0_7_1_0; + binary = self.binary_0_7_2_1; }; mimeMail = callPackage ../development/libraries/haskell/mime-mail {}; @@ -1735,9 +1417,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x missingForeign = callPackage ../development/libraries/haskell/missing-foreign {}; - MissingH = callPackage ../development/libraries/haskell/MissingH { - testpack = null; - }; + MissingH = callPackage ../development/libraries/haskell/MissingH { testpack = null; }; mmap = callPackage ../development/libraries/haskell/mmap {}; @@ -1749,8 +1429,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x monadControl = callPackage ../development/libraries/haskell/monad-control {}; + monadCoroutine = callPackage ../development/libraries/haskell/monad-coroutine {}; + monadcryptorandom = callPackage ../development/libraries/haskell/monadcryptorandom {}; + monadExtras = callPackage ../development/libraries/haskell/monad-extras {}; + + monadLib = callPackage ../development/libraries/haskell/monadlib {}; + monadloc = callPackage ../development/libraries/haskell/monadloc {}; monadLoops = callPackage ../development/libraries/haskell/monad-loops {}; @@ -1761,6 +1447,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x monadPar_0_3_4_6 = callPackage ../development/libraries/haskell/monad-par/0.3.4.6.nix {}; monadPar = self.monadPar_0_3_4_6; + monadParallel = callPackage ../development/libraries/haskell/monad-parallel {}; + monadParExtras = callPackage ../development/libraries/haskell/monad-par-extras {}; monadPeel = callPackage ../development/libraries/haskell/monad-peel {}; @@ -1769,8 +1457,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x MonadRandom = callPackage ../development/libraries/haskell/MonadRandom {}; + monadStm = callPackage ../development/libraries/haskell/monad-stm {}; + monadsTf = callPackage ../development/libraries/haskell/monads-tf {}; + monadUnify = callPackage ../development/libraries/haskell/monad-unify {}; + monoidExtras = callPackage ../development/libraries/haskell/monoid-extras {}; monoidTransformer = callPackage ../development/libraries/haskell/monoid-transformer {}; @@ -1783,19 +1475,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x mpppc = callPackage ../development/libraries/haskell/mpppc {}; + msgpack = callPackage ../development/libraries/haskell/msgpack {}; + mtl_1_1_0_2 = callPackage ../development/libraries/haskell/mtl/1.1.0.2.nix {}; mtl_1_1_1_1 = callPackage ../development/libraries/haskell/mtl/1.1.1.1.nix {}; mtl_2_0_1_0 = callPackage ../development/libraries/haskell/mtl/2.0.1.0.nix {}; - mtl_2_1_1 = callPackage ../development/libraries/haskell/mtl/2.1.1.nix { - transformers = self.transformers_0_3_0_0; - }; - mtl_2_1_2 = callPackage ../development/libraries/haskell/mtl/2.1.2.nix { - transformers = self.transformers_0_3_0_0; - }; - 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; + mtl_2_1_1 = callPackage ../development/libraries/haskell/mtl/2.1.1.nix {}; + mtl_2_1_2 = callPackage ../development/libraries/haskell/mtl/2.1.2.nix {}; + mtl_2_1_3_1 = callPackage ../development/libraries/haskell/mtl/2.1.3.1.nix {}; + mtl_2_2_0_1 = callPackage ../development/libraries/haskell/mtl/2.2.0.1.nix {}; + mtl = null; # tightly coupled with 'transformers' which is a core package mtlparse = callPackage ../development/libraries/haskell/mtlparse {}; @@ -1803,13 +1492,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x multiarg = callPackage ../development/libraries/haskell/multiarg {}; + multimap = callPackage ../development/libraries/haskell/multimap {}; + multiplate = callPackage ../development/libraries/haskell/multiplate {}; multirec = callPackage ../development/libraries/haskell/multirec {}; - multiset_0_2_1 = callPackage ../development/libraries/haskell/multiset/0.2.1.nix {}; - multiset_0_2_2 = callPackage ../development/libraries/haskell/multiset/0.2.2.nix {}; - multiset = self.multiset_0_2_1; # later versions work only with ghc 7.6 and beyond + multiset = callPackage ../development/libraries/haskell/multiset {}; murmurHash = callPackage ../development/libraries/haskell/murmur-hash {}; @@ -1822,8 +1511,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x mysqlSimple = callPackage ../development/libraries/haskell/mysql-simple {}; - NanoProlog = callPackage ../development/libraries/haskell/NanoProlog {}; - nanospec = callPackage ../development/libraries/haskell/nanospec {}; nat = callPackage ../development/libraries/haskell/nat {}; @@ -1849,14 +1536,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x network_2_3_0_13 = callPackage ../development/libraries/haskell/network/2.3.0.13.nix {}; network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {}; network_2_4_1_2 = callPackage ../development/libraries/haskell/network/2.4.1.2.nix {}; - network_2_4_2_2 = callPackage ../development/libraries/haskell/network/2.4.2.2.nix {}; - network = self.network_2_4_2_2; + network_2_5_0_0 = callPackage ../development/libraries/haskell/network/2.5.0.0.nix {}; + network = self.network_2_5_0_0; networkConduit = callPackage ../development/libraries/haskell/network-conduit {}; networkConduitTls = callPackage ../development/libraries/haskell/network-conduit-tls {}; networkInfo = callPackage ../development/libraries/haskell/network-info {}; + networkMetrics = callPackage ../development/libraries/haskell/network-metrics {}; + networkMulticast = callPackage ../development/libraries/haskell/network-multicast {}; networkProtocolXmpp = callPackage ../development/libraries/haskell/network-protocol-xmpp {}; @@ -1891,9 +1580,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x oeis = callPackage ../development/libraries/haskell/oeis {}; - OpenAL = callPackage ../development/libraries/haskell/OpenAL { - OpenGL = self.OpenGL_2_9_1_0; - }; + OpenAL = callPackage ../development/libraries/haskell/OpenAL {}; OpenGL_2_2_1_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.1.1.nix {}; OpenGL_2_2_3_0 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.0.nix {}; @@ -1901,20 +1588,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x OpenGL_2_4_0_2 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.2.nix {}; OpenGL_2_6_0_1 = callPackage ../development/libraries/haskell/OpenGL/2.6.0.1.nix {}; OpenGL_2_8_0_0 = callPackage ../development/libraries/haskell/OpenGL/2.8.0.0.nix {}; - OpenGL_2_9_1_0 = callPackage ../development/libraries/haskell/OpenGL/2.9.1.0.nix { - OpenGLRaw = self.OpenGLRaw_1_4_0_0; - GLURaw = self.GLURaw_1_4_0_0.override { OpenGLRaw = self.OpenGLRaw_1_4_0_0; }; - }; - OpenGL = self.OpenGL_2_9_1_0; + OpenGL_2_9_2_0 = callPackage ../development/libraries/haskell/OpenGL/2.9.2.0.nix {}; + OpenGL = self.OpenGL_2_9_2_0; OpenGLRaw_1_3_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.3.0.0.nix {}; OpenGLRaw_1_4_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.4.0.0.nix {}; - OpenGLRaw = self.OpenGLRaw_1_4_0_0; + OpenGLRaw_1_5_0_0 = callPackage ../development/libraries/haskell/OpenGLRaw/1.5.0.0.nix {}; + OpenGLRaw = self.OpenGLRaw_1_5_0_0; opensslStreams = callPackage ../development/libraries/haskell/openssl-streams {}; operational = callPackage ../development/libraries/haskell/operational {}; + opml = callPackage ../development/libraries/haskell/opml {}; + options = callPackage ../development/libraries/haskell/options {}; optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {}; @@ -1951,20 +1638,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x parsec_3_1_2 = callPackage ../development/libraries/haskell/parsec/3.1.2.nix {}; parsec_3_1_3 = callPackage ../development/libraries/haskell/parsec/3.1.3.nix {}; parsec_3_1_5 = callPackage ../development/libraries/haskell/parsec/3.1.5.nix {}; - parsec2 = self.parsec_2_1_0_1; - parsec3 = self.parsec_3_1_5; - parsec = self.parsec3; + parsec = self.parsec_3_1_5; 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; + parsers_0_11_0_1 = callPackage ../development/libraries/haskell/parsers/0.11.0.1.nix {}; + parsers = self.parsers_0_11_0_1; parsimony = callPackage ../development/libraries/haskell/parsimony {}; - Pathfinder = callPackage ../development/libraries/haskell/Pathfinder {}; - pathtype = callPackage ../development/libraries/haskell/pathtype {}; + patternArrows = callPackage ../development/libraries/haskell/pattern-arrows {}; + pbkdf = callPackage ../development/libraries/haskell/pbkdf {}; pcap = callPackage ../development/libraries/haskell/pcap {}; @@ -1995,9 +1680,7 @@ 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; - }; + pipesBinary = callPackage ../development/libraries/haskell/pipes-binary {}; pipesBytestring = callPackage ../development/libraries/haskell/pipes-bytestring {}; @@ -2030,6 +1713,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x libc = pkgs.stdenv.gcc.libc; }; + posixPaths = callPackage ../development/libraries/haskell/posix-paths {}; + postgresqlLibpq = callPackage ../development/libraries/haskell/postgresql-libpq { inherit (pkgs) postgresql; }; @@ -2040,25 +1725,29 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x pqueue = callPackage ../development/libraries/haskell/pqueue {}; + process_1_2_0_0 = callPackage ../development/libraries/haskell/process/1.2.0.0.nix {}; + process = null; # core package since forever + + profiteur = callPackage ../development/tools/haskell/profiteur {}; + + preludeExtras = callPackage ../development/libraries/haskell/prelude-extras {}; + 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; + presburger = callPackage ../development/libraries/haskell/presburger {}; + prettyclass = callPackage ../development/libraries/haskell/prettyclass {}; - prettyShow_1_2 = callPackage ../development/libraries/haskell/pretty-show/1.2.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_7; + prettyShow = callPackage ../development/libraries/haskell/pretty-show {}; punycode = callPackage ../development/libraries/haskell/punycode {}; - primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix {}; - primitive_0_5_2_1 = callPackage ../development/libraries/haskell/primitive/0.5.2.1.nix {}; - primitive = self.primitive_0_5_0_1; + primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix {}; + primitive_0_5_2_1 = callPackage ../development/libraries/haskell/primitive/0.5.2.1.nix {}; + primitive_0_5_3_0 = callPackage ../development/libraries/haskell/primitive/0.5.3.0.nix {}; + primitive = self.primitive_0_5_3_0; profunctors = callPackage ../development/libraries/haskell/profunctors {}; @@ -2070,15 +1759,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x processExtras = callPackage ../development/libraries/haskell/process-extras {}; - processLeksah = callPackage ../development/libraries/haskell/leksah/process-leksah.nix {}; - prolog = callPackage ../development/libraries/haskell/prolog {}; - prologGraphLib = callPackage ../development/libraries/haskell/prolog-graph-lib { - fgl = self.fgl_5_4_2_4; - }; - prologGraph = callPackage ../development/libraries/haskell/prolog-graph { - fgl = self.fgl_5_4_2_4; - }; + prologGraphLib = callPackage ../development/libraries/haskell/prolog-graph-lib {}; + prologGraph = callPackage ../development/libraries/haskell/prolog-graph {}; protocolBuffers = callPackage ../development/libraries/haskell/protocol-buffers {}; @@ -2090,6 +1773,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x pureMD5 = callPackage ../development/libraries/haskell/pureMD5 {}; + purescript = callPackage ../development/libraries/haskell/purescript {}; + pwstoreFast = callPackage ../development/libraries/haskell/pwstore-fast {}; QuickCheck_1_2_0_0 = callPackage ../development/libraries/haskell/QuickCheck/1.2.0.0.nix {}; @@ -2101,18 +1786,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x 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; + QuickCheck = self.QuickCheck_2_7_3; quickcheckAssertions = callPackage ../development/libraries/haskell/quickcheck-assertions {}; - quickcheckInstances = callPackage ../development/libraries/haskell/quickcheck-instances { - QuickCheck = self.QuickCheck_2_7_3; - }; + quickcheckInstances = callPackage ../development/libraries/haskell/quickcheck-instances {}; quickcheckIo = callPackage ../development/libraries/haskell/quickcheck-io {}; + quickcheckPropertyMonad = callPackage ../development/libraries/haskell/quickcheck-property-monad {}; + qrencode = callPackage ../development/libraries/haskell/qrencode { inherit (pkgs) qrencode; }; @@ -2120,7 +1803,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {}; random_1_0_1_1 = callPackage ../development/libraries/haskell/random/1.0.1.1.nix {}; - random = null; # core package until ghc-7.2.1 + random = self.random_1_0_1_1; randomFu = callPackage ../development/libraries/haskell/random-fu {}; @@ -2146,21 +1829,24 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x recaptcha = callPackage ../development/libraries/haskell/recaptcha {}; + recursionSchemes = callPackage ../development/libraries/haskell/recursion-schemes {}; + reducers = callPackage ../development/libraries/haskell/reducers {}; reflection = callPackage ../development/libraries/haskell/reflection {}; + regexApplicative = callPackage ../development/libraries/haskell/regex-applicative {}; + regexBase_0_72_0_2 = callPackage ../development/libraries/haskell/regex-base/0.72.0.2.nix {}; - regexBase_0_93_1 = callPackage ../development/libraries/haskell/regex-base/0.93.1.nix {}; - regexBase_0_93_2 = callPackage ../development/libraries/haskell/regex-base/0.93.2.nix {}; + regexBase_0_93_1 = callPackage ../development/libraries/haskell/regex-base/0.93.1.nix {}; + regexBase_0_93_2 = callPackage ../development/libraries/haskell/regex-base/0.93.2.nix {}; regexBase = self.regexBase_0_93_2; regexCompat_0_71_0_1 = callPackage ../development/libraries/haskell/regex-compat/0.71.0.1.nix {}; - regexCompat_0_92 = callPackage ../development/libraries/haskell/regex-compat/0.92.nix {}; - regexCompat_0_93_1 = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix {}; - regexCompat_0_95_1 = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix {}; - regexCompat93 = self.regexCompat_0_93_1; - regexCompat = self.regexCompat_0_71_0_1; + regexCompat_0_92 = callPackage ../development/libraries/haskell/regex-compat/0.92.nix {}; + regexCompat_0_93_1 = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix {}; + regexCompat_0_95_1 = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix {}; + regexCompat = self.regexCompat_0_95_1; regexCompatTdfa = callPackage ../development/libraries/haskell/regex-compat-tdfa {}; @@ -2176,8 +1862,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x regexTdfaText = callPackage ../development/libraries/haskell/regex-tdfa-text {}; - regexPCRE = callPackage ../development/libraries/haskell/regex-pcre {}; - regexPcre = self.regexPCRE; + regexPcre = callPackage ../development/libraries/haskell/regex-pcre {}; regexpr = callPackage ../development/libraries/haskell/regexpr {}; @@ -2202,6 +1887,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x rethinkdb = callPackage ../development/libraries/haskell/rethinkdb {}; + rex = callPackage ../development/libraries/haskell/rex {}; + rfc5051 = callPackage ../development/libraries/haskell/rfc5051 {}; robotsTxt = callPackage ../development/libraries/haskell/robots-txt {}; @@ -2220,7 +1907,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x sbv = callPackage ../development/libraries/haskell/sbv {}; - scientific = callPackage ../development/libraries/haskell/scientific {}; + scientific_0_2_0_2 = callPackage ../development/libraries/haskell/scientific/0.2.0.2.nix {}; + scientific_0_3_2_1 = callPackage ../development/libraries/haskell/scientific/0.3.2.1.nix {}; + scientific = self.scientific_0_3_2_1; scotty = callPackage ../development/libraries/haskell/scotty {}; @@ -2240,7 +1929,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x setenv = callPackage ../development/libraries/haskell/setenv {}; - shelly = callPackage ../development/libraries/haskell/shelly {}; + setlocale = callPackage ../development/libraries/haskell/setlocale {}; + + shelly_0_15_4_1 = callPackage ../development/libraries/haskell/shelly/0.15.4.1.nix {}; + shelly_1_5_3_1 = callPackage ../development/libraries/haskell/shelly {}; + shelly = if (pkgs.stdenv.lib.versionOlder ghc.version "7.6") + then self.shelly_0_15_4_1 + else self.shelly_1_5_3_1; simpleReflect = callPackage ../development/libraries/haskell/simple-reflect {}; @@ -2254,6 +1949,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x smallcheck = callPackage ../development/libraries/haskell/smallcheck {}; + smtLib = callPackage ../development/libraries/haskell/smtLib {}; + smtpMail = callPackage ../development/libraries/haskell/smtp-mail {}; smtpsGmail = callPackage ../development/libraries/haskell/smtps-gmail {}; @@ -2262,6 +1959,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x snapletAcidState = callPackage ../development/libraries/haskell/snaplet-acid-state {}; + snapletStripe = callPackage ../development/libraries/haskell/snaplet-stripe {}; + snapBlaze = callPackage ../development/libraries/haskell/snap-blaze/default.nix {}; snapCore = callPackage ../development/libraries/haskell/snap/core.nix {}; @@ -2280,6 +1979,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x sparse = callPackage ../development/libraries/haskell/sparse {}; + speculation = callPackage ../development/libraries/haskell/speculation {}; + + spoon = callPackage ../development/libraries/haskell/spoon {}; + srcloc = callPackage ../development/libraries/haskell/srcloc {}; stateref = callPackage ../development/libraries/haskell/stateref {}; @@ -2288,15 +1991,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x StateVar = callPackage ../development/libraries/haskell/StateVar {}; - 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; + statistics = callPackage ../development/libraries/haskell/statistics {}; statvfs = callPackage ../development/libraries/haskell/statvfs {}; @@ -2332,8 +2027,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x syb_0_3_7 = callPackage ../development/libraries/haskell/syb/0.3.7.nix {}; syb_0_4_0 = callPackage ../development/libraries/haskell/syb/0.4.0.nix {}; syb_0_4_1 = callPackage ../development/libraries/haskell/syb/0.4.1.nix {}; - syb = null; # by default, we assume that syb ships with GHC, which is - # true for the older GHC versions + syb = self.syb_0_4_1; sybWithClass = callPackage ../development/libraries/haskell/syb/syb-with-class.nix {}; @@ -2379,6 +2073,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x sourcemap = callPackage ../development/libraries/haskell/sourcemap {}; + split_0_1_4_3 = callPackage ../development/libraries/haskell/split/0.1.4.3.nix {}; 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; @@ -2400,6 +2095,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x stmConduit = callPackage ../development/libraries/haskell/stm-conduit {}; + stmStats = callPackage ../development/libraries/haskell/stm-stats {}; + storableComplex = callPackage ../development/libraries/haskell/storable-complex {}; storableRecord = callPackage ../development/libraries/haskell/storable-record {}; @@ -2426,6 +2123,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x systemPosixRedirect = callPackage ../development/libraries/haskell/system-posix-redirect {}; + systemTimeMonotonic = callPackage ../development/libraries/haskell/system-time-monotonic {}; + TableAlgebra = callPackage ../development/libraries/haskell/TableAlgebra {}; tabular = callPackage ../development/libraries/haskell/tabular {}; @@ -2448,9 +2147,7 @@ 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 { - QuickCheck = self.QuickCheck_2_7_3; - }; + tastyQuickcheck = callPackage ../development/libraries/haskell/tasty-quickcheck {}; tastyRerun = callPackage ../development/libraries/haskell/tasty-rerun {}; @@ -2462,6 +2159,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x temporary = callPackage ../development/libraries/haskell/temporary {}; + temporaryRc = callPackage ../development/libraries/haskell/temporary-rc {}; + Tensor = callPackage ../development/libraries/haskell/Tensor {}; terminalProgressBar = callPackage ../development/libraries/haskell/terminal-progress-bar {}; @@ -2477,7 +2176,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x testFrameworkHunit = callPackage ../development/libraries/haskell/test-framework-hunit {}; testFrameworkQuickcheck = callPackage ../development/libraries/haskell/test-framework-quickcheck { - QuickCheck = self.QuickCheck1; + QuickCheck = self.QuickCheck_1_2_0_1; # doesn't support version 2.x }; testFrameworkQuickcheck2 = callPackage ../development/libraries/haskell/test-framework-quickcheck2 {}; @@ -2497,8 +2196,8 @@ 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_1 = callPackage ../development/libraries/haskell/text/1.1.0.1.nix {}; - text = self.text_1_1_0_1; + text_1_1_1_2 = callPackage ../development/libraries/haskell/text/1.1.1.2.nix {}; + text = self.text_1_1_1_2; textFormat = callPackage ../development/libraries/haskell/text-format {}; @@ -2506,16 +2205,23 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x textStreamDecode = callPackage ../development/libraries/haskell/text-stream-decode {}; - tfRandom = callPackage ../development/libraries/haskell/tf-random {}; + tfRandom = if (pkgs.stdenv.lib.versionOlder ghc.version "7") then null else + callPackage ../development/libraries/haskell/tf-random {}; + + these = callPackage ../development/libraries/haskell/these {}; thespian = callPackage ../development/libraries/haskell/thespian {}; thDesugar = callPackage ../development/libraries/haskell/th-desugar {}; + thExpandSyns = callPackage ../development/libraries/haskell/th-expand-syns {}; + thExtras = callPackage ../development/libraries/haskell/th-extras {}; thLift = callPackage ../development/libraries/haskell/th-lift {}; + thLiftInstances = callPackage ../development/libraries/haskell/th-lift-instances {}; + thOrphans = callPackage ../development/libraries/haskell/th-orphans {}; threadmanager = callPackage ../development/libraries/haskell/threadmanager {}; @@ -2528,11 +2234,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x time_1_1_2_4 = callPackage ../development/libraries/haskell/time/1.1.2.4.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; + time = null; # core package since ghc >= 6.12.x - timeparsers = callPackage ../development/libraries/haskell/timeparsers {}; + timerep = callPackage ../development/libraries/haskell/timerep {}; + + timeparsers = callPackage ../development/libraries/haskell/timeparsers { + convertible = self.convertible_1_0_11_1; + }; timeRecurrence = callPackage ../development/libraries/haskell/time-recurrence {}; @@ -2543,17 +2251,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x timeCompat = callPackage ../development/libraries/haskell/time-compat {}; 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; + tls_1_2_8 = callPackage ../development/libraries/haskell/tls/1.2.8.nix {}; + tls = self.tls_1_2_8; 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 - (callPackage ../development/libraries/haskell/transformers/0.3.0.0.nix {}) else null; - transformers = self.transformers_0_3_0_0; + transformers_0_3_0_0 = callPackage ../development/libraries/haskell/transformers/0.3.0.0.nix {}; + transformers_0_4_1_0 = callPackage ../development/libraries/haskell/transformers/0.4.1.0.nix {}; + transformers = null; # core package since ghc >= 7.8.2 transformersBase = callPackage ../development/libraries/haskell/transformers-base {}; @@ -2581,6 +2289,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x typeLevelNaturalNumber = callPackage ../development/libraries/haskell/type-level-natural-number {}; + tz = callPackage ../development/libraries/haskell/tz { + pkgs_tzdata = pkgs.tzdata; + }; + + tzdata = callPackage ../development/libraries/haskell/tzdata {}; + unbound = callPackage ../development/libraries/haskell/unbound {}; unboundedDelays = callPackage ../development/libraries/haskell/unbounded-delays {}; @@ -2589,21 +2303,27 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x uniplate = callPackage ../development/libraries/haskell/uniplate {}; + units = callPackage ../development/libraries/haskell/units {}; + uniqueid = callPackage ../development/libraries/haskell/uniqueid {}; unixBytestring = callPackage ../development/libraries/haskell/unix-bytestring {}; unixCompat = callPackage ../development/libraries/haskell/unix-compat {}; + unixMemory = callPackage ../development/libraries/haskell/unix-memory {}; + unixProcessConduit = callPackage ../development/libraries/haskell/unix-process-conduit {}; 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; + unorderedContainers_0_2_4_0 = callPackage ../development/libraries/haskell/unordered-containers/0.2.4.0.nix {}; + unorderedContainers = self.unorderedContainers_0_2_4_0; uri = callPackage ../development/libraries/haskell/uri {}; @@ -2649,9 +2369,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x vect = callPackage ../development/libraries/haskell/vect {}; - vector_0_10_0_1 = callPackage ../development/libraries/haskell/vector/0.10.0.1.nix {}; - vector_0_10_9_1 = callPackage ../development/libraries/haskell/vector/0.10.9.1.nix {}; - vector = self.vector_0_10_9_1; + vector_0_10_0_1 = callPackage ../development/libraries/haskell/vector/0.10.0.1.nix {}; + vector_0_10_9_2 = callPackage ../development/libraries/haskell/vector/0.10.9.2.nix {}; + vector = self.vector_0_10_9_2; vectorAlgorithms = callPackage ../development/libraries/haskell/vector-algorithms {}; @@ -2665,6 +2385,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x vectorThUnbox = callPackage ../development/libraries/haskell/vector-th-unbox {}; + vinyl = callPackage ../development/libraries/haskell/vinyl {}; + void = callPackage ../development/libraries/haskell/void {}; vty = callPackage ../development/libraries/haskell/vty {}; @@ -2693,28 +2415,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x warpTls = callPackage ../development/libraries/haskell/warp-tls {}; - WebBits_1_0 = callPackage ../development/libraries/haskell/WebBits/1.0.nix { - parsec = self.parsec2; - }; - WebBits_2_0 = callPackage ../development/libraries/haskell/WebBits/2.0.nix { - parsec = self.parsec2; - }; - WebBits_2_2 = callPackage ../development/libraries/haskell/WebBits/2.2.nix {}; - WebBits = self.WebBits_2_2; - - WebBitsHtml_1_0_1 = callPackage ../development/libraries/haskell/WebBits-Html/1.0.1.nix { - WebBits = self.WebBits_2_0; - }; - WebBitsHtml_1_0_2 = callPackage ../development/libraries/haskell/WebBits-Html/1.0.2.nix { - WebBits = self.WebBits_2_0; - }; - WebBitsHtml = self.WebBitsHtml_1_0_2; + wcwidth = callPackage ../development/libraries/haskell/wcwidth {}; webRoutes = callPackage ../development/libraries/haskell/web-routes {}; webRoutesBoomerang = callPackage ../development/libraries/haskell/web-routes-boomerang {}; - websockets = callPackage ../development/libraries/haskell/websockets {}; + websockets = callPackage ../development/libraries/haskell/websockets { + testFrameworkQuickcheck2 = self.testFrameworkQuickcheck2.override { QuickCheck = self.QuickCheck_2_6; }; + }; websocketsSnap = callPackage ../development/libraries/haskell/websockets-snap {}; @@ -2732,6 +2441,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x word8 = callPackage ../development/libraries/haskell/word8 {}; + wreq = callPackage ../development/libraries/haskell/wreq {}; + wx = callPackage ../development/libraries/haskell/wxHaskell/wx.nix {}; wxc = callPackage ../development/libraries/haskell/wxHaskell/wxc.nix { @@ -2776,6 +2487,8 @@ 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 {}; @@ -2822,28 +2535,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x zeromq3Haskell = callPackage ../development/libraries/haskell/zeromq3-haskell { zeromq = pkgs.zeromq3; }; - zipArchive = callPackage ../development/libraries/haskell/zip-archive {}; + zeromq4Haskell = callPackage ../development/libraries/haskell/zeromq4-haskell { zeromq = pkgs.zeromq4; }; + + zipArchive_0_2_2_1 = callPackage ../development/libraries/haskell/zip-archive/0.2.2.1.nix {}; + zipArchive_0_2_3_2 = callPackage ../development/libraries/haskell/zip-archive/0.2.3.2.nix {}; + zipArchive = self.zipArchive_0_2_3_2; zipper = callPackage ../development/libraries/haskell/zipper {}; - zlib_0_5_0_0 = callPackage ../development/libraries/haskell/zlib/0.5.0.0.nix { - inherit (pkgs) zlib; - }; - zlib_0_5_2_0 = callPackage ../development/libraries/haskell/zlib/0.5.2.0.nix { - inherit (pkgs) zlib; - }; - zlib_0_5_3_1 = callPackage ../development/libraries/haskell/zlib/0.5.3.1.nix { - inherit (pkgs) zlib; - }; - zlib_0_5_3_3 = callPackage ../development/libraries/haskell/zlib/0.5.3.3.nix { - inherit (pkgs) zlib; - }; - zlib_0_5_4_0 = callPackage ../development/libraries/haskell/zlib/0.5.4.0.nix { - inherit (pkgs) zlib; - }; - zlib_0_5_4_1 = callPackage ../development/libraries/haskell/zlib/0.5.4.1.nix { - inherit (pkgs) zlib; - }; + zlib_0_5_0_0 = callPackage ../development/libraries/haskell/zlib/0.5.0.0.nix { inherit (pkgs) zlib; }; + zlib_0_5_2_0 = callPackage ../development/libraries/haskell/zlib/0.5.2.0.nix { inherit (pkgs) zlib; }; + zlib_0_5_3_1 = callPackage ../development/libraries/haskell/zlib/0.5.3.1.nix { inherit (pkgs) zlib; }; + zlib_0_5_3_3 = callPackage ../development/libraries/haskell/zlib/0.5.3.3.nix { inherit (pkgs) zlib; }; + zlib_0_5_4_0 = callPackage ../development/libraries/haskell/zlib/0.5.4.0.nix { inherit (pkgs) zlib; }; + zlib_0_5_4_1 = callPackage ../development/libraries/haskell/zlib/0.5.4.1.nix { inherit (pkgs) zlib;}; zlib = self.zlib_0_5_4_1; zlibBindings = callPackage ../development/libraries/haskell/zlib-bindings {}; @@ -2854,14 +2559,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x # Compilers. - AgdaExecutable = callPackage ../development/compilers/Agda-executable {}; + Agda = callPackage ../development/compilers/agda/agda.nix { QuickCheck = self.QuickCheck_2_6; }; + AgdaStdlib = callPackage ../development/compilers/agda/stdlib.nix {}; uhc = callPackage ../development/compilers/uhc {}; epic = callPackage ../development/compilers/epic {}; - flapjax = callPackage ../development/compilers/flapjax {}; - pakcs = callPackage ../development/compilers/pakcs {}; # Development tools. @@ -2886,10 +2590,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cpphs = callPackage ../development/tools/misc/cpphs {}; - Ebnf2ps = callPackage ../development/tools/parsing/Ebnf2ps {}; + DrIFT = callPackage ../development/tools/haskell/DrIFT {}; - haddock_2_4_2 = callPackage ../development/tools/documentation/haddock/2.4.2.nix {}; - haddock_2_7_2 = callPackage ../development/tools/documentation/haddock/2.7.2.nix {}; + haddock_2_4_2 = callPackage ../development/tools/documentation/haddock/2.4.2.nix { Cabal = null; }; + haddock_2_7_2 = callPackage ../development/tools/documentation/haddock/2.7.2.nix { alex = self.alex_2_3_5; }; haddock_2_9_2 = callPackage ../development/tools/documentation/haddock/2.9.2.nix {}; haddock_2_9_4 = callPackage ../development/tools/documentation/haddock/2.9.4.nix {}; haddock_2_10_0 = callPackage ../development/tools/documentation/haddock/2.10.0.nix {}; @@ -2924,6 +2628,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hlint = callPackage ../development/tools/haskell/hlint {}; + hscolour = callPackage ../development/tools/haskell/hscolour {}; + hscolourBootstrap = self.hscolour.override { hyperlinkSource = false; }; + hslogger = callPackage ../development/tools/haskell/hslogger {}; tar = callPackage ../development/libraries/haskell/tar {}; @@ -2938,6 +2645,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x arbtt = callPackage ../applications/misc/arbtt {}; + cryptol = callPackage ../development/compilers/cryptol/2.0.x.nix { + Cabal = self.Cabal_1_18_1_3; + cabalInstall = self.cabalInstall_1_18_0_3; + process = self.process_1_2_0_0; + }; + darcs = callPackage ../applications/version-management/darcs {}; idris_plain = callPackage ../development/compilers/idris { @@ -2947,10 +2660,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x idris = callPackage ../development/compilers/idris/wrapper.nix {}; - leksah = callPackage ../applications/editors/leksah { - QuickCheck = self.QuickCheck2; - }; - nc-indicators = callPackage ../applications/misc/nc-indicators {}; sloane = callPackage ../applications/science/math/sloane {}; @@ -2974,7 +2683,7 @@ 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 + buildLocalCabalWithArgs = { src, name, args ? {}, cabalDrvArgs ? { jailbreak = true; } }: let cabalExpr = pkgs.stdenv.mkDerivation ({ name = "${name}.nix"; @@ -2982,39 +2691,56 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ${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 + -e 's/{ cabal/{ cabal, cabalInstall, cabalDrvArgs ? {}, src/' \ + -e 's/cabal.mkDerivation (self: {/cabal.mkDerivation (self: cabalDrvArgs \/\/ {/' \ + -e 's/buildDepends = \[/buildDepends = \[ cabalInstall/' \ + -e 's/pname = \([^\n]*\)/pname = \1\n inherit src;\n/' > $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; }; + in callPackage cabalExpr ({ inherit src cabalDrvArgs; } // args); - cabalDev = callPackage ../development/tools/haskell/cabal-dev {}; + buildLocalCabal = src: name: self.buildLocalCabalWithArgs { inherit src name; }; + + cabalDelete = callPackage ../development/tools/haskell/cabal-delete {}; + + cabalBounds = callPackage ../development/tools/haskell/cabal-bounds { + Cabal = if pkgs.stdenv.lib.versionOlder "7.7" ghc.version + then null + else self.Cabal_1_18_1_3; + }; + + cabalDev = callPackage ../development/tools/haskell/cabal-dev { + HTTP = self.HTTP.override { network = self.network_2_4_1_2; }; + }; + + cabalMeta = callPackage ../development/tools/haskell/cabal-meta {}; cabal2Ghci = callPackage ../development/tools/haskell/cabal2ghci {}; cabalGhci = callPackage ../development/tools/haskell/cabal-ghci {}; - cabalInstall_0_6_2 = callPackage ../tools/package-management/cabal-install/0.6.2.nix {}; - cabalInstall_0_8_0 = callPackage ../tools/package-management/cabal-install/0.8.0.nix {}; - cabalInstall_0_8_2 = callPackage ../tools/package-management/cabal-install/0.8.2.nix {}; + cabalInstall_0_6_2 = callPackage ../tools/package-management/cabal-install/0.6.2.nix {}; + cabalInstall_0_8_0 = callPackage ../tools/package-management/cabal-install/0.8.0.nix {}; + cabalInstall_0_8_2 = callPackage ../tools/package-management/cabal-install/0.8.2.nix {}; 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_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_3; + cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix { Cabal = self.Cabal_1_16_0_3; }; + cabalInstall_1_18_0_3 = callPackage ../tools/package-management/cabal-install/1.18.0.3.nix { Cabal = self.Cabal_1_18_1_3; }; + cabalInstall_1_20_0_2 = callPackage ../tools/package-management/cabal-install/1.20.0.2.nix { Cabal = self.Cabal_1_20_0_0; }; + cabalInstall = self.cabalInstall_1_20_0_2; - gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex { - hS3 = self.hS3.override { Crypto = self.Crypto.override { QuickCheck = self.QuickCheck_2_7_3; }; }; - }; + codex = callPackage ../development/tools/haskell/codex {}; + + gitAnnex = callPackage ../applications/version-management/git-and-tools/git-annex {}; githubBackup = callPackage ../applications/version-management/git-and-tools/github-backup {}; + hobbes = callPackage ../development/tools/haskell/hobbes {}; + jailbreakCabal = callPackage ../development/tools/haskell/jailbreak-cabal {}; keter = callPackage ../development/tools/haskell/keter {}; @@ -3023,21 +2749,24 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x 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 { - binary = self.binary_0_7_1_0; - vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_1_0; }; + vectorBinaryInstances = self.vectorBinaryInstances.override { + binary = self.binary_0_7_2_1; # the miniutter build input requires this version + }; }; - MazesOfMonad = callPackage ../games/MazesOfMonad {}; - # End of the main part of the file. -}; - -in result.finalReturn +} diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix index 8e5bab29474..70330f4304f 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,24 +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-only --strict --show-trace ./maintainers/scripts/find-tarballs.nix > /dev/null + 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 b764512ff0b..e250085f730 100644 --- a/pkgs/top-level/node-packages-generated.nix +++ b/pkgs/top-level/node-packages-generated.nix @@ -2,14 +2,14 @@ { by-spec."Base64"."~0.2.0" = - self.by-version."Base64"."0.2.0"; - by-version."Base64"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "node-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.0.tgz"; - name = "Base64-0.2.0.tgz"; - sha1 = "448879efb6803979daaf7f36e7807e8a1d291205"; + url = "http://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz"; + name = "Base64-0.2.1.tgz"; + sha1 = "ba3a4230708e186705065e66babdd4c35cf60028"; }) ]; buildInputs = @@ -35,7 +35,7 @@ (self.nativeDeps."CSSselect" or []); deps = [ self.by-version."CSSwhat"."0.4.5" - self.by-version."domutils"."1.4.1" + self.by-version."domutils"."1.4.3" self.by-version."boolbase"."1.0.0" self.by-version."nth-check"."1.0.0" ]; @@ -58,7 +58,7 @@ (self.nativeDeps."CSSselect" or []); deps = [ self.by-version."CSSwhat"."0.4.5" - self.by-version."domutils"."1.4.1" + self.by-version."domutils"."1.4.3" ]; peerDependencies = [ ]; @@ -105,21 +105,21 @@ passthru.names = [ "JSONStream" ]; }; by-spec."JSONStream"."~0.7.1" = - self.by-version."JSONStream"."0.7.1"; - by-version."JSONStream"."0.7.1" = lib.makeOverridable self.buildNodePackage { - name = "node-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.1.tgz"; - name = "JSONStream-0.7.1.tgz"; - sha1 = "0a6bf7f85459beb1319486927d293c7cef8a0260"; + 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.2.7" + self.by-version."through"."2.3.4" ]; peerDependencies = [ ]; @@ -145,14 +145,14 @@ passthru.names = [ "StringScanner" ]; }; by-spec."abbrev"."1" = - self.by-version."abbrev"."1.0.4"; - by-version."abbrev"."1.0.4" = lib.makeOverridable self.buildNodePackage { - name = "node-abbrev-1.0.4"; + self.by-version."abbrev"."1.0.5"; + by-version."abbrev"."1.0.5" = lib.makeOverridable self.buildNodePackage { + name = "node-abbrev-1.0.5"; src = [ (fetchurl { - url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz"; - name = "abbrev-1.0.4.tgz"; - sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd"; + url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz"; + name = "abbrev-1.0.5.tgz"; + sha1 = "5d8257bd9ebe435e698b2fa431afde4fe7b10b03"; }) ]; buildInputs = @@ -164,9 +164,9 @@ passthru.names = [ "abbrev" ]; }; by-spec."abbrev"."1.0.x" = - self.by-version."abbrev"."1.0.4"; + self.by-version."abbrev"."1.0.5"; by-spec."abbrev"."~1.0.4" = - self.by-version."abbrev"."1.0.4"; + self.by-version."abbrev"."1.0.5"; by-spec."accepts"."1.0.0" = self.by-version."accepts"."1.0.0"; by-version."accepts"."1.0.0" = lib.makeOverridable self.buildNodePackage { @@ -496,7 +496,7 @@ buildInputs = (self.nativeDeps."archiver" or []); deps = [ - self.by-version."readable-stream"."1.0.26" + self.by-version."readable-stream"."1.0.27-1" self.by-version."zip-stream"."0.1.4" self.by-version."lazystream"."0.1.0" self.by-version."file-utils"."0.1.5" @@ -746,35 +746,35 @@ ]; passthru.names = [ "assertion-error" ]; }; - by-spec."astw"."~0.1.0" = - self.by-version."astw"."0.1.0"; - by-version."astw"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "node-astw-0.1.0"; + 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-0.1.0.tgz"; - name = "astw-0.1.0.tgz"; - sha1 = "098be2758a6e9e9e15465d4fc4ba36265de11085"; + 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-six"."0.0.3" + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" ]; peerDependencies = [ ]; passthru.names = [ "astw" ]; }; by-spec."async"."*" = - self.by-version."async"."0.6.2"; - by-version."async"."0.6.2" = lib.makeOverridable self.buildNodePackage { - name = "node-async-0.6.2"; + 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.6.2.tgz"; - name = "async-0.6.2.tgz"; - sha1 = "41fd038a3812c0a8bc1842ecf08ba63eb0392bef"; + url = "http://registry.npmjs.org/async/-/async-0.7.0.tgz"; + name = "async-0.7.0.tgz"; + sha1 = "4429e0e62f5de0a54f37458c49f0b897eb52ada5"; }) ]; buildInputs = @@ -785,7 +785,7 @@ ]; passthru.names = [ "async" ]; }; - "async" = self.by-version."async"."0.6.2"; + "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 { @@ -878,6 +878,44 @@ self.by-version."async"."0.2.10"; by-spec."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-rc9"; by-version."aws-sdk"."2.0.0-rc9" = lib.makeOverridable self.buildNodePackage { @@ -1156,14 +1194,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 = "node-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 = @@ -1234,6 +1272,28 @@ ]; 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.4" + 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 { @@ -1294,20 +1354,20 @@ passthru.names = [ "boom" ]; }; by-spec."bower"."*" = - self.by-version."bower"."1.3.1"; - by-version."bower"."1.3.1" = lib.makeOverridable self.buildNodePackage { - name = "bower-1.3.1"; + self.by-version."bower"."1.3.2"; + by-version."bower"."1.3.2" = lib.makeOverridable self.buildNodePackage { + name = "bower-1.3.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/bower/-/bower-1.3.1.tgz"; - name = "bower-1.3.1.tgz"; - sha1 = "60d564e774be4e60631a159566830fce260e469a"; + url = "http://registry.npmjs.org/bower/-/bower-1.3.2.tgz"; + name = "bower-1.3.2.tgz"; + sha1 = "ae1eeea5c3ba9300e10e55b193e9d2fd5407fb7b"; }) ]; buildInputs = (self.nativeDeps."bower" or []); deps = [ - self.by-version."abbrev"."1.0.4" + self.by-version."abbrev"."1.0.5" self.by-version."archy"."0.0.2" self.by-version."bower-config"."0.5.0" self.by-version."bower-endpoint-parser"."0.2.1" @@ -1317,7 +1377,7 @@ self.by-version."cardinal"."0.4.4" self.by-version."chalk"."0.4.0" self.by-version."chmodr"."0.1.0" - self.by-version."decompress-zip"."0.0.5" + 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" @@ -1326,10 +1386,10 @@ self.by-version."inquirer"."0.4.1" self.by-version."junk"."0.2.2" self.by-version."mkdirp"."0.3.5" - self.by-version."mout"."0.9.0" + self.by-version."mout"."0.9.1" self.by-version."nopt"."2.1.2" self.by-version."lru-cache"."2.5.0" - self.by-version."open"."0.0.4" + self.by-version."open"."0.0.5" self.by-version."osenv"."0.0.3" self.by-version."promptly"."0.2.0" self.by-version."q"."1.0.1" @@ -1347,16 +1407,17 @@ self.by-version."insight"."0.3.1" self.by-version."is-root"."0.1.0" self.by-version."shell-quote"."1.4.1" + self.by-version."lockfile"."0.4.2" ]; peerDependencies = [ ]; passthru.names = [ "bower" ]; }; - "bower" = self.by-version."bower"."1.3.1"; + "bower" = self.by-version."bower"."1.3.2"; by-spec."bower".">=0.9.0" = - self.by-version."bower"."1.3.1"; + self.by-version."bower"."1.3.2"; by-spec."bower".">=1.2.8 <2" = - self.by-version."bower"."1.3.1"; + 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 { @@ -1371,7 +1432,7 @@ buildInputs = (self.nativeDeps."bower" or []); deps = [ - self.by-version."abbrev"."1.0.4" + self.by-version."abbrev"."1.0.5" self.by-version."archy"."0.0.2" self.by-version."bower-config"."0.5.0" self.by-version."bower-endpoint-parser"."0.2.1" @@ -1381,7 +1442,7 @@ 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.5" + 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" @@ -1393,7 +1454,7 @@ self.by-version."mout"."0.7.1" self.by-version."nopt"."2.1.2" self.by-version."lru-cache"."2.3.1" - self.by-version."open"."0.0.4" + self.by-version."open"."0.0.5" self.by-version."osenv"."0.0.3" self.by-version."promptly"."0.2.0" self.by-version."q"."0.9.7" @@ -1591,7 +1652,7 @@ 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.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" @@ -1651,27 +1712,27 @@ 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"; + self.by-version."browser-resolve"."1.2.4"; + by-version."browser-resolve"."1.2.4" = lib.makeOverridable self.buildNodePackage { + name = "node-browser-resolve-1.2.4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/browser-resolve/-/browser-resolve-1.2.2.tgz"; - name = "browser-resolve-1.2.2.tgz"; - sha1 = "83b1eaed8f120b906f56078e134669db0a4a5c11"; + url = "http://registry.npmjs.org/browser-resolve/-/browser-resolve-1.2.4.tgz"; + name = "browser-resolve-1.2.4.tgz"; + sha1 = "59ae7820a82955ecd32f5fb7c468ac21c4723806"; }) ]; buildInputs = (self.nativeDeps."browser-resolve" or []); deps = [ - self.by-version."resolve"."0.6.1" + self.by-version."resolve"."0.6.3" ]; peerDependencies = [ ]; passthru.names = [ "browser-resolve" ]; }; by-spec."browser-resolve"."~1.2.2" = - self.by-version."browser-resolve"."1.2.2"; + self.by-version."browser-resolve"."1.2.4"; by-spec."browserchannel"."*" = self.by-version."browserchannel"."1.2.0"; by-version."browserchannel"."1.2.0" = lib.makeOverridable self.buildNodePackage { @@ -1687,7 +1748,7 @@ (self.nativeDeps."browserchannel" or []); deps = [ self.by-version."hat"."0.0.3" - self.by-version."connect"."2.14.3" + self.by-version."connect"."2.14.4" self.by-version."request"."2.34.0" self.by-version."ascii-json"."0.2.0" ]; @@ -1696,70 +1757,155 @@ passthru.names = [ "browserchannel" ]; }; "browserchannel" = self.by-version."browserchannel"."1.2.0"; - by-spec."browserify"."~3.32.0" = - self.by-version."browserify"."3.32.1"; - by-version."browserify"."3.32.1" = lib.makeOverridable self.buildNodePackage { - name = "browserify-3.32.1"; + by-spec."browserify"."*" = + self.by-version."browserify"."3.44.2"; + by-version."browserify"."3.44.2" = lib.makeOverridable self.buildNodePackage { + name = "browserify-3.44.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/browserify/-/browserify-3.32.1.tgz"; - name = "browserify-3.32.1.tgz"; - sha1 = "5d4ad85d5cafee3fc1062e76e56143d0c298bfcb"; + url = "http://registry.npmjs.org/browserify/-/browserify-3.44.2.tgz"; + name = "browserify-3.44.2.tgz"; + sha1 = "ffa2788d06e8073ffd734d94c3ae272ca3dd630a"; }) ]; buildInputs = (self.nativeDeps."browserify" or []); deps = [ - self.by-version."module-deps"."1.7.1" - self.by-version."browser-pack"."2.0.1" - self.by-version."deps-sort"."0.1.1" - self.by-version."shell-quote"."0.0.1" - self.by-version."through"."2.3.4" - self.by-version."duplexer"."0.1.1" - self.by-version."stream-combiner"."0.0.4" - self.by-version."concat-stream"."1.4.4" - self.by-version."insert-module-globals"."3.2.0" - self.by-version."syntax-error"."0.1.0" - self.by-version."browser-resolve"."1.2.2" - self.by-version."inherits"."2.0.1" - self.by-version."JSONStream"."0.7.1" - self.by-version."umd"."2.0.0" - self.by-version."parents"."0.0.2" - self.by-version."deep-equal"."0.1.2" - self.by-version."constants-browserify"."0.0.1" - self.by-version."os-browserify"."0.1.2" - self.by-version."console-browserify"."1.0.3" - self.by-version."vm-browserify"."0.0.4" - self.by-version."zlib-browserify"."0.0.3" + self.by-version."JSONStream"."0.7.2" self.by-version."assert"."1.1.1" - self.by-version."http-browserify"."1.3.2" - self.by-version."crypto-browserify"."1.0.9" - self.by-version."util"."0.10.3" - self.by-version."events"."1.0.0" - self.by-version."buffer"."2.1.5" - self.by-version."url"."0.7.9" - self.by-version."https-browserify"."0.0.0" - self.by-version."path-browserify"."0.0.0" - self.by-version."querystring-es3"."0.2.0" - self.by-version."stream-browserify"."0.1.3" - self.by-version."string_decoder"."0.0.1" - self.by-version."tty-browserify"."0.0.0" - self.by-version."timers-browserify"."1.0.1" - self.by-version."punycode"."1.2.4" - self.by-version."defined"."0.0.0" - self.by-version."domain-browser"."1.1.1" - self.by-version."derequire"."0.6.1" + self.by-version."browser-pack"."2.0.1" + self.by-version."browser-resolve"."1.2.4" + self.by-version."browserify-zlib"."0.1.4" + self.by-version."buffer"."2.1.13" + self.by-version."builtins"."0.0.3" self.by-version."commondir"."0.0.1" - self.by-version."shallow-copy"."0.0.1" - self.by-version."subarg"."0.0.1" - self.by-version."resolve"."0.6.2" + 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."builtins"."0.0.2" + 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.10.0" + 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.3" + 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.10.1" + self.by-version."util"."0.10.3" + self.by-version."vm-browserify"."0.0.4" ]; peerDependencies = [ ]; passthru.names = [ "browserify" ]; }; + "browserify" = self.by-version."browserify"."3.44.2"; + 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.4" + self.by-version."buffer"."2.1.13" + 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.3" + 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."browserify-zlib"."~0.1.2" = + self.by-version."browserify-zlib"."0.1.4"; + by-version."browserify-zlib"."0.1.4" = lib.makeOverridable self.buildNodePackage { + name = "node-browserify-zlib-0.1.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz"; + name = "browserify-zlib-0.1.4.tgz"; + sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d"; + }) + ]; + buildInputs = + (self.nativeDeps."browserify-zlib" or []); + deps = [ + self.by-version."pako"."0.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "browserify-zlib" ]; + }; by-spec."bson"."0.1.8" = self.by-version."bson"."0.1.8"; by-version."bson"."0.1.8" = lib.makeOverridable self.buildNodePackage { @@ -1838,14 +1984,14 @@ passthru.names = [ "bson" ]; }; by-spec."buffer"."~2.1.4" = - self.by-version."buffer"."2.1.5"; - by-version."buffer"."2.1.5" = lib.makeOverridable self.buildNodePackage { - name = "node-buffer-2.1.5"; + self.by-version."buffer"."2.1.13"; + by-version."buffer"."2.1.13" = lib.makeOverridable self.buildNodePackage { + name = "node-buffer-2.1.13"; src = [ (fetchurl { - url = "http://registry.npmjs.org/buffer/-/buffer-2.1.5.tgz"; - name = "buffer-2.1.5.tgz"; - sha1 = "15373190bc584061de5cbc155db82a0dc1a462de"; + url = "http://registry.npmjs.org/buffer/-/buffer-2.1.13.tgz"; + name = "buffer-2.1.13.tgz"; + sha1 = "c88838ebf79f30b8b4a707788470bea8a62c2355"; }) ]; buildInputs = @@ -1956,15 +2102,15 @@ ]; passthru.names = [ "buffertools" ]; }; - by-spec."builtins"."0.0.2" = - self.by-version."builtins"."0.0.2"; - by-version."builtins"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "node-builtins-0.0.2"; + 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.2.tgz"; - name = "builtins-0.0.2.tgz"; - sha1 = "b738db1ea166b752f7e0144c76f6ad5289448e51"; + url = "http://registry.npmjs.org/builtins/-/builtins-0.0.3.tgz"; + name = "builtins-0.0.3.tgz"; + sha1 = "5d006166da71610bc2bcf73019f0f0cc43309755"; }) ]; buildInputs = @@ -2073,10 +2219,31 @@ ]; 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."bytes"."~0.3.0" = + self.by-version."bytes"."0.3.0"; by-spec."callsite"."~1.0.0" = self.by-version."callsite"."1.0.0"; by-version."callsite"."1.0.0" = lib.makeOverridable self.buildNodePackage { @@ -2173,7 +2340,7 @@ buildInputs = (self.nativeDeps."chalk" or []); deps = [ - self.by-version."has-color"."0.1.4" + self.by-version."has-color"."0.1.7" self.by-version."ansi-styles"."1.0.0" self.by-version."strip-ansi"."0.1.1" ]; @@ -2195,7 +2362,7 @@ buildInputs = (self.nativeDeps."chalk" or []); deps = [ - self.by-version."has-color"."0.1.4" + self.by-version."has-color"."0.1.7" self.by-version."ansi-styles"."0.1.2" ]; peerDependencies = [ @@ -2216,7 +2383,7 @@ buildInputs = (self.nativeDeps."chalk" or []); deps = [ - self.by-version."has-color"."0.1.4" + self.by-version."has-color"."0.1.7" self.by-version."ansi-styles"."0.2.0" ]; peerDependencies = [ @@ -2237,7 +2404,7 @@ buildInputs = (self.nativeDeps."chalk" or []); deps = [ - self.by-version."has-color"."0.1.4" + self.by-version."has-color"."0.1.7" self.by-version."ansi-styles"."0.2.0" ]; peerDependencies = [ @@ -2369,7 +2536,7 @@ ]; passthru.names = [ "chmodr" ]; }; - by-spec."chokidar"."~0.8.0" = + 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"; @@ -2409,6 +2576,26 @@ ]; 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 { @@ -2927,6 +3114,26 @@ ]; passthru.names = [ "commander" ]; }; + by-spec."commander"."1.2.x" = + self.by-version."commander"."1.2.0"; + by-version."commander"."1.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-commander-1.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/commander/-/commander-1.2.0.tgz"; + name = "commander-1.2.0.tgz"; + sha1 = "fd5713bfa153c7d6cc599378a5ab4c45c535029e"; + }) + ]; + buildInputs = + (self.nativeDeps."commander" or []); + deps = [ + self.by-version."keypress"."0.1.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "commander" ]; + }; by-spec."commander"."1.3.1" = self.by-version."commander"."1.3.1"; by-version."commander"."1.3.1" = lib.makeOverridable self.buildNodePackage { @@ -3072,14 +3279,14 @@ passthru.names = [ "compression" ]; }; by-spec."concat-stream"."^1.4.1" = - self.by-version."concat-stream"."1.4.4"; - by-version."concat-stream"."1.4.4" = lib.makeOverridable self.buildNodePackage { - name = "node-concat-stream-1.4.4"; + 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.4.tgz"; - name = "concat-stream-1.4.4.tgz"; - sha1 = "88cf474555dfbbdbeb34453e7f1e417dae97ce21"; + url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.4.5.tgz"; + name = "concat-stream-1.4.5.tgz"; + sha1 = "cbf6ffd17c15d58f0baeacbb47d927cf566446a6"; }) ]; buildInputs = @@ -3087,14 +3294,14 @@ deps = [ self.by-version."inherits"."2.0.1" self.by-version."typedarray"."0.0.5" - self.by-version."readable-stream"."1.1.12" + self.by-version."readable-stream"."1.1.13-1" ]; peerDependencies = [ ]; passthru.names = [ "concat-stream" ]; }; by-spec."concat-stream"."~1.4.1" = - self.by-version."concat-stream"."1.4.4"; + 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 { @@ -3212,7 +3419,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.8.0" + 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" @@ -3222,40 +3429,6 @@ ]; 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.0" - 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"."2.14.1" = self.by-version."connect"."2.14.1"; by-version."connect"."2.14.1" = lib.makeOverridable self.buildNodePackage { @@ -3289,7 +3462,7 @@ self.by-version."vhost"."1.0.0" self.by-version."bytes"."0.2.1" self.by-version."pause"."0.0.1" - self.by-version."debug"."0.8.0" + self.by-version."debug"."0.8.1" self.by-version."raw-body"."1.1.3" self.by-version."multiparty"."2.2.0" ]; @@ -3318,7 +3491,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.8.0" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; @@ -3347,7 +3520,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.8.0" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; @@ -3376,21 +3549,21 @@ self.by-version."bytes"."0.2.0" self.by-version."fresh"."0.1.0" self.by-version."pause"."0.0.1" - self.by-version."debug"."0.8.0" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; passthru.names = [ "connect" ]; }; by-spec."connect"."~2" = - self.by-version."connect"."2.14.3"; - by-version."connect"."2.14.3" = lib.makeOverridable self.buildNodePackage { - name = "node-connect-2.14.3"; + 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.3.tgz"; - name = "connect-2.14.3.tgz"; - sha1 = "be8267f116cc905b53b29e0e7c9ea278d71d597b"; + url = "http://registry.npmjs.org/connect/-/connect-2.14.4.tgz"; + name = "connect-2.14.4.tgz"; + sha1 = "40e74de3947a5278035c12f21535604555609a5a"; }) ]; buildInputs = @@ -3401,7 +3574,7 @@ 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."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" @@ -3409,13 +3582,14 @@ 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.2" + 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.2.1" + self.by-version."bytes"."0.3.0" self.by-version."pause"."0.0.1" - self.by-version."debug"."0.8.0" + self.by-version."debug"."0.8.1" self.by-version."raw-body"."1.1.3" self.by-version."multiparty"."2.2.0" ]; @@ -3425,6 +3599,38 @@ }; 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 { @@ -3478,7 +3684,7 @@ buildInputs = (self.nativeDeps."connect-jade-static" or []); deps = [ - self.by-version."jade"."1.3.0" + self.by-version."jade"."1.3.1" ]; peerDependencies = [ ]; @@ -3520,7 +3726,7 @@ buildInputs = (self.nativeDeps."connect-timeout" or []); deps = [ - self.by-version."debug"."0.8.0" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; @@ -3739,6 +3945,25 @@ ]; passthru.names = [ "cookie" ]; }; + by-spec."cookie"."0.1.2" = + self.by-version."cookie"."0.1.2"; + by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "node-cookie-0.1.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz"; + name = "cookie-0.1.2.tgz"; + sha1 = "72fec3d24e48a3432073d90c12642005061004b1"; + }) + ]; + 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 { @@ -3798,6 +4023,8 @@ ]; 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 { @@ -4211,6 +4438,27 @@ ]; passthru.names = [ "csurf" ]; }; + by-spec."csurf"."1.1.0" = + self.by-version."csurf"."1.1.0"; + by-version."csurf"."1.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-csurf-1.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/csurf/-/csurf-1.1.0.tgz"; + name = "csurf-1.1.0.tgz"; + sha1 = "5dd459df40df43b9eb828284d6d03132f42cb8b2"; + }) + ]; + buildInputs = + (self.nativeDeps."csurf" or []); + deps = [ + self.by-version."uid2"."0.0.3" + self.by-version."scmp"."0.0.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "csurf" ]; + }; by-spec."ctype"."0.5.0" = self.by-version."ctype"."0.5.0"; by-version."ctype"."0.5.0" = lib.makeOverridable self.buildNodePackage { @@ -4326,14 +4574,14 @@ passthru.names = [ "dateformat" ]; }; by-spec."debug"."*" = - self.by-version."debug"."0.8.0"; - by-version."debug"."0.8.0" = lib.makeOverridable self.buildNodePackage { - name = "node-debug-0.8.0"; + 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.8.0.tgz"; - name = "debug-0.8.0.tgz"; - sha1 = "0541ea91f0e503fdf0c5eed418a32550234967f0"; + url = "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz"; + name = "debug-0.8.1.tgz"; + sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130"; }) ]; buildInputs = @@ -4383,48 +4631,51 @@ passthru.names = [ "debug" ]; }; by-spec."debug".">= 0.7.3 < 1" = - self.by-version."debug"."0.8.0"; + 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."decompress"."~0.2.0" = - self.by-version."decompress"."0.2.0"; - by-version."decompress"."0.2.0" = lib.makeOverridable self.buildNodePackage { - name = "node-decompress-0.2.0"; + by-spec."debug"."~0.8" = + self.by-version."debug"."0.8.1"; + by-spec."decompress"."^0.2.0" = + self.by-version."decompress"."0.2.3"; + by-version."decompress"."0.2.3" = lib.makeOverridable self.buildNodePackage { + name = "decompress-0.2.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/decompress/-/decompress-0.2.0.tgz"; - name = "decompress-0.2.0.tgz"; - sha1 = "548f7d789181afe2378ddff1db18784ffa181410"; + url = "http://registry.npmjs.org/decompress/-/decompress-0.2.3.tgz"; + name = "decompress-0.2.3.tgz"; + sha1 = "ad471a0fc51b7193b72f60c9e040ce1a7a4b9fcc"; }) ]; buildInputs = (self.nativeDeps."decompress" or []); deps = [ self.by-version."adm-zip"."0.4.4" + self.by-version."extname"."0.1.2" + self.by-version."get-stdin"."0.1.0" + self.by-version."map-key"."0.1.1" self.by-version."mkdirp"."0.3.5" + self.by-version."nopt"."2.2.0" self.by-version."rimraf"."2.2.6" - self.by-version."stream-combiner"."0.0.2" + self.by-version."stream-combiner"."0.0.4" self.by-version."tar"."0.1.19" self.by-version."tempfile"."0.1.3" - self.by-version."map-key"."0.1.0" ]; peerDependencies = [ ]; passthru.names = [ "decompress" ]; }; by-spec."decompress-zip"."~0.0.3" = - self.by-version."decompress-zip"."0.0.5"; - by-version."decompress-zip"."0.0.5" = lib.makeOverridable self.buildNodePackage { - name = "decompress-zip-0.0.5"; + 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.5.tgz"; - name = "decompress-zip-0.0.5.tgz"; - sha1 = "ab145d0dfe4f1c4249af7efcdff1df669eca0c8c"; + url = "http://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.6.tgz"; + name = "decompress-zip-0.0.6.tgz"; + sha1 = "263ef05b304cdcd1172858af453561c53ae017bb"; }) ]; buildInputs = @@ -4434,7 +4685,7 @@ 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.12" + self.by-version."readable-stream"."1.1.13-1" self.by-version."nopt"."2.2.0" ]; peerDependencies = [ @@ -4621,44 +4872,44 @@ ]; passthru.names = [ "deps-sort" ]; }; - by-spec."derequire"."~0.6.0" = - self.by-version."derequire"."0.6.1"; - by-version."derequire"."0.6.1" = lib.makeOverridable self.buildNodePackage { - name = "node-derequire-0.6.1"; + 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.6.1.tgz"; - name = "derequire-0.6.1.tgz"; - sha1 = "cce8ee25380de715deb61900f0bdd38222928788"; + 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."esprima-six"."0.0.3" 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"."~2.4.0" = - self.by-version."detective"."2.4.1"; - by-version."detective"."2.4.1" = lib.makeOverridable self.buildNodePackage { - name = "node-detective-2.4.1"; + 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-2.4.1.tgz"; - name = "detective-2.4.1.tgz"; - sha1 = "943b8eec4c346f6ac501de25da2ea1a57ed77819"; + 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-six"."0.0.3" + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" ]; peerDependencies = [ ]; @@ -4904,14 +5155,14 @@ passthru.names = [ "domutils" ]; }; by-spec."domutils"."1.4" = - self.by-version."domutils"."1.4.1"; - by-version."domutils"."1.4.1" = lib.makeOverridable self.buildNodePackage { - name = "node-domutils-1.4.1"; + 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.1.tgz"; - name = "domutils-1.4.1.tgz"; - sha1 = "e716621c245561dd03c1ecd5667f70e8ddeb2f59"; + url = "http://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz"; + name = "domutils-1.4.3.tgz"; + sha1 = "0865513796c6b306031850e175516baf80b72a6f"; }) ]; buildInputs = @@ -4924,22 +5175,25 @@ passthru.names = [ "domutils" ]; }; by-spec."download"."~0.1.6" = - self.by-version."download"."0.1.12"; - by-version."download"."0.1.12" = lib.makeOverridable self.buildNodePackage { - name = "node-download-0.1.12"; + self.by-version."download"."0.1.16"; + by-version."download"."0.1.16" = lib.makeOverridable self.buildNodePackage { + name = "download-0.1.16"; src = [ (fetchurl { - url = "http://registry.npmjs.org/download/-/download-0.1.12.tgz"; - name = "download-0.1.12.tgz"; - sha1 = "ff596658f301c340a292ac0ac1972790084568ad"; + url = "http://registry.npmjs.org/download/-/download-0.1.16.tgz"; + name = "download-0.1.16.tgz"; + sha1 = "46783e7f590d1c0d49eb1915ab8941c74cb45e99"; }) ]; buildInputs = (self.nativeDeps."download" or []); deps = [ - self.by-version."decompress"."0.2.0" + self.by-version."decompress"."0.2.3" 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."nopt"."2.2.0" self.by-version."request"."2.34.0" self.by-version."through2"."0.4.1" ]; @@ -4987,25 +5241,6 @@ ]; passthru.names = [ "dtrace-provider" ]; }; - by-spec."duplexer"."~0.0.3" = - self.by-version."duplexer"."0.0.4"; - by-version."duplexer"."0.0.4" = lib.makeOverridable self.buildNodePackage { - name = "node-duplexer-0.0.4"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz"; - name = "duplexer-0.0.4.tgz"; - sha1 = "afcb7f1f8b8d74f820726171d5d64ac9e4a8ff20"; - }) - ]; - buildInputs = - (self.nativeDeps."duplexer" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "duplexer" ]; - }; by-spec."duplexer"."~0.1.1" = self.by-version."duplexer"."0.1.1"; by-version."duplexer"."0.1.1" = lib.makeOverridable self.buildNodePackage { @@ -5025,7 +5260,7 @@ ]; passthru.names = [ "duplexer" ]; }; - by-spec."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"; @@ -5243,22 +5478,22 @@ 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.0"; - by-version."escodegen"."1.3.0" = lib.makeOverridable self.buildNodePackage { - name = "escodegen-1.3.0"; + 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.0.tgz"; - name = "escodegen-1.3.0.tgz"; - sha1 = "9d7b4aa74aa32f300474381c098f930eb1e9973a"; + 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."esprima"."1.0.4" - self.by-version."estraverse"."1.5.0" 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 = [ @@ -5420,7 +5655,9 @@ self.by-version."esprima"."1.0.4"; by-spec."esprima"."~1.0.4" = self.by-version."esprima"."1.0.4"; - by-spec."esprima-fb"."~3001.1.0-dev-harmony-fb" = + 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"; @@ -5439,27 +5676,10 @@ ]; passthru.names = [ "esprima-fb" ]; }; - by-spec."esprima-six"."0.0.3" = - self.by-version."esprima-six"."0.0.3"; - by-version."esprima-six"."0.0.3" = lib.makeOverridable self.buildNodePackage { - name = "esprima-six-0.0.3"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/esprima-six/-/esprima-six-0.0.3.tgz"; - name = "esprima-six-0.0.3.tgz"; - sha1 = "8eb750435b02d3e50cf09b5736cbce4606a4399f"; - }) - ]; - buildInputs = - (self.nativeDeps."esprima-six" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "esprima-six" ]; - }; - by-spec."esprima-six"."~0.0.3" = - self.by-version."esprima-six"."0.0.3"; + 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 { @@ -5737,7 +5957,7 @@ 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."openid"."0.5.8" self.by-version."xml2js"."0.4.2" self.by-version."node-swt"."0.1.1" self.by-version."node-wsfederation"."0.1.1" @@ -5790,14 +6010,14 @@ by-spec."exit"."~0.1.1" = self.by-version."exit"."0.1.2"; by-spec."express"."*" = - self.by-version."express"."4.0.0-rc4"; - by-version."express"."4.0.0-rc4" = lib.makeOverridable self.buildNodePackage { - name = "node-express-4.0.0-rc4"; + 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-4.0.0-rc4.tgz"; - name = "express-4.0.0-rc4.tgz"; - sha1 = "1cedc8790f47b776b9d100f5388e5fb652ea4388"; + url = "http://registry.npmjs.org/express/-/express-4.0.0.tgz"; + name = "express-4.0.0.tgz"; + sha1 = "274dc82933c9f574cc38a0ce5ea8172be9c6b094"; }) ]; buildInputs = @@ -5819,13 +6039,13 @@ 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.0" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; passthru.names = [ "express" ]; }; - "express" = self.by-version."express"."4.0.0-rc4"; + "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 { @@ -5873,7 +6093,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.8.0" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; @@ -5903,7 +6123,7 @@ 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.8.0" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; @@ -5934,12 +6154,14 @@ 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.0" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; passthru.names = [ "express" ]; }; + by-spec."express".">=3.0.0" = + self.by-version."express"."4.0.0"; by-spec."express"."~3.1.1" = self.by-version."express"."3.1.2"; by-version."express"."3.1.2" = lib.makeOverridable self.buildNodePackage { @@ -5964,54 +6186,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.8.0" + self.by-version."debug"."0.8.1" ]; peerDependencies = [ ]; passthru.names = [ "express" ]; }; - by-spec."express"."~3.4" = - self.by-version."express"."3.4.8"; - by-version."express"."3.4.8" = lib.makeOverridable self.buildNodePackage { - name = "express-3.4.8"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/express/-/express-3.4.8.tgz"; - name = "express-3.4.8.tgz"; - sha1 = "aa7a8986de07053337f4bc5ed9a6453d9cc8e2e1"; - }) - ]; - 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."cookie"."0.1.0" - self.by-version."buffer-crc32"."0.2.1" - self.by-version."fresh"."0.2.0" - 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.8.0" - ]; - peerDependencies = [ - ]; - passthru.names = [ "express" ]; - }; - by-spec."express"."~3.4.8" = - self.by-version."express"."3.4.8"; + 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.12.0"; - by-version."express-form"."0.12.0" = lib.makeOverridable self.buildNodePackage { - name = "node-express-form-0.12.0"; + self.by-version."express-form"."0.12.2"; + by-version."express-form"."0.12.2" = lib.makeOverridable self.buildNodePackage { + name = "node-express-form-0.12.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/express-form/-/express-form-0.12.0.tgz"; - name = "express-form-0.12.0.tgz"; - sha1 = "0525ce1365760fd90fb785829a430122aceb893a"; + url = "http://registry.npmjs.org/express-form/-/express-form-0.12.2.tgz"; + name = "express-form-0.12.2.tgz"; + sha1 = "c23ed4f233df09a1c61bcc698b8e4089dda54c1a"; }) ]; buildInputs = @@ -6022,11 +6215,11 @@ self.by-version."async"."0.2.10" ]; peerDependencies = [ - self.by-version."express"."3.5.1" + self.by-version."express"."4.0.0" ]; passthru.names = [ "express-form" ]; }; - "express-form" = self.by-version."express-form"."0.12.0"; + "express-form" = self.by-version."express-form"."0.12.2"; 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 { @@ -6071,6 +6264,50 @@ ]; passthru.names = [ "express-session" ]; }; + by-spec."express-session"."~1.0.2" = + self.by-version."express-session"."1.0.3"; + by-version."express-session"."1.0.3" = lib.makeOverridable self.buildNodePackage { + name = "node-express-session-1.0.3"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/express-session/-/express-session-1.0.3.tgz"; + name = "express-session-1.0.3.tgz"; + sha1 = "a45ec65dda263f74f3b5b9c6da0ac74c36ac0639"; + }) + ]; + buildInputs = + (self.nativeDeps."express-session" or []); + deps = [ + self.by-version."utils-merge"."1.0.0" + self.by-version."cookie"."0.1.2" + 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."ext-list"."^0.1.0" = + self.by-version."ext-list"."0.1.0"; + by-version."ext-list"."0.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-ext-list-0.1.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/ext-list/-/ext-list-0.1.0.tgz"; + name = "ext-list-0.1.0.tgz"; + sha1 = "a266915887ed6b87056eeb76b8c29e61d84ebc39"; + }) + ]; + buildInputs = + (self.nativeDeps."ext-list" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "ext-list" ]; + }; by-spec."extend"."*" = self.by-version."extend"."1.2.1"; by-version."extend"."1.2.1" = lib.makeOverridable self.buildNodePackage { @@ -6093,6 +6330,28 @@ "extend" = self.by-version."extend"."1.2.1"; by-spec."extend"."~1.2.1" = self.by-version."extend"."1.2.1"; + by-spec."extname"."^0.1.1" = + self.by-version."extname"."0.1.2"; + by-version."extname"."0.1.2" = lib.makeOverridable self.buildNodePackage { + name = "extname-0.1.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/extname/-/extname-0.1.2.tgz"; + name = "extname-0.1.2.tgz"; + sha1 = "de821aa0f01449d4b4043d4aeefa89a456bf3239"; + }) + ]; + buildInputs = + (self.nativeDeps."extname" or []); + deps = [ + self.by-version."ext-list"."0.1.0" + self.by-version."map-key"."0.1.1" + self.by-version."underscore.string"."2.3.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "extname" ]; + }; 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 { @@ -6229,7 +6488,7 @@ deps = [ self.by-version."bower-endpoint-parser"."0.2.1" self.by-version."bower-logger"."0.2.1" - self.by-version."bower"."1.3.1" + self.by-version."bower"."1.3.2" self.by-version."glob"."3.2.9" ]; peerDependencies = [ @@ -6330,14 +6589,14 @@ passthru.names = [ "findit" ]; }; by-spec."findup"."~0.1.3" = - self.by-version."findup"."0.1.4"; - by-version."findup"."0.1.4" = lib.makeOverridable self.buildNodePackage { - name = "findup-0.1.4"; + self.by-version."findup"."0.1.5"; + by-version."findup"."0.1.5" = lib.makeOverridable self.buildNodePackage { + name = "findup-0.1.5"; src = [ (fetchurl { - url = "http://registry.npmjs.org/findup/-/findup-0.1.4.tgz"; - name = "findup-0.1.4.tgz"; - sha1 = "28cd82e13eb629b40688f08f613f5cae5a29a0f5"; + url = "http://registry.npmjs.org/findup/-/findup-0.1.5.tgz"; + name = "findup-0.1.5.tgz"; + sha1 = "8ad929a3393bac627957a7e5de4623b06b0e2ceb"; }) ]; buildInputs = @@ -6440,14 +6699,14 @@ passthru.names = [ "forEachAsync" ]; }; 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 = @@ -6470,7 +6729,7 @@ ]; 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 { @@ -6606,6 +6865,26 @@ ]; passthru.names = [ "form-data" ]; }; + by-spec."formatio"."~1.0" = + self.by-version."formatio"."1.0.2"; + by-version."formatio"."1.0.2" = lib.makeOverridable self.buildNodePackage { + name = "node-formatio-1.0.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/formatio/-/formatio-1.0.2.tgz"; + name = "formatio-1.0.2.tgz"; + sha1 = "e7991ca144ff7d8cff07bb9ac86a9b79c6ba47ef"; + }) + ]; + buildInputs = + (self.nativeDeps."formatio" or []); + deps = [ + self.by-version."samsam"."1.1.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "formatio" ]; + }; by-spec."formidable"."1.0.11" = self.by-version."formidable"."1.0.11"; by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage { @@ -6780,7 +7059,7 @@ buildInputs = (self.nativeDeps."fs-walk" or []); deps = [ - self.by-version."async"."0.6.2" + self.by-version."async"."0.7.0" ]; peerDependencies = [ ]; @@ -6975,14 +7254,14 @@ passthru.names = [ "generator-mocha" ]; }; by-spec."generator-webapp"."*" = - self.by-version."generator-webapp"."0.4.8"; - by-version."generator-webapp"."0.4.8" = lib.makeOverridable self.buildNodePackage { - name = "node-generator-webapp-0.4.8"; + 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.8.tgz"; - name = "generator-webapp-0.4.8.tgz"; - sha1 = "d0dc7e8040ec41fe6cf42ec43291157a3bd515be"; + url = "http://registry.npmjs.org/generator-webapp/-/generator-webapp-0.4.9.tgz"; + name = "generator-webapp-0.4.9.tgz"; + sha1 = "df8aa10af9bac7fd59f4072b9cdf0f120e8bb611"; }) ]; buildInputs = @@ -6998,7 +7277,45 @@ ]; passthru.names = [ "generator-webapp" ]; }; - "generator-webapp" = self.by-version."generator-webapp"."0.4.8"; + "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 { @@ -7055,13 +7372,13 @@ 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.15" + 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.4" + 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" @@ -7074,14 +7391,14 @@ }; "gh" = self.by-version."gh"."1.9.1"; by-spec."github"."~0.1.15" = - self.by-version."github"."0.1.15"; - by-version."github"."0.1.15" = lib.makeOverridable self.buildNodePackage { - name = "node-github-0.1.15"; + self.by-version."github"."0.1.16"; + by-version."github"."0.1.16" = lib.makeOverridable self.buildNodePackage { + name = "node-github-0.1.16"; src = [ (fetchurl { - url = "http://registry.npmjs.org/github/-/github-0.1.15.tgz"; - name = "github-0.1.15.tgz"; - sha1 = "3df037442518fe800c75b1a243a13154d334069c"; + url = "http://registry.npmjs.org/github/-/github-0.1.16.tgz"; + name = "github-0.1.16.tgz"; + sha1 = "895d2a85b0feb7980d89ac0ce4f44dcaa03f17b5"; }) ]; buildInputs = @@ -7464,20 +7781,20 @@ }; "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."0.9.0"; by-spec."grunt-contrib-jshint"."*" = - self.by-version."grunt-contrib-jshint"."0.9.2"; - by-version."grunt-contrib-jshint"."0.9.2" = lib.makeOverridable self.buildNodePackage { - name = "node-grunt-contrib-jshint-0.9.2"; + 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.9.2.tgz"; - name = "grunt-contrib-jshint-0.9.2.tgz"; - sha1 = "d6301597bcc3611e95f5f35ff582a7b3d73d20fb"; + 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.4" + self.by-version."jshint"."2.5.0" self.by-version."hooker"."0.2.3" ]; peerDependencies = [ @@ -7485,7 +7802,7 @@ ]; passthru.names = [ "grunt-contrib-jshint" ]; }; - "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.9.2"; + "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.10.0"; by-spec."grunt-contrib-less"."*" = self.by-version."grunt-contrib-less"."0.11.0"; by-version."grunt-contrib-less"."0.11.0" = lib.makeOverridable self.buildNodePackage { @@ -7576,7 +7893,7 @@ ]; peerDependencies = [ self.by-version."grunt"."0.4.4" - self.by-version."karma"."0.12.3" + self.by-version."karma"."0.12.9" ]; passthru.names = [ "grunt-karma" ]; }; @@ -7644,10 +7961,10 @@ (self.nativeDeps."guifi-earth" or []); deps = [ self.by-version."coffee-script"."1.7.1" - self.by-version."jade"."1.3.0" + 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.2" + self.by-version."msgpack"."0.2.3" ]; peerDependencies = [ ]; @@ -7655,20 +7972,20 @@ }; "guifi-earth" = self.by-version."guifi-earth"."0.2.1"; by-spec."gzip-size"."^0.1.0" = - self.by-version."gzip-size"."0.1.0"; - by-version."gzip-size"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "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.0.tgz"; - name = "gzip-size-0.1.0.tgz"; - sha1 = "2beaecdaf4917bd151fe9a9d43ae199392d6c32a"; + 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.4" + self.by-version."concat-stream"."1.4.5" self.by-version."zlib-browserify"."0.0.3" ]; peerDependencies = [ @@ -7743,14 +8060,14 @@ 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.4"; - by-version."has-color"."0.1.4" = lib.makeOverridable self.buildNodePackage { - name = "node-has-color-0.1.4"; + self.by-version."has-color"."0.1.7"; + by-version."has-color"."0.1.7" = lib.makeOverridable self.buildNodePackage { + name = "node-has-color-0.1.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz"; - name = "has-color-0.1.4.tgz"; - sha1 = "d1dadeea5b9e8b446bf08603532333710c95a290"; + url = "http://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"; + name = "has-color-0.1.7.tgz"; + sha1 = "67144a5260c34fc3cca677d041daf52fe7b78b2f"; }) ]; buildInputs = @@ -7889,20 +8206,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" @@ -7912,7 +8228,7 @@ ]; 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 { @@ -7927,7 +8243,7 @@ buildInputs = (self.nativeDeps."hiredis" or []); deps = [ - self.by-version."bindings"."1.1.1" + self.by-version."bindings"."1.2.0" ]; peerDependencies = [ ]; @@ -8026,7 +8342,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.26" + self.by-version."readable-stream"."1.0.27-1" ]; peerDependencies = [ ]; @@ -8049,7 +8365,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.26" + self.by-version."readable-stream"."1.0.27-1" ]; peerDependencies = [ ]; @@ -8072,7 +8388,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.12" + self.by-version."readable-stream"."1.1.13-1" ]; peerDependencies = [ ]; @@ -8113,20 +8429,20 @@ buildInputs = (self.nativeDeps."http-browserify" or []); deps = [ - self.by-version."Base64"."0.2.0" + self.by-version."Base64"."0.2.1" self.by-version."inherits"."2.0.1" ]; peerDependencies = [ ]; passthru.names = [ "http-browserify" ]; }; - by-spec."http-proxy"."git://github.com/samalba/node-http-proxy" = + 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"; }) @@ -8268,14 +8584,14 @@ passthru.names = [ "i" ]; }; by-spec."i18next"."*" = - self.by-version."i18next"."1.7.1"; - by-version."i18next"."1.7.1" = lib.makeOverridable self.buildNodePackage { - name = "node-i18next-1.7.1"; + self.by-version."i18next"."1.7.3"; + by-version."i18next"."1.7.3" = lib.makeOverridable self.buildNodePackage { + name = "node-i18next-1.7.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/i18next/-/i18next-1.7.1.tgz"; - name = "i18next-1.7.1.tgz"; - sha1 = "39616a1fe88258edbdd0da918b9ee49a1bd1e124"; + url = "http://registry.npmjs.org/i18next/-/i18next-1.7.3.tgz"; + name = "i18next-1.7.3.tgz"; + sha1 = "8a064866c8e6e87b4664a32fe81b9be34b4a3894"; }) ]; buildInputs = @@ -8287,7 +8603,7 @@ ]; passthru.names = [ "i18next" ]; }; - "i18next" = self.by-version."i18next"."1.7.1"; + "i18next" = self.by-version."i18next"."1.7.3"; by-spec."ibrik"."~1.1.1" = self.by-version."ibrik"."1.1.1"; by-version."ibrik"."1.1.1" = lib.makeOverridable self.buildNodePackage { @@ -8416,8 +8732,6 @@ }; 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" = @@ -8543,25 +8857,25 @@ }; by-spec."inquirer"."~0.4.1" = self.by-version."inquirer"."0.4.1"; - by-spec."insert-module-globals"."~3.2.0" = - self.by-version."insert-module-globals"."3.2.0"; - by-version."insert-module-globals"."3.2.0" = lib.makeOverridable self.buildNodePackage { - name = "insert-module-globals-3.2.0"; + 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-3.2.0.tgz"; - name = "insert-module-globals-3.2.0.tgz"; - sha1 = "5692a834207adebb3effa9f9def7cf314890a63b"; + 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."lexical-scope"."0.1.0" - self.by-version."process"."0.5.2" + 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" - self.by-version."JSONStream"."0.7.1" - self.by-version."concat-stream"."1.4.4" ]; peerDependencies = [ ]; @@ -8630,9 +8944,9 @@ 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.6.2" - self.by-version."express"."4.0.0-rc4" - self.by-version."jade"."1.3.0" + 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.2" @@ -8760,16 +9074,16 @@ (self.nativeDeps."istanbul" or []); deps = [ self.by-version."esprima"."1.1.1" - self.by-version."escodegen"."1.3.0" + 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.2.0" self.by-version."fileset"."0.1.5" self.by-version."which"."1.0.5" self.by-version."async"."0.2.10" - self.by-version."abbrev"."1.0.4" + self.by-version."abbrev"."1.0.5" self.by-version."wordwrap"."0.0.2" - self.by-version."resolve"."0.6.2" + self.by-version."resolve"."0.6.3" self.by-version."js-yaml"."3.0.2" ]; peerDependencies = [ @@ -8782,14 +9096,14 @@ by-spec."istanbul"."~0.2.4" = self.by-version."istanbul"."0.2.7"; by-spec."jade"."*" = - self.by-version."jade"."1.3.0"; - by-version."jade"."1.3.0" = lib.makeOverridable self.buildNodePackage { - name = "jade-1.3.0"; + 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.3.0.tgz"; - name = "jade-1.3.0.tgz"; - sha1 = "776cae93f1ad5af6b61eff2340fcdc19a3225d48"; + url = "http://registry.npmjs.org/jade/-/jade-1.3.1.tgz"; + name = "jade-1.3.1.tgz"; + sha1 = "7483d848b8714dc50a40da98b0409790b374216b"; }) ]; buildInputs = @@ -8807,7 +9121,7 @@ ]; passthru.names = [ "jade" ]; }; - "jade" = self.by-version."jade"."1.3.0"; + "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 { @@ -8877,7 +9191,7 @@ passthru.names = [ "jade" ]; }; by-spec."jade".">= 0.0.1" = - self.by-version."jade"."1.3.0"; + 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 { @@ -8905,26 +9219,26 @@ passthru.names = [ "jade" ]; }; by-spec."jayschema"."*" = - self.by-version."jayschema"."0.2.6"; - by-version."jayschema"."0.2.6" = lib.makeOverridable self.buildNodePackage { - name = "jayschema-0.2.6"; + self.by-version."jayschema"."0.2.7"; + by-version."jayschema"."0.2.7" = lib.makeOverridable self.buildNodePackage { + name = "jayschema-0.2.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.6.tgz"; - name = "jayschema-0.2.6.tgz"; - sha1 = "c160e767cef66babda76b0fc34a06d4adc44965d"; + url = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.7.tgz"; + name = "jayschema-0.2.7.tgz"; + sha1 = "99d653a0c6ceec4f2c5932c5d73c835bb8911062"; }) ]; buildInputs = (self.nativeDeps."jayschema" or []); deps = [ - self.by-version."when"."2.8.0" + self.by-version."when"."3.1.0" ]; peerDependencies = [ ]; passthru.names = [ "jayschema" ]; }; - "jayschema" = self.by-version."jayschema"."0.2.6"; + "jayschema" = self.by-version."jayschema"."0.2.7"; by-spec."js-yaml"."*" = self.by-version."js-yaml"."3.0.2"; by-version."js-yaml"."3.0.2" = lib.makeOverridable self.buildNodePackage { @@ -9082,32 +9396,8 @@ passthru.names = [ "jshint" ]; }; "jshint" = self.by-version."jshint"."2.5.0"; - by-spec."jshint"."~2.4.0" = - self.by-version."jshint"."2.4.4"; - by-version."jshint"."2.4.4" = lib.makeOverridable self.buildNodePackage { - name = "jshint-2.4.4"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/jshint/-/jshint-2.4.4.tgz"; - name = "jshint-2.4.4.tgz"; - sha1 = "4162238314c649f987752651e8e064e30a68706e"; - }) - ]; - buildInputs = - (self.nativeDeps."jshint" or []); - deps = [ - self.by-version."shelljs"."0.1.4" - self.by-version."underscore"."1.4.4" - self.by-version."cli"."0.4.5" - 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" - ]; - peerDependencies = [ - ]; - passthru.names = [ "jshint" ]; - }; + 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 { @@ -9223,14 +9513,14 @@ 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 = @@ -9241,7 +9531,7 @@ ]; 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 { @@ -9306,14 +9596,14 @@ passthru.names = [ "junk" ]; }; by-spec."karma"."*" = - self.by-version."karma"."0.12.3"; - by-version."karma"."0.12.3" = lib.makeOverridable self.buildNodePackage { - name = "karma-0.12.3"; + 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.12.3.tgz"; - name = "karma-0.12.3.tgz"; - sha1 = "2599e3e8797de991cf68ed80290e7462c1e8483d"; + url = "http://registry.npmjs.org/karma/-/karma-0.12.9.tgz"; + name = "karma-0.12.9.tgz"; + sha1 = "9431735e50fcbd8ca04963a0e4da0b6550b41998"; }) ]; buildInputs = @@ -9331,7 +9621,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.12" + self.by-version."log4js"."0.6.14" self.by-version."useragent"."2.0.8" self.by-version."graceful-fs"."2.0.3" self.by-version."connect"."2.12.0" @@ -9341,15 +9631,15 @@ ]; passthru.names = [ "karma" ]; }; - "karma" = self.by-version."karma"."0.12.3"; + "karma" = self.by-version."karma"."0.12.9"; by-spec."karma".">=0.11.11" = - self.by-version."karma"."0.12.3"; + self.by-version."karma"."0.12.9"; by-spec."karma".">=0.9" = - self.by-version."karma"."0.12.3"; + self.by-version."karma"."0.12.9"; by-spec."karma".">=0.9.3" = - self.by-version."karma"."0.12.3"; + self.by-version."karma"."0.12.9"; by-spec."karma"."~0.12.0" = - self.by-version."karma"."0.12.3"; + self.by-version."karma"."0.12.9"; by-spec."karma-chrome-launcher"."*" = self.by-version."karma-chrome-launcher"."0.1.3"; by-version."karma-chrome-launcher"."0.1.3" = lib.makeOverridable self.buildNodePackage { @@ -9366,7 +9656,7 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.12.3" + self.by-version."karma"."0.12.9" ]; passthru.names = [ "karma-chrome-launcher" ]; }; @@ -9390,20 +9680,20 @@ self.by-version."dateformat"."1.0.7-1.2.3" ]; peerDependencies = [ - self.by-version."karma"."0.12.3" + self.by-version."karma"."0.12.9" ]; passthru.names = [ "karma-coverage" ]; }; "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 = "node-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 = @@ -9412,11 +9702,11 @@ self.by-version."xmlbuilder"."0.4.2" ]; peerDependencies = [ - self.by-version."karma"."0.12.3" + 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.3"; by-version."karma-mocha"."0.1.3" = lib.makeOverridable self.buildNodePackage { @@ -9433,7 +9723,7 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.12.3" + self.by-version."karma"."0.12.9" self.by-version."mocha"."1.18.2" ]; passthru.names = [ "karma-mocha" ]; @@ -9455,37 +9745,37 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.12.3" + 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.5"; - by-version."karma-sauce-launcher"."0.2.5" = lib.makeOverridable self.buildNodePackage { - name = "node-karma-sauce-launcher-0.2.5"; + 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.5.tgz"; - name = "karma-sauce-launcher-0.2.5.tgz"; - sha1 = "d1fe0c0dbc104e5be04a2050a61f13ab7ae8ca04"; + 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.14" - self.by-version."sauce-connect-launcher"."0.3.3" + self.by-version."wd"."0.2.19" + 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.12.3" + self.by-version."karma"."0.12.9" ]; passthru.names = [ "karma-sauce-launcher" ]; }; - "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.5"; + "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 { @@ -9604,15 +9894,15 @@ }; by-spec."keypress"."~0.1.0" = self.by-version."keypress"."0.1.0"; - by-spec."knockout"."~3.0.0" = - self.by-version."knockout"."3.0.0"; - by-version."knockout"."3.0.0" = lib.makeOverridable self.buildNodePackage { - name = "node-knockout-3.0.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.0.0.tgz"; - name = "knockout-3.0.0.tgz"; - sha1 = "fd8d43ee446237cde7df650f5c7dbcf68ae49a80"; + url = "http://registry.npmjs.org/knockout/-/knockout-3.1.0.tgz"; + name = "knockout-3.1.0.tgz"; + sha1 = "8960ecfafa20e1d5795badfbf6256693f17b7bf5"; }) ]; buildInputs = @@ -9706,7 +9996,7 @@ buildInputs = (self.nativeDeps."lazystream" or []); deps = [ - self.by-version."readable-stream"."1.0.26" + self.by-version."readable-stream"."1.0.27-1" ]; peerDependencies = [ ]; @@ -9752,7 +10042,7 @@ passthru.names = [ "lcov-result-merger" ]; }; "lcov-result-merger" = self.by-version."lcov-result-merger"."0.0.2"; - by-spec."less"."^1.7.0" = + by-spec."less"."*" = self.by-version."less"."1.7.0"; by-version."less"."1.7.0" = lib.makeOverridable self.buildNodePackage { name = "less-1.7.0"; @@ -9776,23 +10066,26 @@ ]; passthru.names = [ "less" ]; }; + "less" = self.by-version."less"."1.7.0"; + by-spec."less"."^1.7.0" = + self.by-version."less"."1.7.0"; by-spec."less"."~1.7.0" = self.by-version."less"."1.7.0"; - by-spec."lexical-scope"."~0.1.0" = - self.by-version."lexical-scope"."0.1.0"; - by-version."lexical-scope"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "node-lexical-scope-0.1.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-0.1.0.tgz"; - name = "lexical-scope-0.1.0.tgz"; - sha1 = "8f30004c80234ffac083b990079d7b267e18441b"; + 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"."0.1.0" + self.by-version."astw"."1.1.0" ]; peerDependencies = [ ]; @@ -9857,6 +10150,8 @@ ]; passthru.names = [ "lockfile" ]; }; + by-spec."lockfile"."~0.4.2" = + self.by-version."lockfile"."0.4.2"; by-spec."lodash"."^2.4.1" = self.by-version."lodash"."2.4.1"; by-version."lodash"."2.4.1" = lib.makeOverridable self.buildNodePackage { @@ -9994,6 +10289,25 @@ }; 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-node/-/lodash-node-2.4.1.tgz"; + name = "lodash-node-2.4.1.tgz"; + sha1 = "ea82f7b100c733d1a42af76801e506105e2a80ec"; + }) + ]; + buildInputs = + (self.nativeDeps."lodash-node" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "lodash-node" ]; + }; by-spec."lodash._isnative"."~2.4.1" = self.by-version."lodash._isnative"."2.4.1"; by-version."lodash._isnative"."2.4.1" = lib.makeOverridable self.buildNodePackage { @@ -10196,14 +10510,14 @@ passthru.names = [ "log-driver" ]; }; by-spec."log4js"."~0.6.3" = - self.by-version."log4js"."0.6.12"; - by-version."log4js"."0.6.12" = lib.makeOverridable self.buildNodePackage { - name = "node-log4js-0.6.12"; + self.by-version."log4js"."0.6.14"; + by-version."log4js"."0.6.14" = lib.makeOverridable self.buildNodePackage { + name = "node-log4js-0.6.14"; src = [ (fetchurl { - url = "http://registry.npmjs.org/log4js/-/log4js-0.6.12.tgz"; - name = "log4js-0.6.12.tgz"; - sha1 = "ef806ec669ea3fc7bf5be92a95891fb67517e642"; + url = "http://registry.npmjs.org/log4js/-/log4js-0.6.14.tgz"; + name = "log4js-0.6.14.tgz"; + sha1 = "7c26a0a25536b42bafa17fd937b87536fad3b229"; }) ]; buildInputs = @@ -10211,7 +10525,7 @@ deps = [ self.by-version."async"."0.1.15" self.by-version."semver"."1.1.4" - self.by-version."readable-stream"."1.0.26" + self.by-version."readable-stream"."1.0.27-1" ]; peerDependencies = [ ]; @@ -10391,21 +10705,21 @@ passthru.names = [ "lsmod" ]; }; by-spec."mailcomposer".">= 0.1.27" = - self.by-version."mailcomposer"."0.2.8"; - by-version."mailcomposer"."0.2.8" = lib.makeOverridable self.buildNodePackage { - name = "node-mailcomposer-0.2.8"; + 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.8.tgz"; - name = "mailcomposer-0.2.8.tgz"; - sha1 = "bcb4d84aea08ea6f4c007f927c0ad214986370cc"; + url = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.9.tgz"; + name = "mailcomposer-0.2.9.tgz"; + sha1 = "2b6417a4fb5de8ffcaf1a27e1b024463903f908e"; }) ]; buildInputs = (self.nativeDeps."mailcomposer" or []); deps = [ self.by-version."mimelib"."0.2.14" - self.by-version."mime"."1.2.9" + self.by-version."mime"."1.2.11" self.by-version."he"."0.3.6" self.by-version."punycode"."1.2.4" self.by-version."follow-redirects"."0.0.3" @@ -10415,26 +10729,46 @@ ]; passthru.names = [ "mailcomposer" ]; }; - by-spec."map-key"."^0.1.0" = - self.by-version."map-key"."0.1.0"; - by-version."map-key"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "node-map-key-0.1.0"; + 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.0.tgz"; - name = "map-key-0.1.0.tgz"; - sha1 = "7ce8f677ba4051e23ddab5ce0d19c256cbf701fc"; + 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.0" + self.by-version."mout"."0.9.1" ]; peerDependencies = [ ]; passthru.names = [ "map-key" ]; }; + by-spec."marked"."*" = + self.by-version."marked"."0.3.2"; + by-version."marked"."0.3.2" = lib.makeOverridable self.buildNodePackage { + name = "marked-0.3.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/marked/-/marked-0.3.2.tgz"; + name = "marked-0.3.2.tgz"; + sha1 = "015db158864438f24a64bdd61a0428b418706d09"; + }) + ]; + buildInputs = + (self.nativeDeps."marked" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "marked" ]; + }; + "marked" = self.by-version."marked"."0.3.2"; by-spec."maxmin"."^0.1.0" = self.by-version."maxmin"."0.1.0"; by-version."maxmin"."0.1.0" = lib.makeOverridable self.buildNodePackage { @@ -10449,7 +10783,7 @@ buildInputs = (self.nativeDeps."maxmin" or []); deps = [ - self.by-version."gzip-size"."0.1.0" + self.by-version."gzip-size"."0.1.1" self.by-version."pretty-bytes"."0.1.0" self.by-version."chalk"."0.4.0" ]; @@ -10507,25 +10841,6 @@ ]; 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 = "node-merge-descriptors-0.0.1"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.1.tgz"; - name = "merge-descriptors-0.0.1.tgz"; - sha1 = "2ff0980c924cf81d0b5d1fb601177cb8bb56c0d0"; - }) - ]; - buildInputs = - (self.nativeDeps."merge-descriptors" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "merge-descriptors" ]; - }; 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 { @@ -10624,6 +10939,8 @@ ]; 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 { @@ -10950,7 +11267,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.8.0" + self.by-version."debug"."0.8.1" self.by-version."mkdirp"."0.3.5" self.by-version."glob"."3.2.3" ]; @@ -10959,6 +11276,55 @@ passthru.names = [ "mocha" ]; }; "mocha" = self.by-version."mocha"."1.18.2"; + by-spec."mocha"."1.13.x" = + self.by-version."mocha"."1.13.0"; + by-version."mocha"."1.13.0" = lib.makeOverridable self.buildNodePackage { + name = "mocha-1.13.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/mocha/-/mocha-1.13.0.tgz"; + name = "mocha-1.13.0.tgz"; + sha1 = "8d8fa4e310b94cc6efeb3ed26aeca96dea93307c"; + }) + ]; + buildInputs = + (self.nativeDeps."mocha" or []); + deps = [ + self.by-version."commander"."0.6.1" + 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.8.1" + self.by-version."mkdirp"."0.3.5" + self.by-version."glob"."3.2.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "mocha" ]; + }; + by-spec."mocha-phantomjs"."*" = + self.by-version."mocha-phantomjs"."3.3.2"; + by-version."mocha-phantomjs"."3.3.2" = lib.makeOverridable self.buildNodePackage { + name = "mocha-phantomjs-3.3.2"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/mocha-phantomjs/-/mocha-phantomjs-3.3.2.tgz"; + name = "mocha-phantomjs-3.3.2.tgz"; + sha1 = "2d7cc9926f0fbbeb341697d7f2a031151c601722"; + }) + ]; + buildInputs = + (self.nativeDeps."mocha-phantomjs" or []); + deps = [ + self.by-version."mocha"."1.13.0" + self.by-version."commander"."1.2.0" + self.by-version."which"."1.0.5" + ]; + peerDependencies = [ + ]; + passthru.names = [ "mocha-phantomjs" ]; + }; + "mocha-phantomjs" = self.by-version."mocha-phantomjs"."3.3.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 { @@ -10983,28 +11349,55 @@ passthru.names = [ "mocha-unfunk-reporter" ]; }; "mocha-unfunk-reporter" = self.by-version."mocha-unfunk-reporter"."0.4.0"; - by-spec."module-deps"."~1.7.0" = - self.by-version."module-deps"."1.7.1"; - by-version."module-deps"."1.7.1" = lib.makeOverridable self.buildNodePackage { - name = "module-deps-1.7.1"; + by-spec."module-deps"."~1.10.0" = + self.by-version."module-deps"."1.10.0"; + by-version."module-deps"."1.10.0" = lib.makeOverridable self.buildNodePackage { + name = "module-deps-1.10.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/module-deps/-/module-deps-1.7.1.tgz"; - name = "module-deps-1.7.1.tgz"; - sha1 = "1e9a6809727282323abf1d5eee5ce8860b2e7bbf"; + url = "http://registry.npmjs.org/module-deps/-/module-deps-1.10.0.tgz"; + name = "module-deps-1.10.0.tgz"; + sha1 = "57a9cac9dbd092428ec5249f6cf37fb249d77db6"; }) ]; buildInputs = (self.nativeDeps."module-deps" or []); deps = [ - self.by-version."through"."2.3.4" - self.by-version."JSONStream"."0.7.1" - self.by-version."browser-resolve"."1.2.2" - self.by-version."resolve"."0.6.2" - self.by-version."concat-stream"."1.4.4" + self.by-version."JSONStream"."0.7.2" + self.by-version."browser-resolve"."1.2.4" + 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."detective"."2.4.1" + self.by-version."resolve"."0.6.3" + self.by-version."through"."2.3.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "module-deps" ]; + }; + 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.4" + 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.3" + self.by-version."through"."2.3.4" ]; peerDependencies = [ ]; @@ -11068,14 +11461,14 @@ passthru.names = [ "moment" ]; }; by-spec."mongodb"."*" = - self.by-version."mongodb"."1.4.0-rc9"; - by-version."mongodb"."1.4.0-rc9" = lib.makeOverridable self.buildNodePackage { - name = "node-mongodb-1.4.0-rc9"; + self.by-version."mongodb"."1.4.2"; + by-version."mongodb"."1.4.2" = lib.makeOverridable self.buildNodePackage { + name = "node-mongodb-1.4.2"; src = [ (fetchurl { - url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.0-rc9.tgz"; - name = "mongodb-1.4.0-rc9.tgz"; - sha1 = "1b3887e9b2846de7557a009e1702f7dbc70d4c12"; + url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.2.tgz"; + name = "mongodb-1.4.2.tgz"; + sha1 = "68b5a5ac7ee146dcbdf17d01f60ffe88e61e76aa"; }) ]; buildInputs = @@ -11088,7 +11481,7 @@ ]; passthru.names = [ "mongodb" ]; }; - "mongodb" = self.by-version."mongodb"."1.4.0-rc9"; + "mongodb" = self.by-version."mongodb"."1.4.2"; by-spec."mongodb"."1.2.14" = self.by-version."mongodb"."1.2.14"; by-version."mongodb"."1.2.14" = lib.makeOverridable self.buildNodePackage { @@ -11268,7 +11661,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 = [ ]; @@ -11336,14 +11729,14 @@ passthru.names = [ "morgan" ]; }; by-spec."mout"."^0.9.0" = - self.by-version."mout"."0.9.0"; - by-version."mout"."0.9.0" = lib.makeOverridable self.buildNodePackage { - name = "node-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.0.tgz"; - name = "mout-0.9.0.tgz"; - sha1 = "4b6ef8cae5099151d9a7ddb6ebb9a56f9de6aaeb"; + url = "http://registry.npmjs.org/mout/-/mout-0.9.1.tgz"; + name = "mout-0.9.1.tgz"; + sha1 = "84f0f3fd6acc7317f63de2affdcc0cee009b0477"; }) ]; buildInputs = @@ -11393,7 +11786,7 @@ passthru.names = [ "mout" ]; }; by-spec."mout"."~0.9.0" = - self.by-version."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 { @@ -11494,14 +11887,14 @@ passthru.names = [ "ms" ]; }; by-spec."msgpack".">= 0.0.1" = - self.by-version."msgpack"."0.2.2"; - by-version."msgpack"."0.2.2" = lib.makeOverridable self.buildNodePackage { - name = "msgpack-0.2.2"; + 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.2.tgz"; - name = "msgpack-0.2.2.tgz"; - sha1 = "e7aec9bea24d9b07940dee6cfa536c469cd1776c"; + url = "http://registry.npmjs.org/msgpack/-/msgpack-0.2.3.tgz"; + name = "msgpack-0.2.3.tgz"; + sha1 = "0739ab7eaa0a5ba0ff7da2061c72ab806b6afe5f"; }) ]; buildInputs = @@ -11526,7 +11919,7 @@ buildInputs = (self.nativeDeps."multiparty" or []); deps = [ - self.by-version."readable-stream"."1.1.12" + self.by-version."readable-stream"."1.1.13-1" self.by-version."stream-counter"."0.2.0" ]; peerDependencies = [ @@ -11989,25 +12382,25 @@ 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.2"; - by-version."node-inspector"."0.7.2" = lib.makeOverridable self.buildNodePackage { - name = "node-inspector-0.7.2"; + 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.2.tgz"; - name = "node-inspector-0.7.2.tgz"; - sha1 = "b9f1a1bbec7960d504edbfbc4bf191841794aab8"; + 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."express"."3.4.8" - self.by-version."async"."0.2.10" + 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."rc"."0.3.5" self.by-version."strong-data-uri"."0.1.1" - self.by-version."debug"."0.7.4" + 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" @@ -12017,7 +12410,7 @@ ]; passthru.names = [ "node-inspector" ]; }; - "node-inspector" = self.by-version."node-inspector"."0.7.2"; + "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 { @@ -12227,8 +12620,8 @@ buildInputs = (self.nativeDeps."nodemailer" or []); deps = [ - self.by-version."mailcomposer"."0.2.8" - self.by-version."simplesmtp"."0.3.24" + self.by-version."mailcomposer"."0.2.9" + self.by-version."simplesmtp"."0.3.25" self.by-version."optimist"."0.6.1" ]; peerDependencies = [ @@ -12292,7 +12685,7 @@ buildInputs = (self.nativeDeps."nopt" or []); deps = [ - self.by-version."abbrev"."1.0.4" + self.by-version."abbrev"."1.0.5" ]; peerDependencies = [ ]; @@ -12312,7 +12705,7 @@ buildInputs = (self.nativeDeps."nopt" or []); deps = [ - self.by-version."abbrev"."1.0.4" + self.by-version."abbrev"."1.0.5" ]; peerDependencies = [ ]; @@ -12320,6 +12713,8 @@ }; 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 { @@ -12334,7 +12729,7 @@ buildInputs = (self.nativeDeps."nopt" or []); deps = [ - self.by-version."abbrev"."1.0.4" + self.by-version."abbrev"."1.0.5" ]; peerDependencies = [ ]; @@ -12354,7 +12749,7 @@ buildInputs = (self.nativeDeps."nopt" or []); deps = [ - self.by-version."abbrev"."1.0.4" + self.by-version."abbrev"."1.0.5" ]; peerDependencies = [ ]; @@ -12387,20 +12782,20 @@ passthru.names = [ "normalize-package-data" ]; }; by-spec."npm"."*" = - self.by-version."npm"."1.4.6"; - by-version."npm"."1.4.6" = lib.makeOverridable self.buildNodePackage { - name = "npm-1.4.6"; + self.by-version."npm"."1.4.7"; + by-version."npm"."1.4.7" = lib.makeOverridable self.buildNodePackage { + name = "npm-1.4.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/npm/-/npm-1.4.6.tgz"; - name = "npm-1.4.6.tgz"; - sha1 = "0e151bce38e72cf2206a6299fa5164123f04256e"; + url = "http://registry.npmjs.org/npm/-/npm-1.4.7.tgz"; + name = "npm-1.4.7.tgz"; + sha1 = "7e3c4385973ffb58c9bf15eebe2668c0ce3fafe0"; }) ]; buildInputs = (self.nativeDeps."npm" or []); deps = [ - self.by-version."abbrev"."1.0.4" + self.by-version."abbrev"."1.0.5" self.by-version."ansi"."0.2.1" self.by-version."ansicolors"."0.3.2" self.by-version."ansistyles"."0.1.3" @@ -12427,9 +12822,9 @@ 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.6" + self.by-version."npm-registry-client"."0.4.7" self.by-version."npm-user-validate"."0.0.3" - self.by-version."npmconf"."0.1.13" + 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" @@ -12454,7 +12849,7 @@ ]; passthru.names = [ "npm" ]; }; - "npm" = self.by-version."npm"."1.4.6"; + "npm" = self.by-version."npm"."1.4.7"; 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 { @@ -12505,15 +12900,15 @@ ]; passthru.names = [ "npm-registry-client" ]; }; - by-spec."npm-registry-client"."~0.4.4" = - self.by-version."npm-registry-client"."0.4.6"; - by-version."npm-registry-client"."0.4.6" = lib.makeOverridable self.buildNodePackage { - name = "node-npm-registry-client-0.4.6"; + by-spec."npm-registry-client"."~0.4.7" = + 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.4.6.tgz"; - name = "npm-registry-client-0.4.6.tgz"; - sha1 = "657f69a79543fc4cc264c3b2de958bd15f7140fe"; + 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 = @@ -12533,8 +12928,6 @@ ]; passthru.names = [ "npm-registry-client" ]; }; - by-spec."npm-registry-client"."~0.4.5" = - self.by-version."npm-registry-client"."0.4.6"; 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 { @@ -12637,14 +13030,14 @@ passthru.names = [ "npmconf" ]; }; by-spec."npmconf"."~0.1.13" = - self.by-version."npmconf"."0.1.13"; - by-version."npmconf"."0.1.13" = lib.makeOverridable self.buildNodePackage { - name = "node-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.13.tgz"; - name = "npmconf-0.1.13.tgz"; - sha1 = "d47241b5b074f554ced90cd888d0dc96e4b1a4da"; + url = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.14.tgz"; + name = "npmconf-0.1.14.tgz"; + sha1 = "aea4bc12c5a84191a32cd350e325da4fe8b127e7"; }) ]; buildInputs = @@ -12663,8 +13056,10 @@ ]; passthru.names = [ "npmconf" ]; }; + by-spec."npmconf"."~0.1.14" = + self.by-version."npmconf"."0.1.14"; by-spec."npmconf"."~0.1.2" = - self.by-version."npmconf"."0.1.13"; + 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 { @@ -12925,9 +13320,26 @@ passthru.names = [ "open" ]; }; by-spec."open"."~0.0.3" = - self.by-version."open"."0.0.4"; + self.by-version."open"."0.0.5"; + by-version."open"."0.0.5" = lib.makeOverridable self.buildNodePackage { + name = "node-open-0.0.5"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/open/-/open-0.0.5.tgz"; + name = "open-0.0.5.tgz"; + sha1 = "42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"; + }) + ]; + buildInputs = + (self.nativeDeps."open" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "open" ]; + }; by-spec."open"."~0.0.4" = - self.by-version."open"."0.0.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 { @@ -12948,14 +13360,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 = "node-openid-0.5.5"; + self.by-version."openid"."0.5.8"; + by-version."openid"."0.5.8" = lib.makeOverridable self.buildNodePackage { + name = "node-openid-0.5.8"; 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.8.tgz"; + name = "openid-0.5.8.tgz"; + sha1 = "e1e3b26235cb8964ef850c074529b9d031550e85"; }) ]; buildInputs = @@ -13162,14 +13574,14 @@ 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 = "node-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 = @@ -13180,9 +13592,9 @@ ]; 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 { @@ -13203,6 +13615,25 @@ ]; passthru.names = [ "p-throttler" ]; }; + by-spec."pako"."~0.2.0" = + self.by-version."pako"."0.2.0"; + by-version."pako"."0.2.0" = lib.makeOverridable self.buildNodePackage { + name = "node-pako-0.2.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/pako/-/pako-0.2.0.tgz"; + name = "pako-0.2.0.tgz"; + sha1 = "bb93787e8c60587c8b13cd3cd8802e9d6f5dd8d5"; + }) + ]; + buildInputs = + (self.nativeDeps."pako" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "pako" ]; + }; by-spec."parents"."0.0.2" = self.by-version."parents"."0.0.2"; by-version."parents"."0.0.2" = lib.makeOverridable self.buildNodePackage { @@ -13265,7 +13696,7 @@ passthru.names = [ "passport" ]; }; "passport" = self.by-version."passport"."0.2.0"; - by-spec."passport"."~0.1.1" = + 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"; @@ -13286,8 +13717,6 @@ ]; passthru.names = [ "passport" ]; }; - 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"."*" = @@ -13333,27 +13762,8 @@ passthru.names = [ "passport-local" ]; }; "passport-local" = self.by-version."passport-local"."1.0.0"; - by-spec."passport-local"."0.1.6" = - self.by-version."passport-local"."0.1.6"; - by-version."passport-local"."0.1.6" = lib.makeOverridable self.buildNodePackage { - name = "node-passport-local-0.1.6"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/passport-local/-/passport-local-0.1.6.tgz"; - name = "passport-local-0.1.6.tgz"; - sha1 = "fb0cf828048db931b67d19985c7aa06dd377a9db"; - }) - ]; - buildInputs = - (self.nativeDeps."passport-local" or []); - deps = [ - self.by-version."pkginfo"."0.2.3" - self.by-version."passport"."0.1.18" - ]; - peerDependencies = [ - ]; - passthru.names = [ "passport-local" ]; - }; + 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 { @@ -13449,15 +13859,15 @@ ]; passthru.names = [ "pause" ]; }; - by-spec."phantomjs"."~1.9.1-2" = - self.by-version."phantomjs"."1.9.7-1"; - by-version."phantomjs"."1.9.7-1" = lib.makeOverridable self.buildNodePackage { - name = "phantomjs-1.9.7-1"; + by-spec."phantomjs"."*" = + self.by-version."phantomjs"."1.9.7-4"; + by-version."phantomjs"."1.9.7-4" = lib.makeOverridable self.buildNodePackage { + name = "phantomjs-1.9.7-4"; src = [ (fetchurl { - url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-1.tgz"; - name = "phantomjs-1.9.7-1.tgz"; - sha1 = "57a191c908de74d27ac4948bd66100ae88222f47"; + url = "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-4.tgz"; + name = "phantomjs-1.9.7-4.tgz"; + sha1 = "975b84f17b4b3bb28161d28303cb793b98c9d0dd"; }) ]; buildInputs = @@ -13475,6 +13885,9 @@ ]; passthru.names = [ "phantomjs" ]; }; + "phantomjs" = self.by-version."phantomjs"."1.9.7-4"; + by-spec."phantomjs"."~1.9.1-2" = + self.by-version."phantomjs"."1.9.7-4"; by-spec."pkginfo"."0.2.x" = self.by-version."pkginfo"."0.2.3"; by-version."pkginfo"."0.2.3" = lib.makeOverridable self.buildNodePackage { @@ -13634,6 +14047,25 @@ ]; 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 { @@ -13670,7 +14102,7 @@ deps = [ self.by-version."pkginfo"."0.3.0" self.by-version."read"."1.0.5" - self.by-version."revalidator"."0.1.6" + self.by-version."revalidator"."0.1.7" self.by-version."utile"."0.2.1" self.by-version."winston"."0.6.2" ]; @@ -13778,7 +14210,7 @@ ]; passthru.names = [ "ps-tree" ]; }; - by-spec."punycode".">=0.2.0" = + by-spec."punycode"."1.2.4" = self.by-version."punycode"."1.2.4"; by-version."punycode"."1.2.4" = lib.makeOverridable self.buildNodePackage { name = "node-punycode-1.2.4"; @@ -13797,6 +14229,8 @@ ]; passthru.names = [ "punycode" ]; }; + by-spec."punycode".">=0.2.0" = + self.by-version."punycode"."1.2.4"; 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 { @@ -13818,6 +14252,26 @@ }; by-spec."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"."2.0.1"; by-version."q"."2.0.1" = lib.makeOverridable self.buildNodePackage { @@ -13881,6 +14335,8 @@ ]; passthru.names = [ "q" ]; }; + by-spec."q"."~1.0.1" = + self.by-version."q"."1.0.1"; by-spec."qs"."0.4.2" = self.by-version."qs"."0.4.2"; by-version."qs"."0.4.2" = lib.makeOverridable self.buildNodePackage { @@ -14022,6 +14478,8 @@ 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 { @@ -14119,15 +14577,15 @@ }; by-spec."range-parser"."~1.0.0" = self.by-version."range-parser"."1.0.0"; - by-spec."raven"."~0.6.2" = - self.by-version."raven"."0.6.2"; - by-version."raven"."0.6.2" = lib.makeOverridable self.buildNodePackage { - name = "raven-0.6.2"; + 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.2.tgz"; - name = "raven-0.6.2.tgz"; - sha1 = "391a7395b6088518a01697f639f21ce6ea9841a3"; + url = "http://registry.npmjs.org/raven/-/raven-0.6.3.tgz"; + name = "raven-0.6.3.tgz"; + sha1 = "3e7c72d45e0dff93ecc54978661331755c637320"; }) ]; buildInputs = @@ -14201,6 +14659,26 @@ ]; passthru.names = [ "raw-body" ]; }; + by-spec."raw-body"."~1.1.2" = + self.by-version."raw-body"."1.1.4"; + by-version."raw-body"."1.1.4" = lib.makeOverridable self.buildNodePackage { + name = "node-raw-body-1.1.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/raw-body/-/raw-body-1.1.4.tgz"; + name = "raw-body-1.1.4.tgz"; + sha1 = "f0b5624388d031f63da07f870c86cb9ccadcb67d"; + }) + ]; + buildInputs = + (self.nativeDeps."raw-body" or []); + deps = [ + self.by-version."bytes"."0.3.0" + ]; + peerDependencies = [ + ]; + 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 { @@ -14241,14 +14719,14 @@ }; "rbytes" = self.by-version."rbytes"."1.0.0"; by-spec."rc"."~0.3.0" = - self.by-version."rc"."0.3.4"; - by-version."rc"."0.3.4" = lib.makeOverridable self.buildNodePackage { - name = "rc-0.3.4"; + self.by-version."rc"."0.3.5"; + by-version."rc"."0.3.5" = lib.makeOverridable self.buildNodePackage { + name = "rc-0.3.5"; src = [ (fetchurl { - url = "http://registry.npmjs.org/rc/-/rc-0.3.4.tgz"; - name = "rc-0.3.4.tgz"; - sha1 = "01101660fb38363c22afbddfad46ecdb92b42df9"; + url = "http://registry.npmjs.org/rc/-/rc-0.3.5.tgz"; + name = "rc-0.3.5.tgz"; + sha1 = "fce2220593be57aa1296685a7e37ed003dfcc728"; }) ]; buildInputs = @@ -14263,7 +14741,7 @@ passthru.names = [ "rc" ]; }; by-spec."rc"."~0.3.4" = - self.by-version."rc"."0.3.4"; + self.by-version."rc"."0.3.5"; by-spec."react"."*" = self.by-version."react"."0.10.0"; by-version."react"."0.10.0" = lib.makeOverridable self.buildNodePackage { @@ -14311,29 +14789,6 @@ 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 = "node-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.8" - self.by-version."graceful-fs"."1.2.3" - ]; - peerDependencies = [ - ]; - passthru.names = [ "read-installed" ]; - }; 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 { @@ -14384,34 +14839,37 @@ 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.26"; - by-version."readable-stream"."1.0.26" = lib.makeOverridable self.buildNodePackage { - name = "node-readable-stream-1.0.26"; + self.by-version."readable-stream"."1.0.27-1"; + by-version."readable-stream"."1.0.27-1" = lib.makeOverridable self.buildNodePackage { + name = "node-readable-stream-1.0.27-1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz"; - name = "readable-stream-1.0.26.tgz"; - sha1 = "12a9c4415f6a85374abe18b7831ba52d43105766"; + url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz"; + name = "readable-stream-1.0.27-1.tgz"; + sha1 = "6b67983c20357cefd07f0165001a16d710d91078"; }) ]; buildInputs = (self.nativeDeps."readable-stream" or []); deps = [ + self.by-version."core-util-is"."1.0.1" + 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.1" = - 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"; + self.by-version."readable-stream"."1.1.13-1"; + by-version."readable-stream"."1.1.13-1" = lib.makeOverridable self.buildNodePackage { + name = "node-readable-stream-1.1.13-1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.12.tgz"; - name = "readable-stream-1.1.12.tgz"; - sha1 = "960d442bbf5f6690b6b20550413931021af8e506"; + url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13-1.tgz"; + name = "readable-stream-1.1.13-1.tgz"; + sha1 = "fc6f04f3366bf37bae21bec2e411c1b4d2cf1a46"; }) ]; buildInputs = @@ -14427,15 +14885,15 @@ passthru.names = [ "readable-stream" ]; }; by-spec."readable-stream"."~1.0.17" = - self.by-version."readable-stream"."1.0.26"; + self.by-version."readable-stream"."1.0.27-1"; by-spec."readable-stream"."~1.0.2" = - self.by-version."readable-stream"."1.0.26"; + self.by-version."readable-stream"."1.0.27-1"; by-spec."readable-stream"."~1.0.24" = - self.by-version."readable-stream"."1.0.26"; + self.by-version."readable-stream"."1.0.27-1"; by-spec."readable-stream"."~1.1.8" = - self.by-version."readable-stream"."1.1.12"; + self.by-version."readable-stream"."1.1.13-1"; by-spec."readable-stream"."~1.1.9" = - self.by-version."readable-stream"."1.1.12"; + self.by-version."readable-stream"."1.1.13-1"; by-spec."readdirp"."~0.2.3" = self.by-version."readdirp"."0.2.5"; by-version."readdirp"."0.2.5" = lib.makeOverridable self.buildNodePackage { @@ -14794,6 +15252,8 @@ }; 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.34.0"; by-spec."request"."~2.27.0" = @@ -14889,8 +15349,6 @@ ]; passthru.names = [ "request" ]; }; - by-spec."request"."~2.34.0" = - self.by-version."request"."2.34.0"; 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 { @@ -14952,15 +15410,15 @@ }; by-spec."requirejs"."~2.1.0" = 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"; + by-spec."resolve"."0.6.3" = + self.by-version."resolve"."0.6.3"; + by-version."resolve"."0.6.3" = lib.makeOverridable self.buildNodePackage { + name = "node-resolve-0.6.3"; 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.3.tgz"; + name = "resolve-0.6.3.tgz"; + sha1 = "dd957982e7e736debdf53b58a4dd91754575dd46"; }) ]; buildInputs = @@ -14972,24 +15430,7 @@ passthru.names = [ "resolve" ]; }; by-spec."resolve"."0.6.x" = - self.by-version."resolve"."0.6.2"; - by-version."resolve"."0.6.2" = lib.makeOverridable self.buildNodePackage { - name = "node-resolve-0.6.2"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/resolve/-/resolve-0.6.2.tgz"; - name = "resolve-0.6.2.tgz"; - sha1 = "7404e59e3c02980aa172272186521db3cf0a15f5"; - }) - ]; - buildInputs = - (self.nativeDeps."resolve" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "resolve" ]; - }; + self.by-version."resolve"."0.6.3"; by-spec."resolve"."~0.3.0" = self.by-version."resolve"."0.3.1"; by-version."resolve"."0.3.1" = lib.makeOverridable self.buildNodePackage { @@ -15012,9 +15453,9 @@ 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"; + self.by-version."resolve"."0.6.3"; by-spec."resolve"."~0.6.1" = - self.by-version."resolve"."0.6.2"; + self.by-version."resolve"."0.6.3"; 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 { @@ -15113,14 +15554,14 @@ by-spec."retry"."~0.6.0" = self.by-version."retry"."0.6.0"; by-spec."revalidator"."0.1.x" = - self.by-version."revalidator"."0.1.6"; - by-version."revalidator"."0.1.6" = lib.makeOverridable self.buildNodePackage { - name = "node-revalidator-0.1.6"; + self.by-version."revalidator"."0.1.7"; + by-version."revalidator"."0.1.7" = lib.makeOverridable self.buildNodePackage { + name = "node-revalidator-0.1.7"; src = [ (fetchurl { - url = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.6.tgz"; - name = "revalidator-0.1.6.tgz"; - sha1 = "0af2bab68d7d0e766fc4249660ebc2be28b594ba"; + url = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.7.tgz"; + name = "revalidator-0.1.7.tgz"; + sha1 = "f0b68b01bc5c5e0e9e6d864154d7098f24fec1db"; }) ]; buildInputs = @@ -15295,15 +15736,34 @@ passthru.names = [ "s3http" ]; }; "s3http" = self.by-version."s3http"."0.0.5"; - by-spec."sauce-connect-launcher"."~0.3.0" = - self.by-version."sauce-connect-launcher"."0.3.3"; - by-version."sauce-connect-launcher"."0.3.3" = lib.makeOverridable self.buildNodePackage { - name = "node-sauce-connect-launcher-0.3.3"; + by-spec."samsam"."~1.1" = + self.by-version."samsam"."1.1.1"; + by-version."samsam"."1.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-samsam-1.1.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.3.3.tgz"; - name = "sauce-connect-launcher-0.3.3.tgz"; - sha1 = "6c8b59d16b795ffc9439f162d5abd24387cdc23d"; + url = "http://registry.npmjs.org/samsam/-/samsam-1.1.1.tgz"; + name = "samsam-1.1.1.tgz"; + sha1 = "48d64ee2a7aecaaeccebe2f0a68a49687d3a49b1"; + }) + ]; + buildInputs = + (self.nativeDeps."samsam" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "samsam" ]; + }; + 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.4.2.tgz"; + name = "sauce-connect-launcher-0.4.2.tgz"; + sha1 = "a24b9fde59e3b29ca2011174c5c08ef8f74e44b9"; }) ]; buildInputs = @@ -15375,6 +15835,25 @@ ]; 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.41.0"; by-version."selenium-webdriver"."2.41.0" = lib.makeOverridable self.buildNodePackage { @@ -15521,7 +16000,7 @@ buildInputs = (self.nativeDeps."send" or []); deps = [ - self.by-version."debug"."0.8.0" + 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" @@ -15544,7 +16023,7 @@ buildInputs = (self.nativeDeps."send" or []); deps = [ - self.by-version."debug"."0.8.0" + 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" @@ -15567,7 +16046,7 @@ buildInputs = (self.nativeDeps."send" or []); deps = [ - self.by-version."debug"."0.8.0" + 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" @@ -15590,7 +16069,7 @@ buildInputs = (self.nativeDeps."send" or []); deps = [ - self.by-version."debug"."0.8.0" + 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" @@ -15683,6 +16162,48 @@ ]; passthru.names = [ "serve-static" ]; }; + by-spec."serve-static"."1.0.4" = + self.by-version."serve-static"."1.0.4"; + by-version."serve-static"."1.0.4" = lib.makeOverridable self.buildNodePackage { + name = "node-serve-static-1.0.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/serve-static/-/serve-static-1.0.4.tgz"; + name = "serve-static-1.0.4.tgz"; + sha1 = "426fedebe77bad21f373f1efcae09746639fba06"; + }) + ]; + buildInputs = + (self.nativeDeps."serve-static" or []); + deps = [ + self.by-version."parseurl"."1.0.1" + self.by-version."send"."0.2.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "serve-static" ]; + }; + by-spec."serve-static"."~1.0.3" = + self.by-version."serve-static"."1.0.4"; + by-spec."setimmediate"."1.0.1" = + self.by-version."setimmediate"."1.0.1"; + by-version."setimmediate"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "node-setimmediate-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz"; + name = "setimmediate-1.0.1.tgz"; + sha1 = "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7"; + }) + ]; + buildInputs = + (self.nativeDeps."setimmediate" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "setimmediate" ]; + }; by-spec."sha"."~1.2.1" = self.by-version."sha"."1.2.3"; by-version."sha"."1.2.3" = lib.makeOverridable self.buildNodePackage { @@ -15698,7 +16219,7 @@ (self.nativeDeps."sha" or []); deps = [ self.by-version."graceful-fs"."2.0.3" - self.by-version."readable-stream"."1.0.26" + self.by-version."readable-stream"."1.0.27-1" ]; peerDependencies = [ ]; @@ -15765,6 +16286,26 @@ ]; passthru.names = [ "shell-quote" ]; }; + by-spec."shelljs"."*" = + self.by-version."shelljs"."0.2.6"; + by-version."shelljs"."0.2.6" = lib.makeOverridable self.buildNodePackage { + name = "shelljs-0.2.6"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz"; + name = "shelljs-0.2.6.tgz"; + sha1 = "90492d72ffcc8159976baba62fb0f6884f0c3378"; + }) + ]; + buildInputs = + (self.nativeDeps."shelljs" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "shelljs" ]; + }; + "shelljs" = self.by-version."shelljs"."0.2.6"; by-spec."shelljs"."0.1.x" = self.by-version."shelljs"."0.1.4"; by-version."shelljs"."0.1.4" = lib.makeOverridable self.buildNodePackage { @@ -15786,32 +16327,15 @@ }; by-spec."shelljs"."~0.2.6" = self.by-version."shelljs"."0.2.6"; - by-version."shelljs"."0.2.6" = lib.makeOverridable self.buildNodePackage { - name = "shelljs-0.2.6"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz"; - name = "shelljs-0.2.6.tgz"; - sha1 = "90492d72ffcc8159976baba62fb0f6884f0c3378"; - }) - ]; - buildInputs = - (self.nativeDeps."shelljs" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "shelljs" ]; - }; by-spec."should"."*" = - self.by-version."should"."3.2.0"; - by-version."should"."3.2.0" = lib.makeOverridable self.buildNodePackage { - name = "node-should-3.2.0"; + self.by-version."should"."3.3.1"; + by-version."should"."3.3.1" = lib.makeOverridable self.buildNodePackage { + name = "node-should-3.3.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/should/-/should-3.2.0.tgz"; - name = "should-3.2.0.tgz"; - sha1 = "0dbbaec439c37eac010d4c0c2304815598be659f"; + url = "http://registry.npmjs.org/should/-/should-3.3.1.tgz"; + name = "should-3.3.1.tgz"; + sha1 = "28c93a522ba001146af96078f0a88bf5ac929522"; }) ]; buildInputs = @@ -15822,7 +16346,7 @@ ]; passthru.names = [ "should" ]; }; - "should" = self.by-version."should"."3.2.0"; + "should" = self.by-version."should"."3.3.1"; by-spec."sigmund"."~1.0.0" = self.by-version."sigmund"."1.0.0"; by-version."sigmund"."1.0.0" = lib.makeOverridable self.buildNodePackage { @@ -15885,14 +16409,14 @@ passthru.names = [ "simple-lru-cache" ]; }; by-spec."simplesmtp".">= 0.1.22" = - self.by-version."simplesmtp"."0.3.24"; - by-version."simplesmtp"."0.3.24" = lib.makeOverridable self.buildNodePackage { - name = "node-simplesmtp-0.3.24"; + self.by-version."simplesmtp"."0.3.25"; + by-version."simplesmtp"."0.3.25" = lib.makeOverridable self.buildNodePackage { + name = "node-simplesmtp-0.3.25"; src = [ (fetchurl { - url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.24.tgz"; - name = "simplesmtp-0.3.24.tgz"; - sha1 = "7423226b0735a8dbf87c07c3888f33ba2135a0e7"; + url = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.25.tgz"; + name = "simplesmtp-0.3.25.tgz"; + sha1 = "09b6ac292b7dae8053cfba11da09a0458eb8af39"; }) ]; buildInputs = @@ -15905,6 +16429,28 @@ ]; passthru.names = [ "simplesmtp" ]; }; + by-spec."sinon"."*" = + self.by-version."sinon"."1.9.1"; + by-version."sinon"."1.9.1" = lib.makeOverridable self.buildNodePackage { + name = "node-sinon-1.9.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/sinon/-/sinon-1.9.1.tgz"; + name = "sinon-1.9.1.tgz"; + sha1 = "0dac622bd3f0e6f9662a7431baf65f58c3459d69"; + }) + ]; + buildInputs = + (self.nativeDeps."sinon" or []); + deps = [ + self.by-version."formatio"."1.0.2" + self.by-version."util"."0.10.3" + ]; + peerDependencies = [ + ]; + passthru.names = [ "sinon" ]; + }; + "sinon" = self.by-version."sinon"."1.9.1"; by-spec."slasp"."*" = self.by-version."slasp"."0.0.3"; by-version."slasp"."0.0.3" = lib.makeOverridable self.buildNodePackage { @@ -16119,7 +16665,7 @@ ]; 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 = "node-socket.io-0.9.16"; @@ -16142,7 +16688,7 @@ ]; passthru.names = [ "socket.io" ]; }; - by-spec."socket.io"."~0.9.13" = + 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"; @@ -16406,14 +16952,14 @@ 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"; + self.by-version."stackdriver-statsd-backend"."0.2.1"; + by-version."stackdriver-statsd-backend"."0.2.1" = lib.makeOverridable self.buildNodePackage { + name = "node-stackdriver-statsd-backend-0.2.1"; 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"; + url = "http://registry.npmjs.org/stackdriver-statsd-backend/-/stackdriver-statsd-backend-0.2.1.tgz"; + name = "stackdriver-statsd-backend-0.2.1.tgz"; + sha1 = "3109661288821e79259b4d750a25d7159265dd8e"; }) ]; buildInputs = @@ -16424,7 +16970,7 @@ ]; passthru.names = [ "stackdriver-statsd-backend" ]; }; - "stackdriver-statsd-backend" = self.by-version."stackdriver-statsd-backend"."0.1.5"; + "stackdriver-statsd-backend" = self.by-version."stackdriver-statsd-backend"."0.2.1"; 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 { @@ -16527,27 +17073,7 @@ ]; passthru.names = [ "stream-browserify" ]; }; - by-spec."stream-combiner"."^0.0.2" = - self.by-version."stream-combiner"."0.0.2"; - by-version."stream-combiner"."0.0.2" = lib.makeOverridable self.buildNodePackage { - name = "node-stream-combiner-0.0.2"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.2.tgz"; - name = "stream-combiner-0.0.2.tgz"; - sha1 = "dfe0e74675742565e76c6056788ea5c23bd97db4"; - }) - ]; - buildInputs = - (self.nativeDeps."stream-combiner" or []); - deps = [ - self.by-version."duplexer"."0.0.4" - ]; - peerDependencies = [ - ]; - passthru.names = [ "stream-combiner" ]; - }; - by-spec."stream-combiner"."~0.0.2" = + 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 = "node-stream-combiner-0.0.4"; @@ -16567,6 +17093,8 @@ ]; 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 { @@ -16581,7 +17109,7 @@ buildInputs = (self.nativeDeps."stream-counter" or []); deps = [ - self.by-version."readable-stream"."1.0.26" + self.by-version."readable-stream"."1.0.27-1" ]; peerDependencies = [ ]; @@ -16601,7 +17129,7 @@ buildInputs = (self.nativeDeps."stream-counter" or []); deps = [ - self.by-version."readable-stream"."1.1.12" + self.by-version."readable-stream"."1.1.13-1" ]; peerDependencies = [ ]; @@ -16782,14 +17310,14 @@ passthru.names = [ "strong-data-uri" ]; }; by-spec."stylus"."*" = - self.by-version."stylus"."0.42.3"; - by-version."stylus"."0.42.3" = lib.makeOverridable self.buildNodePackage { - name = "stylus-0.42.3"; + 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.3.tgz"; - name = "stylus-0.42.3.tgz"; - sha1 = "23e8b3e71eb7f60bc4a657de498c8feb9c366c32"; + url = "http://registry.npmjs.org/stylus/-/stylus-0.44.0-beta3.tgz"; + name = "stylus-0.44.0-beta3.tgz"; + sha1 = "a602b30f57f1692cf0f1fb664e60a14e26102cff"; }) ]; buildInputs = @@ -16797,15 +17325,16 @@ deps = [ self.by-version."css-parse"."1.7.0" self.by-version."mkdirp"."0.3.5" - self.by-version."debug"."0.8.0" + self.by-version."debug"."0.8.1" self.by-version."sax"."0.5.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.3"; + "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 { @@ -16822,7 +17351,7 @@ deps = [ self.by-version."css-parse"."1.7.0" self.by-version."mkdirp"."0.3.5" - self.by-version."debug"."0.8.0" + self.by-version."debug"."0.8.1" self.by-version."sax"."0.5.8" self.by-version."glob"."3.2.9" ]; @@ -16943,42 +17472,17 @@ ]; passthru.names = [ "superagent" ]; }; - by-spec."superagent"."~0.16.0" = - self.by-version."superagent"."0.16.0"; - by-version."superagent"."0.16.0" = lib.makeOverridable self.buildNodePackage { - name = "node-superagent-0.16.0"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/superagent/-/superagent-0.16.0.tgz"; - name = "superagent-0.16.0.tgz"; - sha1 = "f38df4a476565dffdbaa07764b81a19f0ab38a4e"; - }) - ]; - 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.10.0"; - by-version."supertest"."0.10.0" = lib.makeOverridable self.buildNodePackage { - name = "node-supertest-0.10.0"; + 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.10.0.tgz"; - name = "supertest-0.10.0.tgz"; - sha1 = "5ba821b5f4e9e643292fcf87268dfd2688bdbb58"; + url = "http://registry.npmjs.org/supertest/-/supertest-0.11.0.tgz"; + name = "supertest-0.11.0.tgz"; + sha1 = "f8496b9f05cac1ea2fcec1d21adeca7167f42460"; }) ]; buildInputs = @@ -16991,7 +17495,7 @@ ]; passthru.names = [ "supertest" ]; }; - "supertest" = self.by-version."supertest"."0.10.0"; + "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 { @@ -17034,21 +17538,21 @@ }; by-spec."sylvester".">= 0.0.8" = self.by-version."sylvester"."0.0.21"; - by-spec."syntax-error"."~0.1.0" = - self.by-version."syntax-error"."0.1.0"; - by-version."syntax-error"."0.1.0" = lib.makeOverridable self.buildNodePackage { - name = "node-syntax-error-0.1.0"; + 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-0.1.0.tgz"; - name = "syntax-error-0.1.0.tgz"; - sha1 = "8cb515e730fe4f19d3a887035f8630e6494aac65"; + 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-six"."0.0.3" + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" ]; peerDependencies = [ ]; @@ -17253,6 +17757,25 @@ ]; passthru.names = [ "throttleit" ]; }; + 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 = "node-through-2.3.4"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz"; + name = "through-2.3.4.tgz"; + sha1 = "495e40e8d8a8eaebc7c275ea88c2b8fc14c56455"; + }) + ]; + buildInputs = + (self.nativeDeps."through" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "through" ]; + }; by-spec."through"."~2.2.7" = self.by-version."through"."2.2.7"; by-version."through"."2.2.7" = lib.makeOverridable self.buildNodePackage { @@ -17274,24 +17797,7 @@ }; by-spec."through"."~2.3.4" = self.by-version."through"."2.3.4"; - by-version."through"."2.3.4" = lib.makeOverridable self.buildNodePackage { - name = "node-through-2.3.4"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/through/-/through-2.3.4.tgz"; - name = "through-2.3.4.tgz"; - sha1 = "495e40e8d8a8eaebc7c275ea88c2b8fc14c56455"; - }) - ]; - buildInputs = - (self.nativeDeps."through" or []); - deps = [ - ]; - peerDependencies = [ - ]; - passthru.names = [ "through" ]; - }; - by-spec."through2"."~0.4.0" = + 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"; @@ -17305,13 +17811,15 @@ buildInputs = (self.nativeDeps."through2" or []); deps = [ - self.by-version."readable-stream"."1.0.26" + self.by-version."readable-stream"."1.0.27-1" 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 { @@ -17660,6 +18168,26 @@ ]; 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 { @@ -17698,6 +18226,50 @@ ]; passthru.names = [ "typedarray" ]; }; + by-spec."typescript"."*" = + self.by-version."typescript"."1.0.1"; + by-version."typescript"."1.0.1" = lib.makeOverridable self.buildNodePackage { + name = "typescript-1.0.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/typescript/-/typescript-1.0.1.tgz"; + name = "typescript-1.0.1.tgz"; + sha1 = "e8eacde3084a091d3fe29b60ac5862252662a25a"; + }) + ]; + buildInputs = + (self.nativeDeps."typescript" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "typescript" ]; + }; + "typescript" = self.by-version."typescript"."1.0.1"; + by-spec."uglify-js"."*" = + self.by-version."uglify-js"."2.4.13"; + by-version."uglify-js"."2.4.13" = lib.makeOverridable self.buildNodePackage { + name = "uglify-js-2.4.13"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.13.tgz"; + name = "uglify-js-2.4.13.tgz"; + sha1 = "18debc9e6ecfc20db1a5ea035f839d436a605aba"; + }) + ]; + buildInputs = + (self.nativeDeps."uglify-js" or []); + deps = [ + self.by-version."async"."0.2.10" + self.by-version."source-map"."0.1.33" + self.by-version."optimist"."0.3.7" + self.by-version."uglify-to-browserify"."1.0.2" + ]; + peerDependencies = [ + ]; + passthru.names = [ "uglify-js" ]; + }; + "uglify-js" = self.by-version."uglify-js"."2.4.13"; 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 { @@ -17742,27 +18314,6 @@ }; by-spec."uglify-js"."^2.4.0" = self.by-version."uglify-js"."2.4.13"; - by-version."uglify-js"."2.4.13" = lib.makeOverridable self.buildNodePackage { - name = "uglify-js-2.4.13"; - src = [ - (fetchurl { - url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.13.tgz"; - name = "uglify-js-2.4.13.tgz"; - sha1 = "18debc9e6ecfc20db1a5ea035f839d436a605aba"; - }) - ]; - buildInputs = - (self.nativeDeps."uglify-js" or []); - deps = [ - self.by-version."async"."0.2.10" - self.by-version."source-map"."0.1.33" - self.by-version."optimist"."0.3.7" - self.by-version."uglify-to-browserify"."1.0.2" - ]; - peerDependencies = [ - ]; - passthru.names = [ "uglify-js" ]; - }; by-spec."uglify-js"."~2.2" = self.by-version."uglify-js"."2.2.5"; by-version."uglify-js"."2.2.5" = lib.makeOverridable self.buildNodePackage { @@ -17941,8 +18492,6 @@ self.by-version."underscore"."1.6.0"; by-spec."underscore".">=1.5.0" = self.by-version."underscore"."1.6.0"; - by-spec."underscore".">=1.5.x" = - 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" = @@ -18033,31 +18582,31 @@ passthru.names = [ "unfunk-diff" ]; }; by-spec."ungit"."*" = - self.by-version."ungit"."0.7.2"; - by-version."ungit"."0.7.2" = lib.makeOverridable self.buildNodePackage { - name = "ungit-0.7.2"; + 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.7.2.tgz"; - name = "ungit-0.7.2.tgz"; - sha1 = "fc4d6943c407ca4ed08b7c48841419050e3ce52a"; + 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.8" - self.by-version."superagent"."0.16.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.5.1" - self.by-version."async"."0.2.10" - self.by-version."rc"."0.3.4" + self.by-version."async"."0.6.2" + self.by-version."rc"."0.3.5" self.by-version."uuid"."1.4.1" self.by-version."winston"."0.7.3" self.by-version."passport"."0.2.0" - self.by-version."passport-local"."0.1.6" + 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" @@ -18070,19 +18619,23 @@ self.by-version."keen.io"."0.0.4" self.by-version."getmac"."1.0.6" self.by-version."deep-extend"."0.2.8" - self.by-version."raven"."0.6.2" - self.by-version."knockout"."3.0.0" - self.by-version."npm-registry-client"."0.4.6" - self.by-version."npmconf"."0.1.13" + 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.32.1" + 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.3" + self.by-version."serve-static"."1.0.4" ]; peerDependencies = [ ]; passthru.names = [ "ungit" ]; }; - "ungit" = self.by-version."ungit"."0.7.2"; + "ungit" = self.by-version."ungit"."0.8.0"; by-spec."update-notifier"."~0.1.3" = self.by-version."update-notifier"."0.1.8"; by-version."update-notifier"."0.1.8" = lib.makeOverridable self.buildNodePackage { @@ -18108,6 +18661,26 @@ }; by-spec."update-notifier"."~0.1.7" = self.by-version."update-notifier"."0.1.8"; + by-spec."url"."~0.10.1" = + self.by-version."url"."0.10.1"; + by-version."url"."0.10.1" = lib.makeOverridable self.buildNodePackage { + name = "node-url-0.10.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/url/-/url-0.10.1.tgz"; + name = "url-0.10.1.tgz"; + sha1 = "d8eba8f267cec7645ddd93d2cdcf2320c876d25b"; + }) + ]; + buildInputs = + (self.nativeDeps."url" or []); + deps = [ + self.by-version."punycode"."1.2.4" + ]; + peerDependencies = [ + ]; + passthru.names = [ "url" ]; + }; by-spec."url"."~0.7.9" = self.by-version."url"."0.7.9"; by-version."url"."0.7.9" = lib.makeOverridable self.buildNodePackage { @@ -18208,7 +18781,7 @@ ]; passthru.names = [ "util" ]; }; - by-spec."util"."~0.10.1" = + by-spec."util".">=0.10.3 <1" = self.by-version."util"."0.10.3"; by-version."util"."0.10.3" = lib.makeOverridable self.buildNodePackage { name = "node-util-0.10.3"; @@ -18228,6 +18801,8 @@ ]; passthru.names = [ "util" ]; }; + by-spec."util"."~0.10.1" = + self.by-version."util"."0.10.3"; 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 { @@ -18624,14 +19199,14 @@ passthru.names = [ "watch" ]; }; by-spec."wd"."~0.2.12" = - self.by-version."wd"."0.2.14"; - by-version."wd"."0.2.14" = lib.makeOverridable self.buildNodePackage { - name = "wd-0.2.14"; + self.by-version."wd"."0.2.19"; + by-version."wd"."0.2.19" = lib.makeOverridable self.buildNodePackage { + name = "wd-0.2.19"; src = [ (fetchurl { - url = "http://registry.npmjs.org/wd/-/wd-0.2.14.tgz"; - name = "wd-0.2.14.tgz"; - sha1 = "834dfc756e03a68013ff3a3f62aea0cb1302f879"; + url = "http://registry.npmjs.org/wd/-/wd-0.2.19.tgz"; + name = "wd-0.2.19.tgz"; + sha1 = "347ae75adebc15ad642baec118742344d749f169"; }) ]; buildInputs = @@ -18685,8 +19260,8 @@ 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.13" - self.by-version."phantomjs"."1.9.7-1" + self.by-version."npmconf"."0.1.14" + self.by-version."phantomjs"."1.9.7-4" self.by-version."tmp"."0.0.23" self.by-version."follow-redirects"."0.0.3" ]; @@ -18716,15 +19291,15 @@ }; by-spec."websocket-driver".">=0.3.1" = self.by-version."websocket-driver"."0.3.2"; - 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"; + by-spec."when"."~3.1.0" = + self.by-version."when"."3.1.0"; + by-version."when"."3.1.0" = lib.makeOverridable self.buildNodePackage { + name = "node-when-3.1.0"; src = [ (fetchurl { - url = "http://registry.npmjs.org/when/-/when-2.8.0.tgz"; - name = "when-2.8.0.tgz"; - sha1 = "a15eda8b6998ce74c6f4e220dbda18ce2ab3b026"; + url = "http://registry.npmjs.org/when/-/when-3.1.0.tgz"; + name = "when-3.1.0.tgz"; + sha1 = "a2479659ca15f725541ecf52ebae091b781ee134"; }) ]; buildInputs = @@ -18862,6 +19437,8 @@ }; by-spec."winston"."~0.7.2" = self.by-version."winston"."0.7.3"; + by-spec."winston"."~0.7.3" = + self.by-version."winston"."0.7.3"; by-spec."wiredep"."~1.0.0" = self.by-version."wiredep"."1.0.0"; by-version."wiredep"."1.0.0" = lib.makeOverridable self.buildNodePackage { @@ -19007,6 +19584,25 @@ }; by-spec."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 { @@ -19127,7 +19723,7 @@ (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 = [ ]; @@ -19155,20 +19751,20 @@ 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 = "node-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.6.0" + self.by-version."lodash-node"."2.4.1" ]; peerDependencies = [ ]; @@ -19305,7 +19901,7 @@ 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.12" + self.by-version."download"."0.1.16" self.by-version."request"."2.27.0" self.by-version."file-utils"."0.1.5" ]; @@ -19345,7 +19941,7 @@ 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.12" + self.by-version."download"."0.1.16" self.by-version."request"."2.30.0" self.by-version."file-utils"."0.1.5" self.by-version."class-extend"."0.1.1" @@ -19377,12 +19973,12 @@ 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.4" + self.by-version."findup"."0.1.5" self.by-version."shelljs"."0.2.6" ]; peerDependencies = [ self.by-version."grunt-cli"."0.1.13" - self.by-version."bower"."1.3.1" + self.by-version."bower"."1.3.2" ]; passthru.names = [ "yo" ]; }; @@ -19424,7 +20020,7 @@ buildInputs = (self.nativeDeps."zip-stream" or []); deps = [ - self.by-version."readable-stream"."1.0.26" + self.by-version."readable-stream"."1.0.27-1" self.by-version."lodash.defaults"."2.4.1" ]; peerDependencies = [ diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json index 025c636b737..4d220a00829 100644 --- a/pkgs/top-level/node-packages.json +++ b/pkgs/top-level/node-packages.json @@ -121,4 +121,14 @@ , "deepmerge" , "slasp" , "react" +, { "pure-css": "git://github.com/yui/pure.git#v0.5.0-rc-1" } +, "marked" +, "browserify" +, "uglify-js" +, "less" +, "mocha-phantomjs" +, "phantomjs" +, "sinon" +, "shelljs" +, "typescript" ] diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c61b4c74ffc..593203be6d4 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -206,6 +206,10 @@ let self = _self // overrides; _self = with self; { 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 { @@ -1627,15 +1631,17 @@ let self = _self // overrides; _self = with self; { }; CPANMetaYAML = buildPerlPackage { - name = "CPAN-Meta-YAML-0.008"; + name = "CPAN-Meta-YAML-0.012"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-YAML-0.008.tar.gz; - sha256 = "1fxc8ybn6mdgzxyq1n69rgihmpfaarfclmbdw2rznya5zg2b0nz0"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Meta-YAML-0.012.tar.gz; + sha256 = "7c728c573ba74294d3df2f0cbae2cd1b3830ed47040649b49a33a086b8300d28"; }; + buildInputs = [ JSONPP ]; + doCheck = false; # Test::More too old meta = { - homepage = https://github.com/dagolden/cpan-meta-yaml; + homepage = https://github.com/dagolden/CPAN-Meta-YAML; description = "Read and write a subset of YAML for CPAN Meta files"; - license = "perl5"; + license = "perl"; }; }; @@ -2266,6 +2272,18 @@ let self = _self // overrides; _self = with self; { }; }; + DevelTrace = buildPerlPackage { + name = "Devel-Trace-0.12"; + src = fetchurl { + url = mirror://cpan/authors/id/M/MJ/MJD/Devel-Trace-0.12.tar.gz; + sha256 = "0s1q1a05gk3xvwqkya3k05vqjk13rvb489g0frprhzpzfvvwl0gm"; + }; + meta = { + description = "Print out each line before it is executed (like sh -x)"; + license = "Public Domain"; + }; + }; + DBDSQLite = import ../development/perl-modules/DBD-SQLite { inherit stdenv fetchurl buildPerlPackage DBI; inherit (pkgs) sqlite; @@ -2305,6 +2323,7 @@ let self = _self // overrides; _self = with self; { url = mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.08250.tar.gz; sha256 = "0nsqvj34klc9pf4l5kj3nqkq7agbsn11ys4115100awf7gxjbad6"; }; + patches = [ ../development/perl-modules/dbix-class-fix-tests.patch ]; buildInputs = [ DBDSQLite PackageStash TestException TestWarn TestDeep ]; propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ClassMethodModifiers ConfigAny ContextPreserve DataCompare DataDumperConcise DataPage DBI DevelGlobalDestruction HashMerge ModuleFind Moo MROCompat namespaceclean PathClass ScopeGuard SQLAbstract strictures SubName TryTiny ]; meta = { @@ -3313,16 +3332,19 @@ let self = _self // overrides; _self = with self; { }; }; - ExtUtilsMakeMaker = buildPerlPackage rec{ - name = "ExtUtils-MakeMaker-6.84"; + ExtUtilsMakeMaker = buildPerlPackage { + name = "ExtUtils-MakeMaker-6.98"; src = fetchurl { - url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz"; - sha256 = "1s3fn1fkm9l6pjhz7dbzsc6nhw1jm2hpf08fqhsqh1h50nj5pv5b"; + url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-6.98.tar.gz; + sha256 = "2eb023189e5fa6b9dcc66858b1fde953d1f1b86f971ec5ab42dd36c172da63ef"; }; propagatedBuildInputs = - [ ParseCPANMeta version JSONPP CPANMetaYAML CPANMeta - FileCopyRecursive VersionRequirements ExtUtilsManifest - ]; + [ ParseCPANMeta JSONPP JSONPPCompat5006 CPANMetaYAML FileCopyRecursive ]; + meta = { + homepage = https://metacpan.org/release/ExtUtils-MakeMaker; + description = "Create a module Makefile"; + license = "perl"; + }; }; ExtUtilsManifest = buildPerlPackage rec { @@ -3529,12 +3551,13 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ HTTPDate ]; }; - FileMimeInfo = buildPerlPackage { - name = "File-MimeInfo-0.20"; + FileMimeInfo = buildPerlPackage rec { + name = "File-MimeInfo-0.23"; src = fetchurl { - url = "http://search.cpan.org/CPAN/authors/id/M/MI/MICHIELB/File-MimeInfo-0.20.tar.gz"; - sha256 = "1738yi3a0xcbvffqymjb6cyh999q4pryalfwbkmdbjdks2y0bxz0"; + url = "mirror://cpan/modules/by-module/File/${name}.tar.gz"; + sha256 = "006i9idnxv9hsz1gykc5bqs05ma5wz9dsjrpmah9293bgdy1ccxj"; }; + doCheck = false; # Failed test 'desktop file is the right one' propagatedBuildInputs = [ FileBaseDir FileDesktopEntry ]; }; @@ -4390,17 +4413,19 @@ let self = _self // overrides; _self = with self; { 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 { @@ -4609,6 +4634,18 @@ let self = _self // overrides; _self = with self; { }; }; + JSONPPCompat5006 = buildPerlPackage { + name = "JSON-PP-Compat5006-1.09"; + src = fetchurl { + url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-Compat5006-1.09.tar.gz; + sha256 = "197030df52635f9bbe25af10742eea5bd74971473118c11311fcabcb62e3716a"; + }; + meta = { + description = "Helper module in using JSON::PP in Perl 5.6"; + license = "perl"; + }; + }; + JSONXS = buildPerlPackage { name = "JSON-XS-2.34"; src = fetchurl { @@ -5135,6 +5172,23 @@ let self = _self // overrides; _self = with self; { }; }; + MHonArc = buildPerlPackage rec { + name = "MHonArc-2.6.18"; + + src = fetchurl { + url = "http://dcssrv1.oit.uci.edu/indiv/ehood/release/MHonArc/tar/${name}.tar.gz"; + sha256 = "1xmf26dfwr8achprc3n1pxgl0mkiyr6pf25wq3dqgzqkghrrsxa2"; + }; + propagatedBuildInputs = [ ]; + meta = with stdenv.lib; { + homepage = http://dcssrv1.oit.uci.edu/indiv/ehood/mhonarch.html; + description = "A mail-to-HTML converter"; + maintainers = with maintainers; [ lovek323 ]; + license = licenses.gpl2; + platforms = platforms.unix; + }; + }; + MIMEBase64 = buildPerlPackage rec { name = "MIME-Base64-3.14"; src = fetchurl { @@ -5190,6 +5244,20 @@ let self = _self // overrides; _self = with self; { }; }; + ModernPerl = buildPerlPackage { + name = "Modern-Perl-1.20140107"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20140107.tar.gz; + sha256 = "9cf66b2f93340dfe1cd7162262a47e7c4ba82475a52dc2a036c2fdc8a65298b8"; + }; + propagatedBuildInputs = [ perl ]; + meta = { + homepage = https://github.com/chromatic/Modern-Perl; + description = "Enable all of the features of Modern Perl with one import"; + license = "perl"; + }; + }; + ModuleBuild = buildPerlPackage { name = "Module-Build-0.4005"; src = fetchurl { @@ -6572,13 +6640,18 @@ let self = _self // overrides; _self = with self; { }; }; - ParseCPANMeta = buildPerlPackage rec { - name = "Parse-CPAN-Meta-1.4409"; + ParseCPANMeta = buildPerlPackage { + name = "Parse-CPAN-Meta-1.4414"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Parse/${name}.tar.gz"; - sha256 = "0b7cp78zajmwf4a0968p3b2bb00axkxj3a9nq1rx8cb17hhva819"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Parse-CPAN-Meta-1.4414.tar.gz; + sha256 = "cd7608154dfb72c9e110f012befe6b75d78448cb3e761716b60aa7545e16ca1b"; }; propagatedBuildInputs = [ CPANMetaYAML JSONPP ]; + meta = { + homepage = https://github.com/Perl-Toolchain-Gang/Parse-CPAN-Meta; + description = "Parse META.yml and META.json CPAN metadata files"; + license = "perl"; + }; }; ParseRecDescent = buildPerlPackage rec { @@ -7436,7 +7509,7 @@ let self = _self // overrides; _self = with self; { sha256 = "8e7dae184444e27ee959e33b3ae161cc83115d11da189ed5003b004450e04b48"; }; meta = { - homepage = http://web-cpan.berlios.de/modules/Statistics-Descriptive/; + #homepage = http://web-cpan.berlios.de/modules/Statistics-Descriptive/; # berlios shut down; I found no replacement description = "Module of basic descriptive statistical functions"; license = "perl"; }; @@ -9062,6 +9135,18 @@ let self = _self // overrides; _self = with self; { }; }; + TieHashIndexed = buildPerlPackage { + name = "Tie-Hash-Indexed-0.05"; + src = fetchurl { + url = mirror://cpan/authors/id/M/MH/MHX/Tie-Hash-Indexed-0.05.tar.gz; + sha256 = "a8862a4763d58a8c785e34b8b18e5db4ce5c3e36b9b5cf565a3088584eab361e"; + }; + meta = { + description = "Ordered hashes for Perl"; + license = "perl"; + }; + }; + TieToObject = buildPerlPackage { name = "Tie-ToObject-0.03"; src = fetchurl { @@ -9184,10 +9269,14 @@ let self = _self // overrides; _self = with self; { }; UNIVERSALrequire = buildPerlPackage { - name = "UNIVERSAL-require-0.16"; + name = "UNIVERSAL-require-0.17"; src = fetchurl { - url = mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.16.tar.gz; - sha256 = "0fbx3f39lvck3n4ksqwji5m1hfdagx25jk5kg2h0gkb01jwz3za2"; + url = mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.17.tar.gz; + sha256 = "5dc9f13f2d2bbdf852387e2a63c0753728c2bea9125dd628c313db3ef66ec4c3"; + }; + meta = { + description = "Require() modules from a variable"; + license = "perl"; }; }; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 654a071a182..8a01151bd77 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -32,4 +32,20 @@ let self = with self; { buildInputs = [ pkgs.cyrus_sasl ]; }; + + xdebug = buildPecl rec { + name = "xdebug-2.2.5"; + src = pkgs.fetchurl { + url = "http://pecl.php.net/get/${name}.tgz"; + sha256 = "0vss35da615709kdvqji8pblckfvmabmj2njjjz6h8zzvj9gximd"; + }; + }; + + apc = buildPecl rec { + name = "apc-3.1.13"; + src = pkgs.fetchurl { + url = "http://pecl.php.net/get/${name}.tgz"; + sha256 = "1gcsh9iar5qa1yzpjki9bb5rivcb6yjp45lmjmp98wlyf83vmy2y"; + }; + }; }; in self diff --git a/pkgs/top-level/python-packages-generated.nix b/pkgs/top-level/python-packages-generated.nix index 193928513cb..ca980e38637 100644 --- a/pkgs/top-level/python-packages-generated.nix +++ b/pkgs/top-level/python-packages-generated.nix @@ -55,7 +55,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -67,15 +67,15 @@ in }; - "Products.Archetypes-1.9.4" = self.buildPythonPackage { - name = "Products.Archetypes-1.9.4"; + "Products.Archetypes-1.9.7" = self.buildPythonPackage { + name = "Products.Archetypes-1.9.7"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.Archetypes/Products.Archetypes-1.9.4.zip"; - md5 = "fc5679b10df703a542b58da044f7d9c6"; + url = "https://pypi.python.org/packages/source/P/Products.Archetypes/Products.Archetypes-1.9.7.zip"; + md5 = "35060c0ed8faf76c3c488fa642bb9715"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.app.folder-1.0.5" self."plone.folder-1.0.4" self."plone.uuid-1.0.3" self."Products.CMFCalendar-2.2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.Marshall-2.1.2" self."Products.MimetypesRegistry-2.0.5" self."Products.PlacelessTranslationService-2.0.4" self."Products.PortalTransforms-2.1.2" self."Products.statusmessages-4.0" self."Products.validation-2.0" self."Products.ZSQLMethods-2.13.4" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contenttype-3.5.5" self."zope.datetime-3.4.1" self."zope.deferredimport-3.5.3" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.tal-3.5.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.app.folder-1.0.6" self."plone.folder-1.0.5" self."plone.uuid-1.0.3" self."Products.CMFCalendar-2.2.3" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.Marshall-2.1.2" self."Products.MimetypesRegistry-2.0.5" self."Products.PlacelessTranslationService-2.0.4" self."Products.PortalTransforms-2.1.3" self."Products.statusmessages-4.0" self."Products.validation-2.0" self."Products.ZSQLMethods-2.13.4" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contenttype-3.5.5" self."zope.datetime-3.4.1" self."zope.deferredimport-3.5.3" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.tal-3.5.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -87,22 +87,22 @@ in }; - "plone.app.contentlisting-1.0.5" = self.buildPythonPackage { - name = "plone.app.contentlisting-1.0.5"; + "cssselect-0.9.1" = self.buildPythonPackage { + name = "cssselect-0.9.1"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.contentlisting/plone.app.contentlisting-1.0.5.zip"; - md5 = "9fc15b8ecad1c918778c3ea9a75bf533"; + url = "https://pypi.python.org/packages/source/c/cssselect/cssselect-0.9.1.tar.gz"; + md5 = "c74f45966277dc7a0f768b9b0f3522ac"; }; doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.uuid-1.0.3" self.setuptools ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + buildInputs = [ ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - Listing of content for the Plone CMS + cssselect parses CSS3 Selectors and translates them to XPath 1.0 ''; - homepage = "http://pypi.python.org/pypi/plone.app.contentlisting"; - license = "GPL version 2"; + homepage = "http://packages.python.org/cssselect/"; + license = "BSD"; }; }; @@ -115,7 +115,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.uuid-1.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."transaction-1.1.1" self."zope.contenttype-3.5.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.uuid-1.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."transaction-1.1.1" self."zope.contenttype-3.5.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -127,11 +127,11 @@ in }; - "plone.folder-1.0.4" = self.buildPythonPackage { - name = "plone.folder-1.0.4"; + "plone.folder-1.0.5" = self.buildPythonPackage { + name = "plone.folder-1.0.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.folder/plone.folder-1.0.4.zip"; - md5 = "1674ff18b7a9452d0c2063cf11c679b7"; + url = "https://pypi.python.org/packages/source/p/plone.folder/plone.folder-1.0.5.zip"; + md5 = "2722124a411e2d267b08d6f4d81e262c"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -147,55 +147,15 @@ in }; - "plone.z3cform-0.8.0" = self.buildPythonPackage { - name = "plone.z3cform-0.8.0"; + "Products.CMFPlone-4.3.3" = self.buildPythonPackage { + name = "Products.CMFPlone-4.3.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.z3cform/plone.z3cform-0.8.0.zip"; - md5 = "bdb23dd162544964d2f8f8f5f002e874"; + url = "https://pypi.python.org/packages/source/P/Products.CMFPlone/Products.CMFPlone-4.3.3.zip"; + md5 = "e6638766d7bf59d27517174e9d67ea6b"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.batching-1.0" self.setuptools self."z3c.form-3.0.2" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - plone.z3cform is a library that allows use of z3c.form with Zope 2 and the CMF. - ''; - homepage = "http://pypi.python.org/pypi/plone.z3cform"; - license = "ZPL 2.1"; - }; - }; - - - "six-1.4.1" = self.buildPythonPackage { - name = "six-1.4.1"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/s/six/six-1.4.1.tar.gz"; - md5 = "bdbb9e12d3336c198695aa4cf3a61d62"; - }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Python 2 and 3 compatibility utilities - ''; - homepage = "http://pypi.python.org/pypi/six/"; - license = "UNKNOWN"; - }; - }; - - - "Products.CMFPlone-4.3.2" = self.buildPythonPackage { - name = "Products.CMFPlone-4.3.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.CMFPlone/Products.CMFPlone-4.3.2.zip"; - md5 = "b9948583429d7d90475148d276fa5cf4"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."archetypes.querywidget-1.0.9" self."archetypes.referencebrowserwidget-2.4.19" self."borg.localrole-3.0.2" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."five.customerize-1.1" self."five.localsitemanager-2.0.5" self."Pillow-1.7.8" self."plone.app.blob-1.5.8" self."plone.app.collection-1.0.11" self."plone.app.content-2.1.3" self."plone.app.contentlisting-1.0.5" self."plone.app.contentmenu-2.0.8" self."plone.app.contentrules-3.0.4" self."plone.app.controlpanel-2.3.7" self."plone.app.customerize-1.2.2" self."plone.app.discussion-2.2.8" self."plone.app.folder-1.0.5" self."plone.app.form-2.2.3" self."plone.app.i18n-2.0.2" self."plone.app.jquery-1.7.2" self."plone.app.jquerytools-1.5.6" self."plone.app.layout-2.3.7" self."plone.app.linkintegrity-1.5.3" self."plone.app.locales-4.3.2" self."plone.app.portlets-2.4.5" self."plone.app.redirector-1.2" self."plone.app.search-1.1.5" self."plone.app.upgrade-1.3.4" self."plone.app.users-1.2a2" self."plone.app.uuid-1.0" self."plone.app.viewletmanager-2.0.4" self."plone.app.vocabularies-2.1.11" self."plone.app.workflow-2.1.6" self."plone.batching-1.0" self."plone.browserlayer-2.1.2" self."plone.contentrules-2.0.3" self."plone.fieldsets-2.0.2" self."plone.i18n-2.0.9" self."plone.indexer-1.0.2" self."plone.intelligenttext-2.0.2" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.portlet.collection-2.1.5" self."plone.portlet.static-2.0.2" self."plone.portlets-2.2" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."plone.session-3.5.3" self."plone.theme-2.1" self."plonetheme.classic-1.3.2" self."plonetheme.sunburst-1.4.5" self."Products.Archetypes-1.9.4" self."Products.ATContentTypes-2.1.13" self."Products.CMFActionIcons-2.1.3" self."Products.CMFCalendar-2.2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDiffTool-2.1" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.CMFEditions-2.2.8" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.DCWorkflow-2.2.4" self."Products.ExtendedPathIndex-3.1" self."Products.ExternalEditor-1.1.0" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PasswordResetTool-2.0.15" self."Products.PlacelessTranslationService-2.0.4" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self."Products.PluginRegistry-1.3" self."Products.PortalTransforms-2.1.2" self."Products.ResourceRegistries-2.2.9" self."Products.statusmessages-4.0" self."Products.TinyMCE-1.3.5" self.setuptools self."transaction-1.1.1" self."z3c.autoinclude-0.3.4" self."ZODB3-3.10.5" self."zope.app.locales-3.6.2" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.deferredimport-3.5.3" self."zope.deprecation-3.4.1" self."zope.dottedname-3.4.6" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.site-3.9.2" self."zope.structuredtext-3.5.1" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."archetypes.querywidget-1.0.10" self."archetypes.referencebrowserwidget-2.4.20" self."borg.localrole-3.0.2" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."five.customerize-1.1" self."five.localsitemanager-2.0.5" self."Pillow-2.3.0" self."plone.app.blob-1.5.9" self."plone.app.collection-1.0.11" self."plone.app.content-2.1.4" self."plone.app.contentlisting-1.0.5" self."plone.app.contentmenu-2.0.10" self."plone.app.contentrules-3.0.6" self."plone.app.controlpanel-2.3.8" self."plone.app.customerize-1.2.2" self."plone.app.discussion-2.2.12" self."plone.app.folder-1.0.6" self."plone.app.form-2.2.4" self."plone.app.i18n-2.0.2" self."plone.app.jquery-1.7.2" self."plone.app.jquerytools-1.5.7" self."plone.app.layout-2.3.11" self."plone.app.linkintegrity-1.5.4" self."plone.app.locales-4.3.3" self."plone.app.portlets-2.4.8" self."plone.app.redirector-1.2" self."plone.app.search-1.1.7" self."plone.app.upgrade-1.3.6" self."plone.app.users-1.2" self."plone.app.uuid-1.1" self."plone.app.viewletmanager-2.0.5" self."plone.app.vocabularies-2.1.14" self."plone.app.workflow-2.1.7" self."plone.batching-1.0.1" self."plone.browserlayer-2.1.3" self."plone.contentrules-2.0.4" self."plone.fieldsets-2.0.2" self."plone.i18n-2.0.9" self."plone.indexer-1.0.2" self."plone.intelligenttext-2.0.2" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.portlet.collection-2.1.5" self."plone.portlet.static-2.0.2" self."plone.portlets-2.2" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."plone.session-3.5.3" self."plone.theme-2.1.1" self."plonetheme.classic-1.3.3" self."plonetheme.sunburst-1.4.6" self."Products.Archetypes-1.9.7" self."Products.ATContentTypes-2.1.14" self."Products.CMFActionIcons-2.1.3" self."Products.CMFCalendar-2.2.3" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFDiffTool-2.1" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.CMFEditions-2.2.9" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.DCWorkflow-2.2.4" self."Products.ExtendedPathIndex-3.1" self."Products.ExternalEditor-1.1.0" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PasswordResetTool-2.0.16" self."Products.PlacelessTranslationService-2.0.4" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.3" self."Products.PluggableAuthService-1.10.0" self."Products.PluginRegistry-1.3" self."Products.PortalTransforms-2.1.3" self."Products.ResourceRegistries-2.2.10" self."Products.statusmessages-4.0" self."Products.TinyMCE-1.3.6" self.setuptools self."transaction-1.1.1" self."z3c.autoinclude-0.3.5" self."ZODB3-3.10.5" self."zope.app.locales-3.6.2" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.deferredimport-3.5.3" self."zope.deprecation-3.4.1" self."zope.dottedname-3.4.6" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.site-3.9.2" self."zope.structuredtext-3.5.1" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -207,6 +167,26 @@ in }; + "waitress-0.8.9" = self.buildPythonPackage { + name = "waitress-0.8.9"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/w/waitress/waitress-0.8.9.tar.gz"; + md5 = "da3f2e62b3676be5dd630703a68e2a04"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Waitress WSGI server + ''; + homepage = "https://github.com/Pylons/waitress"; + license = "ZPL 2.1"; + }; + }; + + "zope.deferredimport-3.5.3" = self.buildPythonPackage { name = "zope.deferredimport-3.5.3"; src = fetchurl { @@ -227,62 +207,42 @@ in }; - "Mako-0.9.0" = self.buildPythonPackage { - name = "Mako-0.9.0"; + "six-1.6.1" = self.buildPythonPackage { + name = "six-1.6.1"; src = fetchurl { - url = "https://pypi.python.org/packages/source/M/Mako/Mako-0.9.0.tar.gz"; - md5 = "e2627ba5c65f83dfe39d9a0892ae517d"; - }; - doCheck = true; - buildInputs = [ self."nose-1.3.0" ]; - propagatedBuildInputs = [ self."MarkupSafe-0.18" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - A super-fast templating language that borrows the best ideas from the existing templating languages. - ''; - homepage = "http://www.makotemplates.org/"; - license = "MIT"; - }; - }; - - - "waitress-0.8.7" = self.buildPythonPackage { - name = "waitress-0.8.7"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/w/waitress/waitress-0.8.7.tar.gz"; - md5 = "714f3d458d82a47f12fb168460de8366"; + url = "https://pypi.python.org/packages/source/s/six/six-1.6.1.tar.gz"; + md5 = "07d606ac08595d795bf926cc9985674f"; }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self.setuptools ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Waitress WSGI server - ''; - homepage = "https://github.com/Pylons/waitress"; - license = "ZPL 2.1"; - }; - }; - - - "coverage-3.7" = self.buildPythonPackage { - name = "coverage-3.7"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/c/coverage/coverage-3.7.tar.gz"; - md5 = "055d82e6849d882ec6cf2ae1faca8e56"; - }; - doCheck = true; - buildInputs = [ ]; propagatedBuildInputs = [ ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - Code coverage measurement for Python + Python 2 and 3 compatibility utilities ''; - homepage = "http://nedbatchelder.com/code/coverage"; - license = "BSD"; + homepage = "http://pypi.python.org/pypi/six/"; + license = "MIT"; + }; + }; + + + "zope.deprecation-4.1.1" = self.buildPythonPackage { + name = "zope.deprecation-4.1.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/zope.deprecation/zope.deprecation-4.1.1.tar.gz"; + md5 = "ce261b9384066f7e13b63525778430cb"; + }; + doCheck = true; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Zope Deprecation Infrastructure + ''; + homepage = "http://pypi.python.org/pypi/zope.deprecation"; + license = "ZPL 2.1"; }; }; @@ -295,7 +255,7 @@ in }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" self."eggtestinfo-0.3" ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.22" self."eggtestinfo-0.3" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -307,15 +267,15 @@ in }; - "plone.autoform-1.5" = self.buildPythonPackage { - name = "plone.autoform-1.5"; + "plone.autoform-1.6" = self.buildPythonPackage { + name = "plone.autoform-1.6"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.autoform/plone.autoform-1.5.zip"; - md5 = "a62216fb76017077643f5af8b1e17949"; + url = "https://pypi.python.org/packages/source/p/plone.autoform/plone.autoform-1.6.zip"; + md5 = "27412ab43f728064a60e2aeb564726b5"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.supermodel-1.2.3" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.0.2" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" ]; + propagatedBuildInputs = [ self."plone.supermodel-1.2.4" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -327,11 +287,11 @@ in }; - "Unidecode-0.04.1" = self.buildPythonPackage { - name = "Unidecode-0.04.1"; + "roman-1.4.0" = self.buildPythonPackage { + name = "roman-1.4.0"; src = fetchurl { - url = "https://pypi.python.org/packages/source/U/Unidecode/Unidecode-0.04.1.tar.gz"; - md5 = "c4c9ed8d40cff25c390ff5d5112b9308"; + url = "https://pypi.python.org/packages/source/r/roman/roman-1.4.0.tar.gz"; + md5 = "4f8832ed4108174b159c2afb4bd1d1dd"; }; doCheck = false; buildInputs = [ ]; @@ -339,10 +299,30 @@ in installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - US-ASCII transliterations of Unicode text + Integer to Roman numerals converter ''; - homepage = "http://code.zemanta.com/tsolc/unidecode/"; - license = "UNKNOWN"; + homepage = "http://pypi.python.org/pypi/roman"; + license = "Python 2.1.1"; + }; + }; + + + "archetypes.referencebrowserwidget-2.4.20" = self.buildPythonPackage { + name = "archetypes.referencebrowserwidget-2.4.20"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/a/archetypes.referencebrowserwidget/archetypes.referencebrowserwidget-2.4.20.zip"; + md5 = "352ea75e5dbdcdca8897f88fd77ecd3e"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."plone.app.form-2.2.4" self."plone.app.jquerytools-1.5.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.interface-3.6.7" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + A referencebrowser implementation for Archetypes + ''; + homepage = "http://pypi.python.org/pypi/archetypes.referencebrowserwidget"; + license = "ZPL 2.1"; }; }; @@ -387,15 +367,35 @@ in }; - "plone.app.blob-1.5.8" = self.buildPythonPackage { - name = "plone.app.blob-1.5.8"; + "nose-1.3.3" = self.buildPythonPackage { + name = "nose-1.3.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.blob/plone.app.blob-1.5.8.zip"; - md5 = "7e575d8df137cd19067cc95845aae604"; + url = "https://pypi.python.org/packages/source/n/nose/nose-1.3.3.tar.gz"; + md5 = "42776061bf5206670cb819176dc78654"; + }; + doCheck = true; + buildInputs = [ ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + nose extends unittest to make testing easier + ''; + homepage = "http://readthedocs.org/docs/nose/"; + license = "GNU LGPL"; + }; + }; + + + "plone.app.blob-1.5.9" = self.buildPythonPackage { + name = "plone.app.blob-1.5.9"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.blob/plone.app.blob-1.5.9.zip"; + md5 = "3ac753daa2758e3e8290e1e3a1887183"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."archetypes.schemaextender-2.1.2" self."plone.app.imaging-1.0.9" self."plone.scale__storage-1.3.2" self.setuptools self."ZODB3-3.10.5" self."zope.proxy-3.6.1" ]; + propagatedBuildInputs = [ self."archetypes.schemaextender-2.1.3" self."plone.app.imaging-1.0.10" self."plone.scale__storage-1.3.3" self.setuptools self."ZODB3-3.10.5" self."zope.proxy-3.6.1" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -407,22 +407,24 @@ in }; - "WebOb-1.2.3" = self.buildPythonPackage { - name = "WebOb-1.2.3"; + "suds" = self."suds-0.4"; + + "suds-0.4" = self.buildPythonPackage { + name = "suds-0.4"; src = fetchurl { - url = "https://pypi.python.org/packages/source/W/WebOb/WebOb-1.2.3.tar.gz"; - md5 = "11825b7074ba7043e157805e4e6e0f55"; + url = "https://pypi.python.org/packages/source/s/suds/suds-0.4.tar.gz"; + md5 = "b7502de662341ed7275b673e6bd73191"; }; - doCheck = true; - buildInputs = [ self."nose-1.3.0" ]; + doCheck = false; + buildInputs = [ ]; propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - WSGI request and response object + Lightweight SOAP client ''; - homepage = "http://webob.org/"; - license = "MIT"; + homepage = "https://fedorahosted.org/suds"; + license = "UNKNOWN"; }; }; @@ -447,22 +449,42 @@ in }; - "plone.theme-2.1" = self.buildPythonPackage { - name = "plone.theme-2.1"; + "Products.ZCTextIndex-2.13.5" = self.buildPythonPackage { + name = "Products.ZCTextIndex-2.13.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.theme/plone.theme-2.1.zip"; - md5 = "c592d0d095e9fc76cc81597cdf6d0c37"; + url = "https://pypi.python.org/packages/source/P/Products.ZCTextIndex/Products.ZCTextIndex-2.13.5.zip"; + md5 = "9a3717674b33d1d7c11b2c3728663d5b"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."Persistence-2.13.2" self.setuptools self."transaction-1.1.1" self."zExceptions-2.13.0" self."ZODB3-3.10.5" self."zope.interface-3.6.7" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Tools for managing themes in CMF and Plone sites + Full text indexing for ZCatalog / Zope 2. ''; - homepage = "http://pypi.python.org/pypi/plone.theme"; - license = "GPL version 2"; + homepage = "http://pypi.python.org/pypi/Products.ZCTextIndex"; + license = "ZPL 2.1"; + }; + }; + + + "plone.outputfilters-1.12" = self.buildPythonPackage { + name = "plone.outputfilters-1.12"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.outputfilters/plone.outputfilters-1.12.zip"; + md5 = "ed76b9cf028cf7e04f3aa408e22b61ca"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PortalTransforms-2.1.3" self.setuptools ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Transformations applied to HTML in Plone text fields as they are rendered + ''; + homepage = "http://github.com/plone/plone.outputfilters"; + license = "GPL"; }; }; @@ -487,22 +509,42 @@ in }; - "plone.batching-1.0" = self.buildPythonPackage { - name = "plone.batching-1.0"; + "plone.app.contentmenu-2.0.10" = self.buildPythonPackage { + name = "plone.app.contentmenu-2.0.10"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.batching/plone.batching-1.0.zip"; - md5 = "cabd58ccfec67cd384602343ce40dc7b"; + url = "https://pypi.python.org/packages/source/p/plone.app.contentmenu/plone.app.contentmenu-2.0.10.zip"; + md5 = "d28bc995bbe5a6f4aeabad07438ffb85"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.content-2.1.4" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self.setuptools self."zope.browsermenu-3.9.1" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Batching facilities used in Plone. + Plone's content menu implementation ''; - homepage = "http://pypi.python.org/pypi/plone.batching"; - license = "GPL"; + homepage = "http://pypi.python.org/pypi/plone.app.contentmenu"; + license = "GPL version 2"; + }; + }; + + + "mechanize-0.2.5" = self.buildPythonPackage { + name = "mechanize-0.2.5"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/m/mechanize/mechanize-0.2.5.tar.gz"; + md5 = "32657f139fc2fb75bcf193b63b8c60b2"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Stateful programmatic web browsing. + ''; + homepage = "http://wwwsearch.sourceforge.net/mechanize/"; + license = "BSD"; }; }; @@ -515,7 +557,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."python-gettext-1.2" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deferredimport-3.5.3" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."python-gettext-1.2" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deferredimport-3.5.3" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -527,34 +569,6 @@ in }; - "Pillow-1.7.8" = self.buildPythonPackage { - name = "Pillow-1.7.8"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Pillow/Pillow-1.7.8.zip"; - md5 = "41d8688d4db72673069a6dc63b5289d6"; - }; - doCheck = false; - buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.unzip ]; - propagatedBuildInputs = [ ]; - configurePhase = '' - 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 ; - s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ; - s|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ; - s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;' - ''; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Python Imaging Library (fork) - ''; - homepage = "http://github.com/python-imaging/Pillow"; - license = "UNKNOWN"; - }; - }; - - "ZConfig-2.9.1" = self.buildPythonPackage { name = "ZConfig-2.9.1"; src = fetchurl { @@ -603,7 +617,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."transaction-1.1.1" self."zope.interface-3.6.7" self."zope.structuredtext-3.5.1" self."zope.tales-3.5.3" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."transaction-1.1.1" self."zope.interface-3.6.7" self."zope.structuredtext-3.5.1" self."zope.tales-3.5.3" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -623,7 +637,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self.setuptools self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self.setuptools self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -635,11 +649,11 @@ in }; - "zope.event-4.0.2" = self.buildPythonPackage { - name = "zope.event-4.0.2"; + "zope.event-4.0.3" = self.buildPythonPackage { + name = "zope.event-4.0.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-4.0.2.tar.gz"; - md5 = "e08dd299d428d77a1cfcbfe841b81872"; + url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-4.0.3.tar.gz"; + md5 = "9a3780916332b18b8b85f522bcc3e249"; }; doCheck = true; buildInputs = [ ]; @@ -663,7 +677,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."five.globalrequest-1.0" self."plone.registry-1.0.1" self."plone.transformchain-1.0.3" self.setuptools self."z3c.caching__zcml-2.0a1" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."five.globalrequest-1.0" self."plone.registry-1.0.1" self."plone.transformchain-1.0.3" self.setuptools self."z3c.caching__zcml-2.0a1" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -723,7 +737,7 @@ in }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self."Products.GenericSetup-1.7.4" self."Products.ZSQLMethods-2.13.4" self.setuptools self."zope.app.publication-3.12.0" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self."Products.GenericSetup-1.7.4" self."Products.ZSQLMethods-2.13.4" self.setuptools self."zope.app.publication-3.12.0" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -735,15 +749,15 @@ in }; - "Products.PlonePAS-4.1.1" = self.buildPythonPackage { - name = "Products.PlonePAS-4.1.1"; + "Products.PlonePAS-4.1.3" = self.buildPythonPackage { + name = "Products.PlonePAS-4.1.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.PlonePAS/Products.PlonePAS-4.1.1.zip"; - md5 = "32db1808c3ad42e82542b65eb95c3c71"; + url = "https://pypi.python.org/packages/source/P/Products.PlonePAS/Products.PlonePAS-4.1.3.zip"; + md5 = "785c10242b77bfb0612c76b0262e361e"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.session-3.5.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.PluggableAuthService-1.10.0" self.setuptools self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.session-3.5.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.PluggableAuthService-1.10.0" self.setuptools self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -783,7 +797,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."archetypes.referencebrowserwidget-2.4.19" self.setuptools self."zope.deprecation-3.4.1" ]; + propagatedBuildInputs = [ self."archetypes.referencebrowserwidget-2.4.20" self.setuptools self."zope.deprecation-3.4.1" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -823,7 +837,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."Missing-2.13.1" self."Persistence-2.13.2" self."Record-2.13.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."Missing-2.13.1" self."Persistence-2.13.2" self."Record-2.13.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -855,28 +869,6 @@ in }; - "plone.recipe.zope2instance" = self."plone.recipe.zope2instance-4.2.13"; - - "plone.recipe.zope2instance-4.2.13" = self.buildPythonPackage { - name = "plone.recipe.zope2instance-4.2.13"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.recipe.zope2instance/plone.recipe.zope2instance-4.2.13.zip"; - md5 = "1ff990a15e77a92a7339b5092bfb9cc3"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."mailinglogger-3.7.0" self.setuptools self."zc.buildout-1.7.1" self."zc.recipe.egg-1.3.2" self."ZODB3-3.10.5" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Buildout recipe for creating a Zope 2 instance - ''; - homepage = "http://pypi.python.org/pypi/plone.recipe.zope2instance"; - license = "ZPL 2.1"; - }; - }; - - "Products.CMFQuickInstallerTool-3.0.6" = self.buildPythonPackage { name = "Products.CMFQuickInstallerTool-3.0.6"; src = fetchurl { @@ -885,7 +877,7 @@ in }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" self."eggtestinfo-0.3" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" self."eggtestinfo-0.3" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -897,35 +889,57 @@ in }; - "zope.deprecation-4.0.2" = self.buildPythonPackage { - name = "zope.deprecation-4.0.2"; + "plone.recipe.zope2instance" = self."plone.recipe.zope2instance-4.2.14"; + + "plone.recipe.zope2instance-4.2.14" = self.buildPythonPackage { + name = "plone.recipe.zope2instance-4.2.14"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.deprecation/zope.deprecation-4.0.2.tar.gz"; - md5 = "5f8cecce85f2783f9e020f1288e908fd"; + url = "https://pypi.python.org/packages/source/p/plone.recipe.zope2instance/plone.recipe.zope2instance-4.2.14.zip"; + md5 = "e5e76023d357592ee7b0236bb9764b9d"; }; - doCheck = true; - buildInputs = [ ]; - propagatedBuildInputs = [ self.setuptools ]; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."mailinglogger-3.7.0" self.setuptools self."zc.buildout-1.7.1" self."zc.recipe.egg-1.3.2" self."ZODB3-3.10.5" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - Zope Deprecation Infrastructure + Buildout recipe for creating a Zope 2 instance ''; - homepage = "http://pypi.python.org/pypi/zope.deprecation"; + homepage = "http://pypi.python.org/pypi/plone.recipe.zope2instance"; license = "ZPL 2.1"; }; }; - "Products.CMFEditions-2.2.8" = self.buildPythonPackage { - name = "Products.CMFEditions-2.2.8"; + "zope.event-3.5.2" = self.buildPythonPackage { + name = "zope.event-3.5.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.CMFEditions/Products.CMFEditions-2.2.8.zip"; - md5 = "1806f2e17e2527fad9364670b343bd11"; + url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-3.5.2.tar.gz"; + md5 = "6e8af2a16157a74885d4f0d88137cefb"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Very basic event publishing system + ''; + homepage = "http://pypi.python.org/pypi/zope.event"; + license = "ZPL 2.1"; + }; + }; + + + "Products.CMFEditions-2.2.9" = self.buildPythonPackage { + name = "Products.CMFEditions-2.2.9"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/P/Products.CMFEditions/Products.CMFEditions-2.2.9.zip"; + md5 = "4cd9db460f4056b14d425ff2fdc34952"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.CMFDiffTool-2.1" self."Products.CMFUid-2.2.1" self."Products.GenericSetup-1.7.4" self."Products.ZopeVersionControl-1.1.3" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.copy-3.5.0" self."zope.dottedname-3.4.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.CMFDiffTool-2.1" self."Products.CMFUid-2.2.1" self."Products.GenericSetup-1.7.4" self."Products.ZopeVersionControl-1.1.3" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.copy-3.5.0" self."zope.dottedname-3.4.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -937,46 +951,6 @@ in }; - "plone.app.form-2.2.3" = self.buildPythonPackage { - name = "plone.app.form-2.2.3"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.form/plone.app.form-2.2.3.zip"; - md5 = "4b7dcabcda1407a40185782a4d1f9a01"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."five.formlib-1.0.4" self."plone.app.vocabularies-2.1.11" self."plone.locking-2.0.4" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - zope.formlib integration for Plone - ''; - homepage = "http://pypi.python.org/pypi/plone.app.form"; - license = "GPL version 2"; - }; - }; - - - "Products.CMFDefault-2.2.3" = self.buildPythonPackage { - name = "Products.CMFDefault-2.2.3"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.CMFDefault/Products.CMFDefault-2.2.3.tar.gz"; - md5 = "fe7d2d3906ee0e3b484e4a02401576ab"; - }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ self."five.formlib-1.0.4" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" self."eggtestinfo-0.3" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Default product for the Zope Content Management Framework - ''; - homepage = "http://pypi.python.org/pypi/Products.CMFDefault"; - license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)"; - }; - }; - - "zope.processlifetime-1.0" = self.buildPythonPackage { name = "zope.processlifetime-1.0"; src = fetchurl { @@ -997,22 +971,62 @@ in }; - "zope.component-4.1.0" = self.buildPythonPackage { - name = "zope.component-4.1.0"; + "Products.CMFDefault-2.2.4" = self.buildPythonPackage { + name = "Products.CMFDefault-2.2.4"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.component/zope.component-4.1.0.zip"; - md5 = "8e185893699f9fa577bd9ada0a5302fa"; + url = "https://pypi.python.org/packages/source/P/Products.CMFDefault/Products.CMFDefault-2.2.4.tar.gz"; + md5 = "3d4444a8c4b486a2d769060e35a3ee01"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ self."five.formlib-1.0.4" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.22" self."eggtestinfo-0.3" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Default product for the Zope Content Management Framework + ''; + homepage = "http://pypi.python.org/pypi/Products.CMFDefault"; + license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)"; + }; + }; + + + "plone.app.form-2.2.4" = self.buildPythonPackage { + name = "plone.app.form-2.2.4"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.form/plone.app.form-2.2.4.zip"; + md5 = "1784f608dcb3a1701d91d4985ca31e63"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools self."zope.event-4.0.2" self."zope.interface-4.0.5" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."five.formlib-1.0.4" self."plone.app.vocabularies-2.1.14" self."plone.locking-2.0.4" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Zope Component Architecture + zope.formlib integration for Plone ''; - homepage = "http://pypi.python.org/pypi/zope.component"; - license = "ZPL 2.1"; + homepage = "http://pypi.python.org/pypi/plone.app.form"; + license = "GPL version 2"; + }; + }; + + + "Products.PasswordResetTool-2.0.16" = self.buildPythonPackage { + name = "Products.PasswordResetTool-2.0.16"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/P/Products.PasswordResetTool/Products.PasswordResetTool-2.0.16.zip"; + md5 = "c9069dff718878a32b1ef91875acf240"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Password reset tool for Plone + ''; + homepage = "http://pypi.python.org/pypi/Products.PasswordResetTool"; + license = "GPL"; }; }; @@ -1057,31 +1071,51 @@ in }; - "plone.stringinterp-1.0.10" = self.buildPythonPackage { - name = "plone.stringinterp-1.0.10"; + "lxml-3.3.5" = self.buildPythonPackage { + name = "lxml-3.3.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.stringinterp/plone.stringinterp-1.0.10.zip"; - md5 = "595074e94944ad6860e2105a020a3b9a"; + url = "https://pypi.python.org/packages/source/l/lxml/lxml-3.3.5.tar.gz"; + md5 = "88c75f4c73fc8f59c9ebb17495044f2f"; }; doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.i18n__zcml-3.7.4" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - Adaptable string interpolation + Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. ''; - homepage = "http://pypi.python.org/pypi/plone.stringinterp"; - license = "GPL version 2"; + homepage = "http://lxml.de/"; + license = "UNKNOWN"; }; }; - "plonetheme.sunburst-1.4.5" = self.buildPythonPackage { - name = "plonetheme.sunburst-1.4.5"; + "PasteDeploy-1.5.2" = self.buildPythonPackage { + name = "PasteDeploy-1.5.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plonetheme.sunburst/plonetheme.sunburst-1.4.5.zip"; - md5 = "a8438d6f4a27ad6c10dc3554a9145705"; + url = "https://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-1.5.2.tar.gz"; + md5 = "352b7205c78c8de4987578d19431af3b"; + }; + doCheck = true; + buildInputs = [ self."nose-1.3.3" ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Load, configure, and compose WSGI applications and servers + ''; + homepage = "http://pythonpaste.org/deploy/"; + license = "MIT"; + }; + }; + + + "plonetheme.sunburst-1.4.6" = self.buildPythonPackage { + name = "plonetheme.sunburst-1.4.6"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plonetheme.sunburst/plonetheme.sunburst-1.4.6.zip"; + md5 = "6e236f7d2ab944b708fb26de6f343ceb"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -1097,22 +1131,22 @@ in }; - "PasteDeploy-1.5.0" = self.buildPythonPackage { - name = "PasteDeploy-1.5.0"; + "plone.openid-2.0.2" = self.buildPythonPackage { + name = "plone.openid-2.0.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-1.5.0.tar.gz"; - md5 = "f1a068a0b680493b6eaff3dd7690690f"; + url = "https://pypi.python.org/packages/source/p/plone.openid/plone.openid-2.0.2.zip"; + md5 = "046133795cf232ab6d19db940f02197a"; }; - doCheck = true; - buildInputs = [ self."nose-1.3.0" ]; - propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.PluggableAuthService-1.10.0" self."python-openid-2.2.5" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Load, configure, and compose WSGI applications and servers + OpenID authentication support for PAS ''; - homepage = "http://pythonpaste.org/deploy/"; - license = "MIT"; + homepage = "http://svn.plone.org/svn/plone/plone.openid"; + license = "BSD"; }; }; @@ -1137,42 +1171,42 @@ in }; - "plone.openid-2.0.1" = self.buildPythonPackage { - name = "plone.openid-2.0.1"; + "Products.PortalTransforms-2.1.3" = self.buildPythonPackage { + name = "Products.PortalTransforms-2.1.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.openid/plone.openid-2.0.1.zip"; - md5 = "d4c36926a6dbefed035ed92c29329ce1"; + url = "https://pypi.python.org/packages/source/P/Products.PortalTransforms/Products.PortalTransforms-2.1.3.zip"; + md5 = "a2f1f9e0388ed081028bb4c93fd24317"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.PluggableAuthService-1.10.0" self."python-openid-2.2.5" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Markdown-2.0.3" self."plone.intelligenttext-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.MimetypesRegistry-2.0.5" self.setuptools self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."zope.structuredtext-3.5.1" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - OpenID authentication support for PAS + MIME based content transformations ''; - homepage = "http://svn.plone.org/svn/plone/plone.openid"; - license = "BSD"; + homepage = "http://pypi.python.org/pypi/Products.PortalTransforms"; + license = "UNKNOWN"; }; }; - "plone.resourceeditor-1.0" = self.buildPythonPackage { - name = "plone.resourceeditor-1.0"; + "zope.interface-4.1.1" = self.buildPythonPackage { + name = "zope.interface-4.1.1"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.resourceeditor/plone.resourceeditor-1.0.zip"; - md5 = "443ff0a0ad83b94fc08cac46ee3b2ad4"; + url = "https://pypi.python.org/packages/source/z/zope.interface/zope.interface-4.1.1.tar.gz"; + md5 = "edcd5f719c5eb2e18894c4d06e29b6c6"; }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.resource-1.0.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + doCheck = true; + buildInputs = [ self."zope.event-4.0.3" ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - UNKNOWN + Interfaces for Python ''; - homepage = "https://github.com/plone/plone.resourceeditor"; - license = "GPL"; + homepage = "http://pypi.python.org/pypi/zope.interface"; + license = "ZPL 2.1"; }; }; @@ -1197,35 +1231,35 @@ in }; - "zope.schema-4.2.2" = self.buildPythonPackage { - name = "zope.schema-4.2.2"; + "zope.component-4.2.1" = self.buildPythonPackage { + name = "zope.component-4.2.1"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.2.2.tar.gz"; - md5 = "e7e581af8193551831560a736a53cf58"; + url = "https://pypi.python.org/packages/source/z/zope.component/zope.component-4.2.1.tar.gz"; + md5 = "cf55d496428d976f9329a4a2330a8b54"; }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self.setuptools self."zope.event-3.5.2" self."zope.interface-3.6.7" ]; + propagatedBuildInputs = [ self.setuptools self."zope.event-4.0.3" self."zope.interface-4.1.1" ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - zope.interface extension for defining data schemas + Zope Component Architecture ''; - homepage = "http://pypi.python.org/pypi/zope.schema"; + homepage = "http://pypi.python.org/pypi/zope.component"; license = "ZPL 2.1"; }; }; - "plone.app.content-2.1.3" = self.buildPythonPackage { - name = "plone.app.content-2.1.3"; + "plone.app.content-2.1.4" = self.buildPythonPackage { + name = "plone.app.content-2.1.4"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.content/plone.app.content-2.1.3.zip"; - md5 = "3463a245414518f058fa6d658a6b9caf"; + url = "https://pypi.python.org/packages/source/p/plone.app.content/plone.app.content-2.1.4.zip"; + md5 = "6930a2376e2d856e4f24e17f789568e5"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.batching-1.0" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self.setuptools self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.batching-1.0.1" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self.setuptools self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -1237,6 +1271,46 @@ in }; + "plone.alterego-1.0" = self.buildPythonPackage { + name = "plone.alterego-1.0"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.alterego/plone.alterego-1.0.zip"; + md5 = "b7b6dbcbba00505d98d5aba83e016408"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Low level support for dynamic modules + ''; + homepage = "http://code.google.com/p/dexterity"; + license = "LGPL"; + }; + }; + + + "Products.ExternalEditor-1.1.0" = self.buildPythonPackage { + name = "Products.ExternalEditor-1.1.0"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/P/Products.ExternalEditor/Products.ExternalEditor-1.1.0.zip"; + md5 = "475fea6e0b958c0c51cfdbfef2f4e623"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Zope External Editor + ''; + homepage = "http://pypi.python.org/pypi/Products.ExternalEditor"; + license = "ZPL 2.1"; + }; + }; + + "Products.CMFDiffTool-2.1" = self.buildPythonPackage { name = "Products.CMFDiffTool-2.1"; src = fetchurl { @@ -1245,7 +1319,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -1264,7 +1338,7 @@ in md5 = "2c3b64b17a8e18b405f55d46173e14dd"; }; doCheck = true; - buildInputs = [ self."nose-1.3.0" ]; + buildInputs = [ self."nose-1.3.3" ]; propagatedBuildInputs = [ ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { @@ -1297,22 +1371,42 @@ in }; - "plone.dexterity-2.1.3" = self.buildPythonPackage { - name = "plone.dexterity-2.1.3"; + "z3c.formwidget.query-0.10" = self.buildPythonPackage { + name = "z3c.formwidget.query-0.10"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.dexterity/plone.dexterity-2.1.3.zip"; - md5 = "7f6444a2c26488e4068217266fd243b7"; + url = "https://pypi.python.org/packages/source/z/z3c.formwidget.query/z3c.formwidget.query-0.10.zip"; + md5 = "912773ecfa4409bc8911e9e8dd981e58"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.alterego-1.0" self."plone.autoform-1.5" self."plone.behavior-1.0.2" self."plone.folder-1.0.4" self."plone.memoize-1.1.1" self."plone.rfc822-1.1" self."plone.supermodel-1.2.3" self."plone.synchronize-1.0.1" self."plone.uuid-1.0.3" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.dottedname-3.4.6" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.size-3.4.1" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self.setuptools self."z3c.form-3.1.1" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Flexible CMF content + A source query widget for z3c.form. ''; - homepage = "http://code.google.com/p/dexterity"; - license = "GPL version 2"; + homepage = "http://pypi.python.org/pypi/z3c.formwidget.query"; + license = "ZPL 2.1"; + }; + }; + + + "Products.DCWorkflow-2.2.4" = self.buildPythonPackage { + name = "Products.DCWorkflow-2.2.4"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/P/Products.DCWorkflow/Products.DCWorkflow-2.2.4.tar.gz"; + md5 = "c90a16c4f3611015592ba8173a5f1863"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.22" self."eggtestinfo-0.3" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + DCWorkflow product for the Zope Content Management Framework + ''; + homepage = "http://pypi.python.org/pypi/Products.DCWorkflow"; + license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)"; }; }; @@ -1337,11 +1431,11 @@ in }; - "diazo-1.0.4" = self.buildPythonPackage { - name = "diazo-1.0.4"; + "diazo-1.0.5" = self.buildPythonPackage { + name = "diazo-1.0.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/d/diazo/diazo-1.0.4.zip"; - md5 = "b5f07cfd928e06bcb964b3f830767bab"; + url = "https://pypi.python.org/packages/source/d/diazo/diazo-1.0.5.zip"; + md5 = "9b304d079eab7c9dd6d10487f2fc94a4"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -1353,7 +1447,7 @@ in XSLT engine. With Diazo, you "compile" your theme and ruleset in one step, then use a superfast/simple transform on each request thereafter. Alternatively, compile your theme during development, check it into - Subversion, and not touch Diazo during deployment. + version control, and not touch Diazo during deployment. ''; homepage = "http://diazo.org"; license = "New BSD"; @@ -1361,26 +1455,6 @@ in }; - "zc.lockfile-1.0.2" = self.buildPythonPackage { - name = "zc.lockfile-1.0.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zc.lockfile/zc.lockfile-1.0.2.tar.gz"; - md5 = "f099d4cf2583a0c7bea0146a44dc4d59"; - }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ self.setuptools ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Basic inter-process locks - ''; - homepage = "http://www.python.org/pypi/zc.lockfile"; - license = "ZPL 2.1"; - }; - }; - - "zope.tales-3.5.3" = self.buildPythonPackage { name = "zope.tales-3.5.3"; src = fetchurl { @@ -1401,6 +1475,26 @@ in }; + "feedparser-5.0.1" = self.buildPythonPackage { + name = "feedparser-5.0.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/f/feedparser/feedparser-5.0.1.tar.bz2"; + md5 = "702835de74bd4a578524f311e62c2877"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + + ''; + homepage = "https://code.google.com/p/feedparser/"; + license = ""; + }; + }; + + "DateTime-3.0.3" = self.buildPythonPackage { name = "DateTime-3.0.3"; src = fetchurl { @@ -1421,11 +1515,31 @@ in }; - "z3c.autoinclude-0.3.4" = self.buildPythonPackage { - name = "z3c.autoinclude-0.3.4"; + "Missing-2.13.1" = self.buildPythonPackage { + name = "Missing-2.13.1"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/z3c.autoinclude/z3c.autoinclude-0.3.4.zip"; - md5 = "6a615ae18c12b459bceb3ae28e8e7709"; + url = "https://pypi.python.org/packages/source/M/Missing/Missing-2.13.1.zip"; + md5 = "9823cff54444cbbcaef8fc45d8e42572"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."ExtensionClass-2.13.2" ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Special Missing objects used in Zope2. + ''; + homepage = "http://pypi.python.org/pypi/Missing"; + license = "ZPL 2.1"; + }; + }; + + + "z3c.autoinclude-0.3.5" = self.buildPythonPackage { + name = "z3c.autoinclude-0.3.5"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/z3c.autoinclude/z3c.autoinclude-0.3.5.zip"; + md5 = "44f113a1c280dd238ab9b8490ae88857"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -1435,7 +1549,7 @@ in description = '' Automatically include ZCML ''; - homepage = "UNKNOWN"; + homepage = "http://pypi.python.org/pypi/z3c.autoinclude"; license = "ZPL"; }; }; @@ -1481,15 +1595,15 @@ in }; - "plone.app.iterate-2.1.10" = self.buildPythonPackage { - name = "plone.app.iterate-2.1.10"; + "plone.app.iterate-2.1.12" = self.buildPythonPackage { + name = "plone.app.iterate-2.1.12"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.iterate/plone.app.iterate-2.1.10.zip"; - md5 = "8bd270d8a3c9509e524a06e092a9b4c4"; + url = "https://pypi.python.org/packages/source/p/plone.app.iterate/plone.app.iterate-2.1.12.zip"; + md5 = "1d05316d4e9a68ed738e890aafa3c9e2"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."Products.Archetypes-1.9.4" self."Products.CMFCore-2.2.7" self."Products.CMFEditions-2.2.8" self."Products.CMFPlacefulWorkflow-1.5.9" self."Products.DCWorkflow-2.2.4" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."Products.Archetypes-1.9.7" self."Products.CMFCore-2.2.7" self."Products.CMFEditions-2.2.9" self."Products.CMFPlacefulWorkflow-1.5.10" self."Products.DCWorkflow-2.2.4" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -1501,6 +1615,26 @@ in }; + "plone.app.theming-1.1.1" = self.buildPythonPackage { + name = "plone.app.theming-1.1.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.theming/plone.app.theming-1.1.1.zip"; + md5 = "a694b7a050b6e7c25d720d1e99bb73fa"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."diazo-1.0.5" self."docutils-0.9.1" self."five.globalrequest-1.0" self."lxml-2.3.6" self."plone.app.registry-1.2.3" self."plone.resource-1.0.2" self."plone.resourceeditor-1.0" self."plone.subrequest-1.6.8" self."plone.transformchain-1.0.3" self."Products.CMFPlone-4.3.3" self."repoze.xmliter-0.5" self."roman-1.4.0" self.setuptools self."zope.traversing-3.13.2" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Integrates the Diazo theming engine with Plone + ''; + homepage = "http://pypi.python.org/pypi/plone.app.theming"; + license = "GPL"; + }; + }; + + "python-openid-2.2.5" = self.buildPythonPackage { name = "python-openid-2.2.5"; src = fetchurl { @@ -1561,22 +1695,22 @@ in }; - "lxml-3.2.3" = self.buildPythonPackage { - name = "lxml-3.2.3"; + "DocumentTemplate-2.13.2" = self.buildPythonPackage { + name = "DocumentTemplate-2.13.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/l/lxml/lxml-3.2.3.tar.gz"; - md5 = "fef47bb4ac72ac38ce778518dac42236"; + url = "https://pypi.python.org/packages/source/D/DocumentTemplate/DocumentTemplate-2.13.2.zip"; + md5 = "07bb086c77c1dfe94125ad2efbba94b7"; }; doCheck = false; - buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; - propagatedBuildInputs = [ ]; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."ExtensionClass-2.13.2" self."RestrictedPython-3.6.0" self."zExceptions-2.13.0" self."zope.sequencesort-3.4.0" self."zope.structuredtext-3.5.1" ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. + Document Templating Markup Language (DTML) ''; - homepage = "http://lxml.de/"; - license = "UNKNOWN"; + homepage = "http://pypi.python.org/pypi/DocumentTemplate"; + license = "ZPL 2.1"; }; }; @@ -1601,26 +1735,6 @@ in }; - "plone.app.controlpanel-2.3.7" = self.buildPythonPackage { - name = "plone.app.controlpanel-2.3.7"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.controlpanel/plone.app.controlpanel-2.3.7.zip"; - md5 = "537072fe22237a2148310b8714755356"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.form-2.2.3" self."plone.app.vocabularies-2.1.11" self."plone.app.workflow-2.1.6" self."plone.fieldsets-2.0.2" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.PlonePAS-4.1.1" self."Products.PortalTransforms-2.1.2" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.cachedescriptors-3.5.1" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.ramcache-1.0" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Formlib-based controlpanels for Plone. - ''; - homepage = "http://pypi.python.org/pypi/plone.app.controlpanel"; - license = "GPL version 2"; - }; - }; - - "zope.ptresource-3.9.0" = self.buildPythonPackage { name = "zope.ptresource-3.9.0"; src = fetchurl { @@ -1641,6 +1755,26 @@ in }; + "plone.namedfile__scales-2.0.5" = self.buildPythonPackage { + name = "plone.namedfile__scales-2.0.5"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.namedfile/plone.namedfile-2.0.5.zip"; + md5 = "54f73c5961cbdf5020cf59ae780601ea"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."plone.rfc822-1.1" self.setuptools self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" self."plone.scale__storage-1.3.3" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + File types and fields for images, files and blob files with filenames + ''; + homepage = "http://pypi.python.org/pypi/plone.namedfile"; + license = "BSD"; + }; + }; + + "docutils-0.9.1" = self.buildPythonPackage { name = "docutils-0.9.1"; src = fetchurl { @@ -1661,6 +1795,26 @@ in }; + "plone.app.controlpanel-2.3.8" = self.buildPythonPackage { + name = "plone.app.controlpanel-2.3.8"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.controlpanel/plone.app.controlpanel-2.3.8.zip"; + md5 = "230fa6df467f5bcc0b987d1cd66ccd9f"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.form-2.2.4" self."plone.app.vocabularies-2.1.14" self."plone.app.workflow-2.1.7" self."plone.fieldsets-2.0.2" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.PlonePAS-4.1.3" self."Products.PortalTransforms-2.1.3" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.cachedescriptors-3.5.1" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.ramcache-1.0" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Formlib-based controlpanels for Plone. + ''; + homepage = "http://pypi.python.org/pypi/plone.app.controlpanel"; + license = "GPL version 2"; + }; + }; + + "beautifulsoup4-4.3.2" = self.buildPythonPackage { name = "beautifulsoup4-4.3.2"; src = fetchurl { @@ -1681,42 +1835,22 @@ in }; - "Products.PloneLanguageTool-3.2.7" = self.buildPythonPackage { - name = "Products.PloneLanguageTool-3.2.7"; + "WebOb-1.4" = self.buildPythonPackage { + name = "WebOb-1.4"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.PloneLanguageTool/Products.PloneLanguageTool-3.2.7.zip"; - md5 = "bd9eb6278bf76e8cbce99437ca362164"; + url = "https://pypi.python.org/packages/source/W/WebOb/WebOb-1.4.tar.gz"; + md5 = "8437607c0cc00c35f658f972516ffb55"; }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools ]; + doCheck = true; + buildInputs = [ self."nose-1.3.3" ]; + propagatedBuildInputs = [ ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - PloneLanguageTool allows you to set the available languages in your Plone site, select various fallback mechanisms, and control the use of flags for language selection and translations. + WSGI request and response object ''; - homepage = "http://pypi.python.org/pypi/Products.PloneLanguageTool"; - license = "GPL"; - }; - }; - - - "nose-1.3.0" = self.buildPythonPackage { - name = "nose-1.3.0"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/n/nose/nose-1.3.0.tar.gz"; - md5 = "95d6d32b9d6b029c3c65674bd9e7eabe"; - }; - doCheck = true; - buildInputs = [ ]; - propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - nose extends unittest to make testing easier - ''; - homepage = "http://readthedocs.org/docs/nose/"; - license = "GNU LGPL"; + homepage = "http://webob.org/"; + license = "MIT"; }; }; @@ -1749,7 +1883,7 @@ in }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self."plone.app.portlets-2.4.5" self."plone.openid-2.0.1" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."plone.app.portlets-2.4.8" self."plone.openid-2.0.2" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.PlonePAS-4.1.3" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -1761,42 +1895,42 @@ in }; - "Products.PortalTransforms-2.1.2" = self.buildPythonPackage { - name = "Products.PortalTransforms-2.1.2"; + "plone.indexer-1.0.2" = self.buildPythonPackage { + name = "plone.indexer-1.0.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.PortalTransforms/Products.PortalTransforms-2.1.2.zip"; - md5 = "9f429f3c3b9e0019d0f6c9b7a8a9376e"; + url = "https://pypi.python.org/packages/source/p/plone.indexer/plone.indexer-1.0.2.zip"; + md5 = "538aeee1f9db78bc8c85ae1bcb0153ed"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Markdown-2.0.3" self."plone.intelligenttext-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.MimetypesRegistry-2.0.5" self.setuptools self."ZODB3-3.10.5" self."zope.interface-3.6.7" self."zope.structuredtext-3.5.1" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - MIME based content transformations + Hooks to facilitate managing custom index values in Zope 2/CMF applications ''; - homepage = "http://pypi.python.org/pypi/Products.PortalTransforms"; - license = "UNKNOWN"; + homepage = "http://pypi.python.org/pypi/plone.indexer"; + license = "BSD"; }; }; - "zope.schema-4.3.2" = self.buildPythonPackage { - name = "zope.schema-4.3.2"; + "plone.app.portlets-2.4.8" = self.buildPythonPackage { + name = "plone.app.portlets-2.4.8"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.3.2.zip"; - md5 = "b63df4a3035f29113f8130c8ae28bb13"; + url = "https://pypi.python.org/packages/source/p/plone.app.portlets/plone.app.portlets-2.4.8.zip"; + md5 = "7d25027d89d871a50aba91c95b798bb2"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools self."zope.event-4.0.2" self."zope.interface-4.0.5" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."feedparser-5.0.1" self."five.customerize-1.1" self."five.formlib-1.0.4" self."plone.app.form-2.2.4" self."plone.app.i18n-2.0.2" self."plone.app.vocabularies-2.1.14" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.PluggableAuthService-1.10.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.container-3.11.2" self."zope.contentprovider-3.7.2" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - zope.interface extension for defining data schemas + Plone integration for the basic plone.portlets package ''; - homepage = "http://pypi.python.org/pypi/zope.schema"; - license = "ZPL 2.1"; + homepage = "http://pypi.python.org/pypi/plone.app.portlets"; + license = "GPL version 2"; }; }; @@ -1821,44 +1955,22 @@ in }; - "plone.app.portlets-2.4.5" = self.buildPythonPackage { - name = "plone.app.portlets-2.4.5"; + "plone.formwidget.namedfile-1.0.9" = self.buildPythonPackage { + name = "plone.formwidget.namedfile-1.0.9"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.portlets/plone.app.portlets-2.4.5.zip"; - md5 = "409aeeed42d87af8338197514363ec76"; + url = "https://pypi.python.org/packages/source/p/plone.formwidget.namedfile/plone.formwidget.namedfile-1.0.9.zip"; + md5 = "96f2634a8c4c1d98c2f39646a77c87fc"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."feedparser-5.0.1" self."five.customerize-1.1" self."five.formlib-1.0.4" self."plone.app.form-2.2.3" self."plone.app.i18n-2.0.2" self."plone.app.vocabularies-2.1.11" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.PluggableAuthService-1.10.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.container-3.11.2" self."zope.contentprovider-3.7.2" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."plone.namedfile__scales-2.0.5" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Plone integration for the basic plone.portlets package + Image widget for z3c.form and Plone ''; - homepage = "http://pypi.python.org/pypi/plone.app.portlets"; - license = "GPL version 2"; - }; - }; - - - "Plone" = self."Plone-4.3.2"; - - "Plone-4.3.2" = self.buildPythonPackage { - name = "Plone-4.3.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Plone/Plone-4.3.2.zip"; - md5 = "809f9fe8b8d23b49778e8ce304ea34f6"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.app.caching-1.1.6" self."plone.app.dexterity-2.0.9" self."plone.app.iterate-2.1.10" self."plone.app.openid-2.0.2" self."plone.app.theming-1.1.1" self."Products.CMFPlacefulWorkflow-1.5.9" self."Products.CMFPlone-4.3.2" self.setuptools self."wicked-1.1.10" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - The Plone Content Management System - ''; - homepage = "http://plone.org/"; - license = "GPL version 2"; + homepage = "http://pypi.python.org/pypi/plone.formwidget.namedfile"; + license = "GPL"; }; }; @@ -1883,22 +1995,42 @@ in }; - "feedparser-5.0.1" = self.buildPythonPackage { - name = "feedparser-5.0.1"; + "Products.CMFPlacefulWorkflow-1.5.10" = self.buildPythonPackage { + name = "Products.CMFPlacefulWorkflow-1.5.10"; src = fetchurl { - url = "https://pypi.python.org/packages/source/f/feedparser/feedparser-5.0.1.tar.bz2"; - md5 = "702835de74bd4a578524f311e62c2877"; + url = "https://pypi.python.org/packages/source/P/Products.CMFPlacefulWorkflow/Products.CMFPlacefulWorkflow-1.5.10.zip"; + md5 = "997648c5bed6d5a54ac922c6ba9351a9"; }; doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ ]; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.3" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - + Workflow policies for CMF and Plone ''; - homepage = "https://code.google.com/p/feedparser/"; - license = ""; + homepage = "http://pypi.python.org/pypi/Products.CMFPlacefulWorkflow"; + license = "GPL"; + }; + }; + + + "plone.dexterity-2.2.1" = self.buildPythonPackage { + name = "plone.dexterity-2.2.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.dexterity/plone.dexterity-2.2.1.zip"; + md5 = "c62d427e3f6c24da1cca58d7cb152e1f"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."plone.alterego-1.0" self."plone.autoform-1.6" self."plone.behavior-1.0.2" self."plone.folder-1.0.5" self."plone.memoize-1.1.1" self."plone.rfc822-1.1" self."plone.supermodel-1.2.4" self."plone.synchronize-1.0.1" self."plone.uuid-1.0.3" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.dottedname-3.4.6" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.size-3.4.1" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Flexible CMF content + ''; + homepage = "http://code.google.com/p/dexterity"; + license = "GPL version 2"; }; }; @@ -1923,6 +2055,26 @@ in }; + "plone.app.dexterity-2.0.11" = self.buildPythonPackage { + name = "plone.app.dexterity-2.0.11"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.dexterity/plone.app.dexterity-2.0.11.zip"; + md5 = "649f08fd008908121f5f70dfd33e513a"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."collective.z3cform.datetimewidget-1.2.6" self."lxml-2.3.6" self."plone.app.content-2.1.4" self."plone.app.layout-2.3.11" self."plone.app.textfield-1.2.3" self."plone.app.uuid-1.1" self."plone.app.z3cform-0.7.6" self."plone.autoform-1.6" self."plone.behavior-1.0.2" self."plone.contentrules-2.0.4" self."plone.dexterity-2.2.1" self."plone.formwidget.namedfile-1.0.9" self."plone.namedfile__scales-2.0.5" self."plone.portlets-2.2" self."plone.rfc822-1.1" self."plone.schemaeditor-1.3.7" self."plone.supermodel-1.2.4" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.3" self."Products.GenericSetup-1.7.4" self.setuptools self."z3c.form-3.1.1" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Dexterity is a content type framework for CMF applications, with particular emphasis on Plone. It can be viewed as an alternative to Archetypes that is more light-weight and modular. + ''; + homepage = "http://plone.org/products/dexterity"; + license = "GPL"; + }; + }; + + "mailinglogger-3.7.0" = self.buildPythonPackage { name = "mailinglogger-3.7.0"; src = fetchurl { @@ -1943,26 +2095,6 @@ in }; - "plone.app.jquerytools-1.5.6" = self.buildPythonPackage { - name = "plone.app.jquerytools-1.5.6"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.jquerytools/plone.app.jquerytools-1.5.6.zip"; - md5 = "4ae9a72baa8e9899c1706b4fedbb516b"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - jQuery Tools integration for Plone plus overlay and AJAX form helpers. - ''; - homepage = "http://pypi.python.org/pypi/plone.app.jquerytools"; - license = "GPL version 2"; - }; - }; - - "Products.BTreeFolder2-2.13.3" = self.buildPythonPackage { name = "Products.BTreeFolder2-2.13.3"; src = fetchurl { @@ -1991,7 +2123,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -2003,22 +2135,22 @@ in }; - "plone.formwidget.namedfile-1.0.7" = self.buildPythonPackage { - name = "plone.formwidget.namedfile-1.0.7"; + "plone.app.viewletmanager-2.0.5" = self.buildPythonPackage { + name = "plone.app.viewletmanager-2.0.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.formwidget.namedfile/plone.formwidget.namedfile-1.0.7.zip"; - md5 = "6fa3cd99bf9b30971034b0f6dc31cfb3"; + url = "https://pypi.python.org/packages/source/p/plone.app.viewletmanager/plone.app.viewletmanager-2.0.5.zip"; + md5 = "e923d0a9a087ef79a6f0303f64a0f853"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.namedfile__scales-2.0.2" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.0.2" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.vocabularies-2.1.14" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.interface-3.6.7" self."zope.site-3.9.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Image widget for z3c.form and Plone + configurable viewlet manager ''; - homepage = "http://pypi.python.org/pypi/plone.formwidget.namedfile"; - license = "GPL"; + homepage = "http://pypi.python.org/pypi/plone.app.viewletmanager"; + license = "GPL version 2"; }; }; @@ -2063,35 +2195,35 @@ in }; - "ExtensionClass-2.13.2" = self.buildPythonPackage { - name = "ExtensionClass-2.13.2"; + "plone.app.imaging-1.0.10" = self.buildPythonPackage { + name = "plone.app.imaging-1.0.10"; src = fetchurl { - url = "https://pypi.python.org/packages/source/E/ExtensionClass/ExtensionClass-2.13.2.zip"; - md5 = "0236e6d7da9e8b87b9ba45f1b8f930b8"; + url = "https://pypi.python.org/packages/source/p/plone.app.imaging/plone.app.imaging-1.0.10.zip"; + md5 = "511ed465cef112bac3d074f09810ca80"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; + propagatedBuildInputs = [ self."plone.scale__storage-1.3.3" self.setuptools ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Metaclass for subclassable extension types + User-configurable, blob-aware image scaling for Plone. ''; - homepage = "http://pypi.python.org/pypi/ExtensionClass"; - license = "ZPL 2.1"; + homepage = "http://pypi.python.org/pypi/plone.app.imaging"; + license = "GPL version 2"; }; }; - "plone.app.contentrules-3.0.4" = self.buildPythonPackage { - name = "plone.app.contentrules-3.0.4"; + "plone.app.contentrules-3.0.6" = self.buildPythonPackage { + name = "plone.app.contentrules-3.0.6"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.contentrules/plone.app.contentrules-3.0.4.zip"; - md5 = "15e86e2739096bff5bf0745590d5ebb0"; + url = "https://pypi.python.org/packages/source/p/plone.app.contentrules/plone.app.contentrules-3.0.6.zip"; + md5 = "95eeb55a9489c85c93eb11a87467d867"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."five.formlib-1.0.4" self."plone.app.form-2.2.3" self."plone.app.vocabularies-2.1.11" self."plone.contentrules-2.0.3" self."plone.memoize-1.1.1" self."plone.stringinterp-1.0.10" self."plone.uuid-1.0.3" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."five.formlib-1.0.4" self."plone.app.form-2.2.4" self."plone.app.vocabularies-2.1.14" self."plone.contentrules-2.0.4" self."plone.memoize-1.1.1" self."plone.stringinterp-1.0.11" self."plone.uuid-1.0.3" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -2110,7 +2242,7 @@ in md5 = "0979b46d8f0f852810c8ec4be5c26cf2"; }; doCheck = true; - buildInputs = [ self."nose-1.3.0" ]; + buildInputs = [ self."nose-1.3.3" ]; propagatedBuildInputs = [ ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { @@ -2123,26 +2255,6 @@ in }; - "MarkupSafe-0.18" = self.buildPythonPackage { - name = "MarkupSafe-0.18"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.18.tar.gz"; - md5 = "f8d252fd05371e51dec2fe9a36890687"; - }; - doCheck = true; - buildInputs = [ ]; - propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Implements a XML/HTML/XHTML Markup safe string for Python - ''; - homepage = "http://github.com/mitsuhiko/markupsafe"; - license = "BSD"; - }; - }; - - "zope.pagetemplate-3.6.3" = self.buildPythonPackage { name = "zope.pagetemplate-3.6.3"; src = fetchurl { @@ -2163,22 +2275,22 @@ in }; - "python-gettext-1.2" = self.buildPythonPackage { - name = "python-gettext-1.2"; + "plone.app.users-1.2" = self.buildPythonPackage { + name = "plone.app.users-1.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/python-gettext/python-gettext-1.2.zip"; - md5 = "cd4201d440126d1296d1d2bc2b4795f3"; + url = "https://pypi.python.org/packages/source/p/plone.app.users/plone.app.users-1.2.zip"; + md5 = "c94682960a960da6d75c8bfba587a836"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."unittest2-0.5.1" ]; + propagatedBuildInputs = [ self."five.formlib-1.0.4" self."plone.app.controlpanel-2.3.8" self."plone.app.layout-2.3.11" self."plone.protect-2.0.2" self."Products.CMFCore-2.2.7" self."Products.PlonePAS-4.1.3" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Python Gettext po to mo file compiler. + A package for all things users and groups related (specific to plone) ''; - homepage = "http://pypi.python.org/pypi/python-gettext"; - license = "BSD"; + homepage = "http://pypi.python.org/pypi/plone.app.users"; + license = "GPL version 2"; }; }; @@ -2203,11 +2315,11 @@ in }; - "archetypes.schemaextender-2.1.2" = self.buildPythonPackage { - name = "archetypes.schemaextender-2.1.2"; + "archetypes.schemaextender-2.1.3" = self.buildPythonPackage { + name = "archetypes.schemaextender-2.1.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/a/archetypes.schemaextender/archetypes.schemaextender-2.1.2.zip"; - md5 = "865aa5b4b6b26e3bb650d89ddfe77c87"; + url = "https://pypi.python.org/packages/source/a/archetypes.schemaextender/archetypes.schemaextender-2.1.3.zip"; + md5 = "105f2f8e9c18f34bd09d1a90a10c91d2"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -2223,6 +2335,26 @@ in }; + "ZopeUndo-2.12.0" = self.buildPythonPackage { + name = "ZopeUndo-2.12.0"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/Z/ZopeUndo/ZopeUndo-2.12.0.zip"; + md5 = "2b8da09d1b98d5558f62e12f6e52c401"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + ZODB undo support for Zope2. + ''; + homepage = "http://pypi.python.org/pypi/ZopeUndo"; + license = "ZPL 2.1"; + }; + }; + + "zope.tal-3.5.2" = self.buildPythonPackage { name = "zope.tal-3.5.2"; src = fetchurl { @@ -2263,31 +2395,33 @@ in }; - "cssselect-0.9" = self.buildPythonPackage { - name = "cssselect-0.9"; + "pyramid" = self."pyramid-1.5"; + + "pyramid-1.5" = self.buildPythonPackage { + name = "pyramid-1.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/c/cssselect/cssselect-0.9.tar.gz"; - md5 = "3aba1e431787da957a9cd1e2c2e0bf1c"; + url = "https://pypi.python.org/packages/source/p/pyramid/pyramid-1.5.tar.gz"; + md5 = "8747658dcbab709a9c491e43d3b0d58b"; }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ ]; + doCheck = true; + buildInputs = [ self."nose-1.3.3" self."WebTest-2.0.15" self."zope.component-4.2.1" self."zope.interface-4.1.1" ]; + propagatedBuildInputs = [ self."PasteDeploy-1.5.2" self."repoze.lru-0.6" self.setuptools self."translationstring-1.1" self."venusian-1.0a8" self."WebOb-1.4" self."zope.deprecation-4.1.1" self."zope.interface-4.1.1" ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - cssselect parses CSS3 Selectors and translates them to XPath 1.0 + The Pyramid Web Framework, a Pylons project ''; - homepage = "http://packages.python.org/cssselect/"; - license = "BSD"; + homepage = "http://pylonsproject.org"; + license = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; }; }; - "plone.app.search-1.1.5" = self.buildPythonPackage { - name = "plone.app.search-1.1.5"; + "plone.app.search-1.1.7" = self.buildPythonPackage { + name = "plone.app.search-1.1.7"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.search/plone.app.search-1.1.5.zip"; - md5 = "eeb42889464d35e9d8169e062bc9c827"; + url = "https://pypi.python.org/packages/source/p/plone.app.search/plone.app.search-1.1.7.zip"; + md5 = "fc3c8d3f64300f6a02770027d7d14136"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -2323,26 +2457,6 @@ in }; - "Products.PloneTestCase-0.9.17" = self.buildPythonPackage { - name = "Products.PloneTestCase-0.9.17"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.PloneTestCase/Products.PloneTestCase-0.9.17.zip"; - md5 = "2a5bfb94220a520961d710abc92280f2"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.ATContentTypes-2.1.13" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Integration testing framework for Plone. - ''; - homepage = "http://plone.org/products/plonetestcase"; - license = "GPL"; - }; - }; - - "unittest2-0.5.1" = self.buildPythonPackage { name = "unittest2-0.5.1"; src = fetchurl { @@ -2363,6 +2477,46 @@ in }; + "zope.schema-4.2.2" = self.buildPythonPackage { + name = "zope.schema-4.2.2"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.2.2.tar.gz"; + md5 = "e7e581af8193551831560a736a53cf58"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools self."zope.event-3.5.2" self."zope.interface-3.6.7" ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + zope.interface extension for defining data schemas + ''; + homepage = "http://pypi.python.org/pypi/zope.schema"; + license = "ZPL 2.1"; + }; + }; + + + "zope.schema-4.4.1" = self.buildPythonPackage { + name = "zope.schema-4.4.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/zope.schema/zope.schema-4.4.1.tar.gz"; + md5 = "afb9281217b79840e1679abeb302467a"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools self."zope.event-4.0.3" self."zope.interface-4.1.1" ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + zope.interface extension for defining data schemas + ''; + homepage = "http://pypi.python.org/pypi/zope.schema"; + license = "ZPL 2.1"; + }; + }; + + "zExceptions-2.13.0" = self.buildPythonPackage { name = "zExceptions-2.13.0"; src = fetchurl { @@ -2391,7 +2545,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."ExtensionClass-2.13.2" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.browsermenu-3.9.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."ExtensionClass-2.13.2" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.browsermenu-3.9.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -2423,21 +2577,21 @@ in }; - "Products.ExternalEditor-1.1.0" = self.buildPythonPackage { - name = "Products.ExternalEditor-1.1.0"; + "zope.browserpage-3.12.2" = self.buildPythonPackage { + name = "zope.browserpage-3.12.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.ExternalEditor/Products.ExternalEditor-1.1.0.zip"; - md5 = "475fea6e0b958c0c51cfdbfef2f4e623"; + url = "https://pypi.python.org/packages/source/z/zope.browserpage/zope.browserpage-3.12.2.tar.gz"; + md5 = "a543ef3cb1b42f7233b3fca23dc9ea60"; }; doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - Zope External Editor + ZCML directives for configuring browser views for Zope. ''; - homepage = "http://pypi.python.org/pypi/Products.ExternalEditor"; + homepage = "http://pypi.python.org/pypi/zope.browserpage/"; license = "ZPL 2.1"; }; }; @@ -2483,15 +2637,15 @@ in }; - "plone.cachepurging-1.0.4" = self.buildPythonPackage { - name = "plone.cachepurging-1.0.4"; + "plone.cachepurging-1.0.5" = self.buildPythonPackage { + name = "plone.cachepurging-1.0.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.cachepurging/plone.cachepurging-1.0.4.zip"; - md5 = "886814ac4deef0f1ed99a2eb60864264"; + url = "https://pypi.python.org/packages/source/p/plone.cachepurging/plone.cachepurging-1.0.5.zip"; + md5 = "ae893d47c424cb8a4cd688f6d9b46dc0"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."five.globalrequest-1.0" self."plone.registry-1.0.1" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."five.globalrequest-1.0" self."plone.registry-1.0.1" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -2503,22 +2657,24 @@ in }; - "roman-1.4.0" = self.buildPythonPackage { - name = "roman-1.4.0"; + "psycopg2" = self."psycopg2-2.5.3"; + + "psycopg2-2.5.3" = self.buildPythonPackage { + name = "psycopg2-2.5.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/r/roman/roman-1.4.0.tar.gz"; - md5 = "4f8832ed4108174b159c2afb4bd1d1dd"; + url = "https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.3.tar.gz"; + md5 = "09dcec70f623a9ef774f1aef75690995"; }; doCheck = false; buildInputs = [ ]; propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - Integer to Roman numerals converter + Python-PostgreSQL Database Adapter ''; - homepage = "http://pypi.python.org/pypi/roman"; - license = "Python 2.1.1"; + homepage = "http://initd.org/psycopg/"; + license = "GPL with exceptions or ZPL"; }; }; @@ -2543,24 +2699,42 @@ in }; - "psycopg2" = self."psycopg2-2.5.1"; - - "psycopg2-2.5.1" = self.buildPythonPackage { - name = "psycopg2-2.5.1"; + "Acquisition-2.13.8" = self.buildPythonPackage { + name = "Acquisition-2.13.8"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.1.tar.gz"; - md5 = "1b433f83d50d1bc61e09026e906d84c7"; + url = "https://pypi.python.org/packages/source/A/Acquisition/Acquisition-2.13.8.zip"; + md5 = "8c33160c157b50649e2b2b3224622579"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."zope.interface-3.6.7" ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Acquisition is a mechanism that allows objects to obtain attributes from the containment hierarchy they're in. + ''; + homepage = "http://pypi.python.org/pypi/Acquisition"; + license = "ZPL 2.1"; + }; + }; + + + "Unidecode-0.04.1" = self.buildPythonPackage { + name = "Unidecode-0.04.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/U/Unidecode/Unidecode-0.04.1.tar.gz"; + md5 = "c4c9ed8d40cff25c390ff5d5112b9308"; }; doCheck = false; buildInputs = [ ]; propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Python-PostgreSQL Database Adapter + US-ASCII transliterations of Unicode text ''; - homepage = "http://initd.org/psycopg/"; - license = "GPL with exceptions or ZPL"; + homepage = "http://code.zemanta.com/tsolc/unidecode/"; + license = "UNKNOWN"; }; }; @@ -2605,6 +2779,46 @@ in }; + "Products.ATContentTypes-2.1.14" = self.buildPythonPackage { + name = "Products.ATContentTypes-2.1.14"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/P/Products.ATContentTypes/Products.ATContentTypes-2.1.14.zip"; + md5 = "7e777ed4034ffc23688f2a8072a6c109"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."archetypes.referencebrowserwidget-2.4.20" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.app.folder-1.0.6" self."plone.app.layout-2.3.11" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."Products.Archetypes-1.9.7" self."Products.ATReferenceBrowserWidget-3.0" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PortalTransforms-2.1.3" self."Products.validation-2.0" self.setuptools self."transaction-1.1.1" self."ZConfig-2.9.1" self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.tal-3.5.2" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Default Content Types for Plone + ''; + homepage = "http://plone.org/"; + license = "GPL"; + }; + }; + + + "coverage-3.7.1" = self.buildPythonPackage { + name = "coverage-3.7.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/c/coverage/coverage-3.7.1.tar.gz"; + md5 = "c47b36ceb17eaff3ecfab3bcd347d0df"; + }; + doCheck = true; + buildInputs = [ ]; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Code coverage measurement for Python + ''; + homepage = "http://nedbatchelder.com/code/coverage"; + license = "BSD"; + }; + }; + + "zope.i18n__zcml-3.7.4" = self.buildPythonPackage { name = "zope.i18n__zcml-3.7.4"; src = fetchurl { @@ -2625,46 +2839,6 @@ in }; - "Products.ATContentTypes-2.1.13" = self.buildPythonPackage { - name = "Products.ATContentTypes-2.1.13"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.ATContentTypes/Products.ATContentTypes-2.1.13.zip"; - md5 = "093899fc74f5e2a83db464c96d0f5293"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."archetypes.referencebrowserwidget-2.4.19" self."DateTime-3.0.3" self."ExtensionClass-2.13.2" self."plone.app.folder-1.0.5" self."plone.app.layout-2.3.7" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."Products.Archetypes-1.9.4" self."Products.ATReferenceBrowserWidget-3.0" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PortalTransforms-2.1.2" self."Products.validation-2.0" self.setuptools self."transaction-1.1.1" self."ZConfig-2.9.1" self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.tal-3.5.2" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Default Content Types for Plone - ''; - homepage = "http://plone.org/"; - license = "GPL"; - }; - }; - - - "WSGIProxy2-0.3" = self.buildPythonPackage { - name = "WSGIProxy2-0.3"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/W/WSGIProxy2/WSGIProxy2-0.3.zip"; - md5 = "8b2cb207932eb8c341c3fa41f0cbe994"; - }; - doCheck = true; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."six-1.4.1" self."WebOb-1.2.3" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - UNKNOWN - ''; - homepage = "https://github.com/gawel/WSGIProxy2/"; - license = "MIT"; - }; - }; - - "zope.browserresource-3.10.3" = self.buildPythonPackage { name = "zope.browserresource-3.10.3"; src = fetchurl { @@ -2707,26 +2881,6 @@ in }; - "Products.ResourceRegistries-2.2.9" = self.buildPythonPackage { - name = "Products.ResourceRegistries-2.2.9"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.ResourceRegistries/Products.ResourceRegistries-2.2.9.zip"; - md5 = "8dd4f36eb894d868366b51941f6f0966"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Registry for managing CSS and JS - ''; - homepage = "http://pypi.python.org/pypi/Products.ResourceRegistries"; - license = "GPL version 2"; - }; - }; - - "five.formlib-1.0.4" = self.buildPythonPackage { name = "five.formlib-1.0.4"; src = fetchurl { @@ -2735,7 +2889,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self.setuptools self."transaction-1.1.1" self."zope.app.form-4.0.2" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self.setuptools self."transaction-1.1.1" self."zope.app.form-4.0.2" self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -2747,6 +2901,28 @@ in }; + "xlrd" = self."xlrd-0.9.3"; + + "xlrd-0.9.3" = self.buildPythonPackage { + name = "xlrd-0.9.3"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/x/xlrd/xlrd-0.9.3.tar.gz"; + md5 = "6f3325132f246594988171bc72e1a385"; + }; + 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"; + }; + }; + + "Products.statusmessages-4.0" = self.buildPythonPackage { name = "Products.statusmessages-4.0"; src = fetchurl { @@ -2767,48 +2943,6 @@ in }; - "pyramid" = self."pyramid-1.4.5"; - - "pyramid-1.4.5" = self.buildPythonPackage { - name = "pyramid-1.4.5"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/pyramid/pyramid-1.4.5.tar.gz"; - md5 = "321731aad69e9788b7819e257a50be1a"; - }; - doCheck = true; - buildInputs = [ self."nose-1.3.0" self."WebTest-2.0.9" self."zope.component-4.1.0" self."zope.interface-4.0.5" ]; - propagatedBuildInputs = [ self."Chameleon-2.12" self."Mako-0.9.0" self."PasteDeploy-1.5.0" self."repoze.lru-0.6" self.setuptools self."translationstring-1.1" self."venusian-1.0a8" self."WebOb-1.2.3" self."zope.deprecation-4.0.2" self."zope.interface-4.0.5" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - The Pyramid web application development framework, a Pylons project - ''; - homepage = "http://pylonsproject.org"; - license = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; - }; - }; - - - "Products.contentmigration-2.1.5" = self.buildPythonPackage { - name = "Products.contentmigration-2.1.5"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.contentmigration/Products.contentmigration-2.1.5.zip"; - md5 = "f08e5f2572fc6f4c61b930a17f99418f"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - A generic content migration framework for Plone. - ''; - homepage = "http://pypi.python.org/pypi/Products.contentmigration"; - license = "LGPL"; - }; - }; - - "Products.MimetypesRegistry-2.0.5" = self.buildPythonPackage { name = "Products.MimetypesRegistry-2.0.5"; src = fetchurl { @@ -2817,7 +2951,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.contenttype-3.5.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self.setuptools self."ZODB3-3.10.5" self."zope.contenttype-3.5.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -2829,35 +2963,15 @@ in }; - "python-dateutil-1.5" = self.buildPythonPackage { - name = "python-dateutil-1.5"; + "plone.app.upgrade-1.3.6" = self.buildPythonPackage { + name = "plone.app.upgrade-1.3.6"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-1.5.tar.gz"; - md5 = "0dcb1de5e5cad69490a3b6ab63f0cfa5"; - }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Extensions to the standard python 2.3+ datetime module - ''; - homepage = "http://labix.org/python-dateutil"; - license = "PSF License"; - }; - }; - - - "plone.app.upgrade-1.3.4" = self.buildPythonPackage { - name = "plone.app.upgrade-1.3.4"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.upgrade/plone.app.upgrade-1.3.4.zip"; - md5 = "10c192ee4a2422f901e020fd5b39879a"; + url = "https://pypi.python.org/packages/source/p/plone.app.upgrade/plone.app.upgrade-1.3.6.zip"; + md5 = "36703e1085f0d5d1d0f6e635e72fd5c1"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."borg.localrole-3.0.2" self."five.localsitemanager-2.0.5" self."plone.app.folder-1.0.5" self."plone.app.portlets-2.4.5" self."plone.portlets-2.2" self."plone.session-3.5.3" self."Products.Archetypes-1.9.4" self."Products.CMFActionIcons-2.1.3" self."Products.CMFCalendar-2.2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDiffTool-2.1" self."Products.CMFEditions-2.2.8" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.contentmigration-2.1.5" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self."Products.PortalTransforms-2.1.2" self."Products.ResourceRegistries-2.2.9" self."Products.SecureMailHost-1.1.2" self."Products.ZCatalog-2.13.23" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.ramcache-1.0" self."zope.site-3.9.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."borg.localrole-3.0.2" self."five.localsitemanager-2.0.5" self."plone.app.folder-1.0.6" self."plone.app.portlets-2.4.8" self."plone.portlets-2.2" self."plone.session-3.5.3" self."Products.Archetypes-1.9.7" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFDiffTool-2.1" self."Products.CMFEditions-2.2.9" self."Products.CMFFormController-3.0.3" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.CMFUid-2.2.1" self."Products.contentmigration-2.1.7" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PloneLanguageTool-3.2.7" self."Products.PlonePAS-4.1.3" self."Products.PluggableAuthService-1.10.0" self."Products.PortalTransforms-2.1.3" self."Products.ResourceRegistries-2.2.10" self."Products.SecureMailHost-1.1.2" self."Products.ZCatalog-2.13.27" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.location-3.9.1" self."zope.ramcache-1.0" self."zope.site-3.9.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -2869,6 +2983,26 @@ in }; + "Products.PloneLanguageTool-3.2.7" = self.buildPythonPackage { + name = "Products.PloneLanguageTool-3.2.7"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/P/Products.PloneLanguageTool/Products.PloneLanguageTool-3.2.7.zip"; + md5 = "bd9eb6278bf76e8cbce99437ca362164"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + PloneLanguageTool allows you to set the available languages in your Plone site, select various fallback mechanisms, and control the use of flags for language selection and translations. + ''; + homepage = "http://pypi.python.org/pypi/Products.PloneLanguageTool"; + license = "GPL"; + }; + }; + + "plone.intelligenttext-2.0.2" = self.buildPythonPackage { name = "plone.intelligenttext-2.0.2"; src = fetchurl { @@ -2889,26 +3023,6 @@ in }; - "plone.namedfile__scales-2.0.2" = self.buildPythonPackage { - name = "plone.namedfile__scales-2.0.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.namedfile/plone.namedfile-2.0.2.zip"; - md5 = "f6168ab9e38f3a171dc35483527b3e01"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.rfc822-1.1" self.setuptools self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" self."plone.scale__storage-1.3.2" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - File types and fields for images, files and blob files with filenames - ''; - homepage = "http://pypi.python.org/pypi/plone.namedfile"; - license = "BSD"; - }; - }; - - "zope.contenttype-3.5.5" = self.buildPythonPackage { name = "zope.contenttype-3.5.5"; src = fetchurl { @@ -2929,15 +3043,15 @@ in }; - "zope.proxy-4.1.3" = self.buildPythonPackage { - name = "zope.proxy-4.1.3"; + "zope.proxy-4.1.4" = self.buildPythonPackage { + name = "zope.proxy-4.1.4"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.proxy/zope.proxy-4.1.3.zip"; - md5 = "8dbca0d33996511b9a9026da84a47109"; + url = "https://pypi.python.org/packages/source/z/zope.proxy/zope.proxy-4.1.4.tar.gz"; + md5 = "3bcaf8b8512a99649ecf2f158c11d05b"; }; doCheck = true; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools self."zope.interface-4.0.5" ]; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools self."zope.interface-4.1.1" ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' @@ -2989,26 +3103,6 @@ in }; - "Products.MIMETools-2.13.0" = self.buildPythonPackage { - name = "Products.MIMETools-2.13.0"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.MIMETools/Products.MIMETools-2.13.0.zip"; - md5 = "ad5372fc1190599a19493db0864448ec"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."DocumentTemplate-2.13.2" self.setuptools ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - MIMETools provides the <!--#mime--> tag for DocumentTemplate. - ''; - homepage = "http://pypi.python.org/pypi/Products.MIMETools"; - license = "ZPL 2.1"; - }; - }; - - "zope.annotation-3.5.0" = self.buildPythonPackage { name = "zope.annotation-3.5.0"; src = fetchurl { @@ -3037,7 +3131,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."five.customerize-1.1" self."plone.browserlayer-2.1.2" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."five.customerize-1.1" self."plone.browserlayer-2.1.3" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3057,7 +3151,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."lxml-2.3.6" self."plone.app.z3cform-0.7.4" self."plone.autoform-1.5" self."plone.registry-1.0.1" self."plone.supermodel-1.2.3" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.dottedname-3.4.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."lxml-2.3.6" self."plone.app.z3cform-0.7.6" self."plone.autoform-1.6" self."plone.registry-1.0.1" self."plone.supermodel-1.2.4" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.3" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.dottedname-3.4.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3077,7 +3171,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.keyring-2.0.1" self."plone.protect-2.0.2" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."plone.keyring-2.0.1" self."plone.protect-2.0.2" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3109,26 +3203,6 @@ in }; - "Products.ZCTextIndex-2.13.4" = self.buildPythonPackage { - name = "Products.ZCTextIndex-2.13.4"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.ZCTextIndex/Products.ZCTextIndex-2.13.4.zip"; - md5 = "8bbfa5fcd3609246990a9314d6f826b4"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."Persistence-2.13.2" self.setuptools self."transaction-1.1.1" self."zExceptions-2.13.0" self."ZODB3-3.10.5" self."zope.interface-3.6.7" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Full text indexing for ZCatalog / Zope 2. - ''; - homepage = "http://pypi.python.org/pypi/Products.ZCTextIndex"; - license = "ZPL 2.1"; - }; - }; - - "zope.filerepresentation-3.6.1" = self.buildPythonPackage { name = "zope.filerepresentation-3.6.1"; src = fetchurl { @@ -3209,26 +3283,6 @@ in }; - "ZODB3-3.10.5" = self.buildPythonPackage { - name = "ZODB3-3.10.5"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/Z/ZODB3/ZODB3-3.10.5.tar.gz"; - md5 = "6f180c6897a1820948fee2a6290503cd"; - }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ self."transaction-1.1.1" self."zc.lockfile-1.0.2" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zope.event-3.5.2" self."zope.interface-3.6.7" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Zope Object Database: object database and persistence - ''; - homepage = "UNKNOWN"; - license = "ZPL 2.1"; - }; - }; - - "five.customerize-1.1" = self.buildPythonPackage { name = "five.customerize-1.1"; src = fetchurl { @@ -3237,7 +3291,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.portlets-2.2" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.componentvocabulary-1.0.1" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."zope.traversing-3.13.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.portlets-2.2" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.componentvocabulary-1.0.1" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."zope.traversing-3.13.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3277,7 +3331,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.caching-1.0" self."python-dateutil-1.5" self.setuptools self."z3c.caching__zcml-2.0a1" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."plone.caching-1.0" self."python-dateutil-1.5" self.setuptools self."z3c.caching__zcml-2.0a1" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.filerepresentation-3.6.1" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3289,31 +3343,11 @@ in }; - "Products.DCWorkflow-2.2.4" = self.buildPythonPackage { - name = "Products.DCWorkflow-2.2.4"; + "plone.app.locales-4.3.3" = self.buildPythonPackage { + name = "plone.app.locales-4.3.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.DCWorkflow/Products.DCWorkflow-2.2.4.tar.gz"; - md5 = "c90a16c4f3611015592ba8173a5f1863"; - }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" self."eggtestinfo-0.3" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - DCWorkflow product for the Zope Content Management Framework - ''; - homepage = "http://pypi.python.org/pypi/Products.DCWorkflow"; - license = "ZPL 2.1 (http://www.zope.org/Resources/License/ZPL-2.1)"; - }; - }; - - - "plone.app.locales-4.3.2" = self.buildPythonPackage { - name = "plone.app.locales-4.3.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.locales/plone.app.locales-4.3.2.zip"; - md5 = "c06d6574c1e1df4e253b80751a468ad5"; + url = "https://pypi.python.org/packages/source/p/plone.app.locales/plone.app.locales-4.3.3.zip"; + md5 = "d774b4de1d16bed639c22c306ad0ada7"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -3329,15 +3363,15 @@ in }; - "collective.z3cform.datetimewidget-1.2.5" = self.buildPythonPackage { - name = "collective.z3cform.datetimewidget-1.2.5"; + "collective.z3cform.datetimewidget-1.2.6" = self.buildPythonPackage { + name = "collective.z3cform.datetimewidget-1.2.6"; src = fetchurl { - url = "https://pypi.python.org/packages/source/c/collective.z3cform.datetimewidget/collective.z3cform.datetimewidget-1.2.5.zip"; - md5 = "38fa463ea9b0b3cf5f61540250968214"; + url = "https://pypi.python.org/packages/source/c/collective.z3cform.datetimewidget/collective.z3cform.datetimewidget-1.2.6.zip"; + md5 = "b8101e810c552a5afb8b57144ab6338a"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools self."z3c.form-3.0.2" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" ]; + propagatedBuildInputs = [ self.setuptools self."z3c.form-3.1.1" self."zope.deprecation-3.4.1" self."zope.i18n__zcml-3.7.4" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3349,15 +3383,35 @@ in }; - "Zope2-2.13.21" = self.buildPythonPackage { - name = "Zope2-2.13.21"; + "plone.app.contentlisting-1.0.5" = self.buildPythonPackage { + name = "plone.app.contentlisting-1.0.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/Z/Zope2/Zope2-2.13.21.zip"; - md5 = "7d6e1661e365ee562fea9d3593f03f0e"; + url = "https://pypi.python.org/packages/source/p/plone.app.contentlisting/plone.app.contentlisting-1.0.5.zip"; + md5 = "9fc15b8ecad1c918778c3ea9a75bf533"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."DateTime-3.0.3" self."DocumentTemplate-2.13.2" self."docutils-0.9.1" self."ExtensionClass-2.13.2" self."initgroups-2.13.0" self."Missing-2.13.1" self."MultiMapping-2.13.0" self."Persistence-2.13.2" self."Products.BTreeFolder2-2.13.3" self."Products.ExternalMethod-2.13.0" self."Products.MailHost-2.13.1" self."Products.MIMETools-2.13.0" self."Products.OFSP-2.13.2" self."Products.PythonScripts-2.13.2" self."Products.StandardCacheManagers-2.13.0" self."Products.ZCatalog-2.13.23" self."Products.ZCTextIndex-2.13.4" self."pytz-2013b" self."Record-2.13.0" self."RestrictedPython-3.6.0" self.setuptools self."tempstorage-2.12.2" self."transaction-1.1.1" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zExceptions-2.13.0" self."zLOG-2.11.1" self."ZODB3-3.10.5" self."zope.browser-1.3" self."zope.browsermenu-3.9.1" self."zope.browserpage-3.12.2" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.container-3.11.2" self."zope.contentprovider-3.7.2" self."zope.contenttype-3.5.5" self."zope.deferredimport-3.5.3" self."zope.event-3.5.2" self."zope.exceptions-3.6.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.processlifetime-1.0" self."zope.proxy-3.6.1" self."zope.ptresource-3.9.0" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.sendmail-3.7.5" self."zope.sequencesort-3.4.0" self."zope.site-3.9.2" self."zope.size-3.4.1" self."zope.structuredtext-3.5.1" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.testbrowser-3.11.1" self."zope.testing-3.9.7" self."zope.traversing-3.13.2" self."zope.viewlet-3.7.2" self."ZopeUndo-2.12.0" ]; + propagatedBuildInputs = [ self."plone.uuid-1.0.3" self.setuptools ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Listing of content for the Plone CMS + ''; + homepage = "http://pypi.python.org/pypi/plone.app.contentlisting"; + license = "GPL version 2"; + }; + }; + + + "Zope2-2.13.22" = self.buildPythonPackage { + name = "Zope2-2.13.22"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/Z/Zope2/Zope2-2.13.22.zip"; + md5 = "4322d37b5ca63b2e4fe43cfc67960819"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."DateTime-3.0.3" self."DocumentTemplate-2.13.2" self."docutils-0.9.1" self."ExtensionClass-2.13.2" self."initgroups-2.13.0" self."Missing-2.13.1" self."MultiMapping-2.13.0" self."Persistence-2.13.2" self."Products.BTreeFolder2-2.13.3" self."Products.ExternalMethod-2.13.0" self."Products.MailHost-2.13.1" self."Products.MIMETools-2.13.0" self."Products.OFSP-2.13.2" self."Products.PythonScripts-2.13.2" self."Products.StandardCacheManagers-2.13.0" self."Products.ZCatalog-2.13.27" self."Products.ZCTextIndex-2.13.5" self."pytz-2013b" self."Record-2.13.0" self."RestrictedPython-3.6.0" self.setuptools self."tempstorage-2.12.2" self."transaction-1.1.1" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zExceptions-2.13.0" self."zLOG-2.11.1" self."ZODB3-3.10.5" self."zope.browser-1.3" self."zope.browsermenu-3.9.1" self."zope.browserpage-3.12.2" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.container-3.11.2" self."zope.contentprovider-3.7.2" self."zope.contenttype-3.5.5" self."zope.deferredimport-3.5.3" self."zope.event-3.5.2" self."zope.exceptions-3.6.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.processlifetime-1.0" self."zope.proxy-3.6.1" self."zope.ptresource-3.9.0" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.sendmail-3.7.5" self."zope.sequencesort-3.4.0" self."zope.site-3.9.2" self."zope.size-3.4.1" self."zope.structuredtext-3.5.1" self."zope.tal-3.5.2" self."zope.tales-3.5.3" self."zope.testbrowser-3.11.1" self."zope.testing-3.9.7" self."zope.traversing-3.13.2" self."zope.viewlet-3.7.2" self."ZopeUndo-2.12.0" ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' @@ -3369,6 +3423,26 @@ in }; + "plone.app.textfield-1.2.3" = self.buildPythonPackage { + name = "plone.app.textfield-1.2.3"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.textfield/plone.app.textfield-1.2.3.zip"; + md5 = "1a018fa11ea21de5894f85b67161bcf1"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Text field with MIME type support + ''; + homepage = "http://pypi.python.org/pypi/plone.app.textfield"; + license = "GPL"; + }; + }; + + "Products.ExternalMethod-2.13.0" = self.buildPythonPackage { name = "Products.ExternalMethod-2.13.0"; src = fetchurl { @@ -3389,35 +3463,15 @@ in }; - "plone.app.workflow-2.1.6" = self.buildPythonPackage { - name = "plone.app.workflow-2.1.6"; + "plone.browserlayer-2.1.3" = self.buildPythonPackage { + name = "plone.browserlayer-2.1.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.workflow/plone.app.workflow-2.1.6.zip"; - md5 = "68a76865382b9db82aaa60c16efb1d14"; + url = "https://pypi.python.org/packages/source/p/plone.browserlayer/plone.browserlayer-2.1.3.zip"; + md5 = "41df50201e912fa10286c63687aaec3d"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - workflow and security settings for Plone - ''; - homepage = "http://pypi.python.org/pypi/plone.app.workflow"; - license = "GPL version 2"; - }; - }; - - - "plone.browserlayer-2.1.2" = self.buildPythonPackage { - name = "plone.browserlayer-2.1.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.browserlayer/plone.browserlayer-2.1.2.zip"; - md5 = "bce02f4907a4f29314090c525e5fc28e"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3429,15 +3483,35 @@ in }; - "plone.app.folder-1.0.5" = self.buildPythonPackage { - name = "plone.app.folder-1.0.5"; + "plone.app.workflow-2.1.7" = self.buildPythonPackage { + name = "plone.app.workflow-2.1.7"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.folder/plone.app.folder-1.0.5.zip"; - md5 = "8ea860daddb4c93c0b7f2b5f7106fef0"; + url = "https://pypi.python.org/packages/source/p/plone.app.workflow/plone.app.workflow-2.1.7.zip"; + md5 = "269dc3dfdb8dae195ca6e1dff26a51da"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.folder-1.0.4" self.setuptools ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.DCWorkflow-2.2.4" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + workflow and security settings for Plone + ''; + homepage = "http://pypi.python.org/pypi/plone.app.workflow"; + license = "GPL version 2"; + }; + }; + + + "plone.app.folder-1.0.6" = self.buildPythonPackage { + name = "plone.app.folder-1.0.6"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.folder/plone.app.folder-1.0.6.zip"; + md5 = "78e76f9d20e0c0e6e8edef7cb7e5d8f1"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."plone.folder-1.0.5" self.setuptools ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3449,22 +3523,22 @@ in }; - "Chameleon-2.12" = self.buildPythonPackage { - name = "Chameleon-2.12"; + "zc.lockfile-1.0.2" = self.buildPythonPackage { + name = "zc.lockfile-1.0.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/C/Chameleon/Chameleon-2.12.tar.gz"; - md5 = "c2947c7b615bf758fa4a710e759c658b"; + url = "https://pypi.python.org/packages/source/z/zc.lockfile/zc.lockfile-1.0.2.tar.gz"; + md5 = "f099d4cf2583a0c7bea0146a44dc4d59"; }; doCheck = false; - buildInputs = [ self."zope.event-4.0.2" ]; - propagatedBuildInputs = [ ]; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - Fast HTML/XML Template Compiler. + Basic inter-process locks ''; - homepage = "http://www.pagetemplates.org/"; - license = "BSD-like (http://repoze.org/license.html)"; + homepage = "http://www.python.org/pypi/zc.lockfile"; + license = "ZPL 2.1"; }; }; @@ -3509,6 +3583,26 @@ in }; + "plone.stringinterp-1.0.11" = self.buildPythonPackage { + name = "plone.stringinterp-1.0.11"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.stringinterp/plone.stringinterp-1.0.11.zip"; + md5 = "e54dfa87b20a72f9b1465fcee1fd7ecd"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.i18n__zcml-3.7.4" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Adaptable string interpolation + ''; + homepage = "http://pypi.python.org/pypi/plone.stringinterp"; + license = "GPL version 2"; + }; + }; + + "tempstorage-2.12.2" = self.buildPythonPackage { name = "tempstorage-2.12.2"; src = fetchurl { @@ -3529,11 +3623,11 @@ in }; - "plone.app.uuid-1.0" = self.buildPythonPackage { - name = "plone.app.uuid-1.0"; + "plone.app.uuid-1.1" = self.buildPythonPackage { + name = "plone.app.uuid-1.1"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.uuid/plone.app.uuid-1.0.zip"; - md5 = "9ca8dcfb09a8a0d6bbee0f28073c3d3f"; + url = "https://pypi.python.org/packages/source/p/plone.app.uuid/plone.app.uuid-1.1.zip"; + md5 = "12ab2dee1a23d1c731b563686cf7b59f"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -3549,26 +3643,6 @@ in }; - "Acquisition-2.13.8" = self.buildPythonPackage { - name = "Acquisition-2.13.8"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/A/Acquisition/Acquisition-2.13.8.zip"; - md5 = "8c33160c157b50649e2b2b3224622579"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."ExtensionClass-2.13.2" self."zope.interface-3.6.7" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Acquisition is a mechanism that allows objects to obtain attributes from the containment hierarchy they're in. - ''; - homepage = "http://pypi.python.org/pypi/Acquisition"; - license = "ZPL 2.1"; - }; - }; - - "zope.datetime-3.4.1" = self.buildPythonPackage { name = "zope.datetime-3.4.1"; src = fetchurl { @@ -3609,35 +3683,15 @@ in }; - "plone.app.dexterity-2.0.9" = self.buildPythonPackage { - name = "plone.app.dexterity-2.0.9"; + "zope.location-4.0.3" = self.buildPythonPackage { + name = "zope.location-4.0.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.dexterity/plone.app.dexterity-2.0.9.zip"; - md5 = "aa9d6ee719a6918f99f0aa0066ebf024"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."collective.z3cform.datetimewidget-1.2.5" self."lxml-2.3.6" self."plone.app.content-2.1.3" self."plone.app.layout-2.3.7" self."plone.app.textfield-1.2.2" self."plone.app.uuid-1.0" self."plone.app.z3cform-0.7.4" self."plone.autoform-1.5" self."plone.behavior-1.0.2" self."plone.contentrules-2.0.3" self."plone.dexterity-2.1.3" self."plone.formwidget.namedfile-1.0.7" self."plone.namedfile__scales-2.0.2" self."plone.portlets-2.2" self."plone.rfc822-1.1" self."plone.schemaeditor-1.3.3" self."plone.supermodel-1.2.3" self."plone.z3cform-0.8.0" self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self.setuptools self."z3c.form-3.0.2" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Dexterity is a content type framework for CMF applications, with particular emphasis on Plone. It can be viewed as an alternative to Archetypes that is more light-weight and modular. - ''; - homepage = "http://plone.org/products/dexterity"; - license = "GPL"; - }; - }; - - - "zope.location-4.0.2" = self.buildPythonPackage { - name = "zope.location-4.0.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.2.zip"; - md5 = "44d865b2c0b1e1cc93898c7df938d353"; + url = "https://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.3.tar.gz"; + md5 = "201416f4eb72a9cf61c7d6d37bb87f24"; }; doCheck = true; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools self."zope.interface-4.0.5" self."zope.proxy-4.1.3" self."zope.schema-4.3.2" ]; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools self."zope.interface-4.1.1" self."zope.proxy-4.1.4" self."zope.schema-4.4.1" ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' @@ -3649,6 +3703,26 @@ in }; + "WSGIProxy2-0.4.1" = self.buildPythonPackage { + name = "WSGIProxy2-0.4.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/W/WSGIProxy2/WSGIProxy2-0.4.1.zip"; + md5 = "fb8937620dc24270916678f6f07e337b"; + }; + doCheck = true; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."six-1.6.1" self."WebOb-1.4" ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + UNKNOWN + ''; + homepage = "https://github.com/gawel/WSGIProxy2/"; + license = "MIT"; + }; + }; + + "zope.app.locales-3.6.2" = self.buildPythonPackage { name = "zope.app.locales-3.6.2"; src = fetchurl { @@ -3677,7 +3751,7 @@ in }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self.setuptools self."zope.globalrequest-1.0" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self.setuptools self."zope.globalrequest-1.0" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3689,46 +3763,6 @@ in }; - "plone.indexer-1.0.2" = self.buildPythonPackage { - name = "plone.indexer-1.0.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.indexer/plone.indexer-1.0.2.zip"; - md5 = "538aeee1f9db78bc8c85ae1bcb0153ed"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Hooks to facilitate managing custom index values in Zope 2/CMF applications - ''; - homepage = "http://pypi.python.org/pypi/plone.indexer"; - license = "BSD"; - }; - }; - - - "plone.app.layout-2.3.7" = self.buildPythonPackage { - name = "plone.app.layout-2.3.7"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.layout/plone.app.layout-2.3.7.zip"; - md5 = "c68be1efeef54124211a676d0dbaa655"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.app.portlets-2.4.5" self."plone.app.viewletmanager-2.0.4" self."plone.i18n-2.0.9" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.CMFEditions-2.2.8" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deprecation-3.4.1" self."zope.dottedname-3.4.6" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Layout mechanisms for Plone - ''; - homepage = "http://pypi.python.org/pypi/plone.app.layout"; - license = "GPL version 2"; - }; - }; - - "zope.app.content-3.5.1" = self.buildPythonPackage { name = "zope.app.content-3.5.1"; src = fetchurl { @@ -3749,55 +3783,55 @@ in }; - "mechanize-0.2.5" = self.buildPythonPackage { - name = "mechanize-0.2.5"; + "plone.app.discussion-2.2.12" = self.buildPythonPackage { + name = "plone.app.discussion-2.2.12"; src = fetchurl { - url = "https://pypi.python.org/packages/source/m/mechanize/mechanize-0.2.5.tar.gz"; - md5 = "32657f139fc2fb75bcf193b63b8c60b2"; + url = "https://pypi.python.org/packages/source/p/plone.app.discussion/plone.app.discussion-2.2.12.zip"; + md5 = "410d25455ff13100aa7ef2eca9f28ac4"; }; doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."collective.monkeypatcher-1.0.1" self."plone.app.layout-2.3.11" self."plone.app.uuid-1.1" self."plone.app.z3cform-0.7.6" self."plone.indexer-1.0.2" self."plone.registry-1.0.1" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.site-3.9.2" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Stateful programmatic web browsing. + Enhanced discussion support for Plone ''; - homepage = "http://wwwsearch.sourceforge.net/mechanize/"; - license = "BSD"; + homepage = "http://pypi.python.org/pypi/plone.app.discussion"; + license = "GPL"; }; }; - "z3c.formwidget.query-0.9" = self.buildPythonPackage { - name = "z3c.formwidget.query-0.9"; + "Products.MIMETools-2.13.0" = self.buildPythonPackage { + name = "Products.MIMETools-2.13.0"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/z3c.formwidget.query/z3c.formwidget.query-0.9.zip"; - md5 = "d9f7960b1a5a81d8ba5241530f496522"; + url = "https://pypi.python.org/packages/source/P/Products.MIMETools/Products.MIMETools-2.13.0.zip"; + md5 = "ad5372fc1190599a19493db0864448ec"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools self."z3c.form-3.0.2" self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + propagatedBuildInputs = [ self."DocumentTemplate-2.13.2" self.setuptools ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - A source query widget for z3c.form. + MIMETools provides the <!--#mime--> tag for DocumentTemplate. ''; - homepage = "http://pypi.python.org/pypi/z3c.formwidget.query"; + homepage = "http://pypi.python.org/pypi/Products.MIMETools"; license = "ZPL 2.1"; }; }; - "plone.app.z3cform-0.7.4" = self.buildPythonPackage { - name = "plone.app.z3cform-0.7.4"; + "plone.app.z3cform-0.7.6" = self.buildPythonPackage { + name = "plone.app.z3cform-0.7.6"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.z3cform/plone.app.z3cform-0.7.4.zip"; - md5 = "6350db39b32c3bf6edbb820b91b70b0f"; + url = "https://pypi.python.org/packages/source/p/plone.app.z3cform/plone.app.z3cform-0.7.6.zip"; + md5 = "292367803fafba716f04fa7a546e7064"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."collective.z3cform.datetimewidget-1.2.5" self."plone.protect-2.0.2" self."plone.z3cform-0.8.0" self.setuptools self."z3c.formwidget.query-0.9" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.traversing-3.13.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."collective.z3cform.datetimewidget-1.2.6" self."plone.protect-2.0.2" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" self."z3c.formwidget.query-0.10" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -3809,82 +3843,22 @@ in }; - "plone.app.querystring-1.0.8" = self.buildPythonPackage { - name = "plone.app.querystring-1.0.8"; + "python-dateutil-1.5" = self.buildPythonPackage { + name = "python-dateutil-1.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.querystring/plone.app.querystring-1.0.8.zip"; - md5 = "3ad2155da0dd5c6b99643551ad494607"; + url = "https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-1.5.tar.gz"; + md5 = "0dcb1de5e5cad69490a3b6ab63f0cfa5"; }; doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."DateTime-3.0.3" self."plone.app.contentlisting-1.0.5" self."plone.app.layout-2.3.7" self."plone.app.vocabularies-2.1.11" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.dottedname-3.4.6" self."zope.globalrequest-1.0" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" ]; + buildInputs = [ ]; + propagatedBuildInputs = [ ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - UNKNOWN + Extensions to the standard python 2.3+ datetime module ''; - homepage = "http://pypi.python.org/pypi/plone.app.querystring"; - license = "GPL version 2"; - }; - }; - - - "zope.interface-4.0.5" = self.buildPythonPackage { - name = "zope.interface-4.0.5"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.interface/zope.interface-4.0.5.zip"; - md5 = "caf26025ae1b02da124a58340e423dfe"; - }; - doCheck = true; - buildInputs = [ self."zope.event-4.0.2" pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Interfaces for Python - ''; - homepage = "http://pypi.python.org/pypi/zope.interface"; - license = "ZPL 2.1"; - }; - }; - - - "Products.PasswordResetTool-2.0.15" = self.buildPythonPackage { - name = "Products.PasswordResetTool-2.0.15"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.PasswordResetTool/Products.PasswordResetTool-2.0.15.zip"; - md5 = "74b46348d023052285124683bf122272"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Password reset tool for Plone - ''; - homepage = "http://pypi.python.org/pypi/Products.PasswordResetTool"; - license = "GPL"; - }; - }; - - - "plone.portlet.static-2.0.2" = self.buildPythonPackage { - name = "plone.portlet.static-2.0.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.portlet.static/plone.portlet.static-2.0.2.zip"; - md5 = "ec0dc691b4191a41ff97779b117f9985"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.portlets-2.4.5" self."plone.i18n-2.0.9" self."plone.portlets-2.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - A simple static HTML portlet for Plone. - ''; - homepage = "http://pypi.python.org/pypi/plone.portlet.static"; - license = "GPL version 2"; + homepage = "http://labix.org/python-dateutil"; + license = "PSF License"; }; }; @@ -3909,31 +3883,11 @@ in }; - "Missing-2.13.1" = self.buildPythonPackage { - name = "Missing-2.13.1"; + "Products.contentmigration-2.1.7" = self.buildPythonPackage { + name = "Products.contentmigration-2.1.7"; src = fetchurl { - url = "https://pypi.python.org/packages/source/M/Missing/Missing-2.13.1.zip"; - md5 = "9823cff54444cbbcaef8fc45d8e42572"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."ExtensionClass-2.13.2" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Special Missing objects used in Zope2. - ''; - homepage = "http://pypi.python.org/pypi/Missing"; - license = "ZPL 2.1"; - }; - }; - - - "zope.cachedescriptors-3.5.1" = self.buildPythonPackage { - name = "zope.cachedescriptors-3.5.1"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.cachedescriptors/zope.cachedescriptors-3.5.1.zip"; - md5 = "263459a95238fd61d17e815d97ca49ce"; + url = "https://pypi.python.org/packages/source/P/Products.contentmigration/Products.contentmigration-2.1.7.zip"; + md5 = "50cefdb73c88e15d331dff50086c109e"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -3941,10 +3895,10 @@ in installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Method and property caching decorators + A generic content migration framework for Plone. ''; - homepage = "http://pypi.python.org/pypi/zope.cachedescriptors"; - license = "ZPL 2.1"; + homepage = "http://pypi.python.org/pypi/Products.contentmigration"; + license = "LGPL"; }; }; @@ -3969,21 +3923,21 @@ in }; - "archetypes.referencebrowserwidget-2.4.19" = self.buildPythonPackage { - name = "archetypes.referencebrowserwidget-2.4.19"; + "ZODB3-3.10.5" = self.buildPythonPackage { + name = "ZODB3-3.10.5"; src = fetchurl { - url = "https://pypi.python.org/packages/source/a/archetypes.referencebrowserwidget/archetypes.referencebrowserwidget-2.4.19.zip"; - md5 = "b70af6b2da6d8c57c1138a52e94e588c"; + url = "https://pypi.python.org/packages/source/Z/ZODB3/ZODB3-3.10.5.tar.gz"; + md5 = "6f180c6897a1820948fee2a6290503cd"; }; doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.jquerytools-1.5.6" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.interface-3.6.7" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + buildInputs = [ ]; + propagatedBuildInputs = [ self."transaction-1.1.1" self."zc.lockfile-1.0.2" self."ZConfig-2.9.1" self."zdaemon-2.0.7" self."zope.event-3.5.2" self."zope.interface-3.6.7" ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - A referencebrowser implementation for Archetypes + Zope Object Database: object database and persistence ''; - homepage = "http://pypi.python.org/pypi/archetypes.referencebrowserwidget"; + homepage = "UNKNOWN"; license = "ZPL 2.1"; }; }; @@ -4016,7 +3970,7 @@ in md5 = "a1a72166fd7cccf0f30e3305e09ce5cf"; }; doCheck = false; - buildInputs = [ self."nose-1.3.0" ]; + buildInputs = [ self."nose-1.3.3" ]; propagatedBuildInputs = [ ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { @@ -4029,51 +3983,11 @@ in }; - "WebTest-2.0.9" = self.buildPythonPackage { - name = "WebTest-2.0.9"; + "plone.contentrules-2.0.4" = self.buildPythonPackage { + name = "plone.contentrules-2.0.4"; src = fetchurl { - url = "https://pypi.python.org/packages/source/W/WebTest/WebTest-2.0.9.zip"; - md5 = "bf0a04fcf8b2cdcaa13b04324cefb53d"; - }; - doCheck = true; - buildInputs = [ self."nose-1.3.0" self."unittest2-0.5.1" self."pyquery-1.2.6" self."WSGIProxy2-0.3" self."PasteDeploy-1.5.0" self."mock-1.0.1" self."coverage-3.7" pkgs.unzip ]; - propagatedBuildInputs = [ self."beautifulsoup4-4.3.2" self."six-1.4.1" self."waitress-0.8.7" self."WebOb-1.2.3" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Helper to test WSGI applications - ''; - homepage = "http://webtest.pythonpaste.org/"; - license = "MIT"; - }; - }; - - - "plone.app.contentmenu-2.0.8" = self.buildPythonPackage { - name = "plone.app.contentmenu-2.0.8"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.contentmenu/plone.app.contentmenu-2.0.8.zip"; - md5 = "8ba463f1a164c454c70d26507e5bd22a"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.content-2.1.3" self."plone.locking-2.0.4" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self.setuptools self."zope.browsermenu-3.9.1" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Plone's content menu implementation - ''; - homepage = "http://pypi.python.org/pypi/plone.app.contentmenu"; - license = "GPL version 2"; - }; - }; - - - "plone.contentrules-2.0.3" = self.buildPythonPackage { - name = "plone.contentrules-2.0.3"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.contentrules/plone.contentrules-2.0.3.zip"; - md5 = "e743dca41b07b7ac1c2a65b652679201"; + url = "https://pypi.python.org/packages/source/p/plone.contentrules/plone.contentrules-2.0.4.zip"; + md5 = "21b189c2139ec7baea63a1e7ee187c55"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -4097,7 +4011,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.keyring-2.0.1" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."plone.keyring-2.0.1" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4109,6 +4023,26 @@ in }; + "zope.i18nmessageid-3.5.3" = self.buildPythonPackage { + name = "zope.i18nmessageid-3.5.3"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-3.5.3.tar.gz"; + md5 = "cb84bf61c2b7353e3b7578057fbaa264"; + }; + doCheck = false; + buildInputs = [ ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Message Identifiers for internationalization + ''; + homepage = "http://pypi.python.org/pypi/zope.i18nmessageid"; + license = "ZPL 2.1"; + }; + }; + + "transaction-1.1.1" = self.buildPythonPackage { name = "transaction-1.1.1"; src = fetchurl { @@ -4129,22 +4063,42 @@ in }; - "plone.app.theming-1.1.1" = self.buildPythonPackage { - name = "plone.app.theming-1.1.1"; + "zope.cachedescriptors-3.5.1" = self.buildPythonPackage { + name = "zope.cachedescriptors-3.5.1"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.theming/plone.app.theming-1.1.1.zip"; - md5 = "a694b7a050b6e7c25d720d1e99bb73fa"; + url = "https://pypi.python.org/packages/source/z/zope.cachedescriptors/zope.cachedescriptors-3.5.1.zip"; + md5 = "263459a95238fd61d17e815d97ca49ce"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."diazo-1.0.4" self."docutils-0.9.1" self."five.globalrequest-1.0" self."lxml-2.3.6" self."plone.app.registry-1.2.3" self."plone.resource-1.0.2" self."plone.resourceeditor-1.0" self."plone.subrequest-1.6.7" self."plone.transformchain-1.0.3" self."Products.CMFPlone-4.3.2" self."repoze.xmliter-0.5" self."roman-1.4.0" self.setuptools self."zope.traversing-3.13.2" ]; + propagatedBuildInputs = [ self.setuptools ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Integrates the Diazo theming engine with Plone + Method and property caching decorators ''; - homepage = "http://pypi.python.org/pypi/plone.app.theming"; - license = "GPL"; + homepage = "http://pypi.python.org/pypi/zope.cachedescriptors"; + license = "ZPL 2.1"; + }; + }; + + + "plone.theme-2.1.1" = self.buildPythonPackage { + name = "plone.theme-2.1.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.theme/plone.theme-2.1.1.zip"; + md5 = "28f06c6486059221648e38b5da1d304d"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.traversing-3.13.2" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Tools for managing themes in CMF and Plone sites + ''; + homepage = "http://pypi.python.org/pypi/plone.theme"; + license = "GPL version 2"; }; }; @@ -4157,7 +4111,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.PlonePAS-4.1.1" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deferredimport-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.memoize-1.1.1" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.PlonePAS-4.1.3" self."Products.PluggableAuthService-1.10.0" self.setuptools self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.deferredimport-3.5.3" self."zope.interface-3.6.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4169,15 +4123,15 @@ in }; - "Products.ZCatalog-2.13.23" = self.buildPythonPackage { - name = "Products.ZCatalog-2.13.23"; + "Products.ZCatalog-2.13.27" = self.buildPythonPackage { + name = "Products.ZCatalog-2.13.27"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.ZCatalog/Products.ZCatalog-2.13.23.zip"; - md5 = "d425171516dfc70e543a4e2b852301cb"; + url = "https://pypi.python.org/packages/source/P/Products.ZCatalog/Products.ZCatalog-2.13.27.zip"; + md5 = "49cad3f1c408973cc9a1430acc9e1432"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."DateTime-3.0.3" self."DocumentTemplate-2.13.2" self."ExtensionClass-2.13.2" self."Missing-2.13.1" self."Persistence-2.13.2" self."Products.ZCTextIndex-2.13.4" self."Record-2.13.0" self."RestrictedPython-3.6.0" self.setuptools self."zExceptions-2.13.0" self."ZODB3-3.10.5" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.testing-3.9.7" ]; + propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."DateTime-3.0.3" self."DocumentTemplate-2.13.2" self."ExtensionClass-2.13.2" self."Missing-2.13.1" self."Persistence-2.13.2" self."Products.ZCTextIndex-2.13.5" self."Record-2.13.0" self."RestrictedPython-3.6.0" self.setuptools self."zExceptions-2.13.0" self."ZODB3-3.10.5" self."zope.dottedname-3.4.6" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.testing-3.9.7" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4189,35 +4143,15 @@ in }; - "plone.app.discussion-2.2.8" = self.buildPythonPackage { - name = "plone.app.discussion-2.2.8"; + "Products.TinyMCE-1.3.6" = self.buildPythonPackage { + name = "Products.TinyMCE-1.3.6"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.discussion/plone.app.discussion-2.2.8.zip"; - md5 = "97cc5b204076f8803fcdaccbf0565bb6"; + url = "https://pypi.python.org/packages/source/P/Products.TinyMCE/Products.TinyMCE-1.3.6.zip"; + md5 = "c9e7aa751768f88f3647c5881cc84603"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."collective.monkeypatcher-1.0.1" self."plone.app.layout-2.3.7" self."plone.app.uuid-1.0" self."plone.app.z3cform-0.7.4" self."plone.indexer-1.0.2" self."plone.registry-1.0.1" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.0.2" self."ZODB3-3.10.5" self."zope.annotation-3.5.0" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.site-3.9.2" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Enhanced discussion support for Plone - ''; - homepage = "http://pypi.python.org/pypi/plone.app.discussion"; - license = "GPL"; - }; - }; - - - "Products.TinyMCE-1.3.5" = self.buildPythonPackage { - name = "Products.TinyMCE-1.3.5"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.TinyMCE/Products.TinyMCE-1.3.5.zip"; - md5 = "b972ff26c90d99c13ded0aeb33af2a2e"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.app.imaging-1.0.9" self."plone.app.layout-2.3.7" self."plone.caching-1.0" self."plone.namedfile__scales-2.0.2" self."plone.outputfilters-1.11.1" self."Products.ResourceRegistries-2.2.9" self.setuptools self."zope.app.content-3.5.1" self."zope.schema-4.2.2" ]; + propagatedBuildInputs = [ self."plone.app.imaging-1.0.10" self."plone.app.layout-2.3.11" self."plone.caching-1.0" self."plone.namedfile__scales-2.0.5" self."plone.outputfilters-1.12" self."Products.ResourceRegistries-2.2.10" self.setuptools self."zope.app.content-3.5.1" self."zope.schema-4.2.2" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4229,11 +4163,59 @@ in }; - "plone.supermodel-1.2.3" = self.buildPythonPackage { - name = "plone.supermodel-1.2.3"; + "plone.app.layout-2.3.11" = self.buildPythonPackage { + name = "plone.app.layout-2.3.11"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.supermodel/plone.supermodel-1.2.3.zip"; - md5 = "34610edccd7f93409b95a6b9ecd3da9e"; + url = "https://pypi.python.org/packages/source/p/plone.app.layout/plone.app.layout-2.3.11.zip"; + md5 = "641297ae21cba8fc6cbf03bbbb81c11f"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."plone.app.content-2.1.4" self."plone.app.portlets-2.4.8" self."plone.app.viewletmanager-2.0.5" self."plone.i18n-2.0.9" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.CMFEditions-2.2.9" self.setuptools self."zope.component__zcml-3.9.5" self."zope.deprecation-3.4.1" self."zope.dottedname-3.4.6" self."zope.i18n__zcml-3.7.4" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Layout mechanisms for Plone + ''; + homepage = "http://pypi.python.org/pypi/plone.app.layout"; + license = "GPL version 2"; + }; + }; + + + "Pillow-2.3.0" = self.buildPythonPackage { + name = "Pillow-2.3.0"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/P/Pillow/Pillow-2.3.0.zip"; + md5 = "56b6614499aacb7d6b5983c4914daea7"; + }; + doCheck = false; + buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.unzip ]; + propagatedBuildInputs = [ ]; + configurePhase = '' + 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 ; + s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ; + s|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ; + s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;' + ''; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Python Imaging Library (Fork) + ''; + homepage = "http://python-imaging.github.io/"; + license = "Standard PIL License"; + }; + }; + + + "plone.supermodel-1.2.4" = self.buildPythonPackage { + name = "plone.supermodel-1.2.4"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.supermodel/plone.supermodel-1.2.4.zip"; + md5 = "f07134bc7ff1ab30735a61bc6f7d4c47"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -4249,6 +4231,26 @@ in }; + "plone.app.caching-1.1.8" = self.buildPythonPackage { + name = "plone.app.caching-1.1.8"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.caching/plone.app.caching-1.1.8.zip"; + md5 = "f74d9f293ba3a89b9dd91589ab6672b5"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.registry-1.2.3" self."plone.app.z3cform-0.7.6" self."plone.cachepurging-1.0.5" self."plone.caching-1.0" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self."python-dateutil-1.5" self.setuptools self."z3c.form-3.1.1" self."z3c.zcmlhook-1.0b1" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Plone UI and default rules for plone.caching/z3c.caching + ''; + homepage = "http://pypi.python.org/pypi/plone.app.caching"; + license = "GPL version 2"; + }; + }; + + "zope.exceptions-3.6.2" = self.buildPythonPackage { name = "zope.exceptions-3.6.2"; src = fetchurl { @@ -4269,42 +4271,22 @@ in }; - "plone.app.users-1.2a2" = self.buildPythonPackage { - name = "plone.app.users-1.2a2"; + "plone.z3cform-0.8.0" = self.buildPythonPackage { + name = "plone.z3cform-0.8.0"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.users/plone.app.users-1.2a2.zip"; - md5 = "a96e42e34d97162363cb3bbc8483d2ba"; + url = "https://pypi.python.org/packages/source/p/plone.z3cform/plone.z3cform-0.8.0.zip"; + md5 = "bdb23dd162544964d2f8f8f5f002e874"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."five.formlib-1.0.4" self."plone.app.controlpanel-2.3.7" self."plone.app.layout-2.3.7" self."plone.protect-2.0.2" self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.statusmessages-4.0" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."plone.batching-1.0.1" self.setuptools self."z3c.form-3.1.1" self."zope.browserpage-3.12.2" self."zope.component__zcml-3.9.5" self."zope.i18n__zcml-3.7.4" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - A package for all things users and groups related (specific to plone) + plone.z3cform is a library that allows use of z3c.form with Zope 2 and the CMF. ''; - homepage = "http://pypi.python.org/pypi/plone.app.users"; - license = "GPL version 2"; - }; - }; - - - "plone.app.caching-1.1.6" = self.buildPythonPackage { - name = "plone.app.caching-1.1.6"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.caching/plone.app.caching-1.1.6.zip"; - md5 = "52f817d67e6da1508bf6f1486e5466d2"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.registry-1.2.3" self."plone.app.z3cform-0.7.4" self."plone.cachepurging-1.0.4" self."plone.caching-1.0" self."plone.memoize-1.1.1" self."plone.protect-2.0.2" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self."Products.CMFDynamicViewFTI-4.0.5" self."Products.GenericSetup-1.7.4" self."Products.statusmessages-4.0" self."python-dateutil-1.5" self.setuptools self."z3c.form-3.0.2" self."z3c.zcmlhook-1.0b1" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Plone UI and default rules for plone.caching/z3c.caching - ''; - homepage = "http://pypi.python.org/pypi/plone.app.caching"; - license = "GPL version 2"; + homepage = "http://pypi.python.org/pypi/plone.z3cform"; + license = "ZPL 2.1"; }; }; @@ -4349,75 +4331,75 @@ in }; - "z3c.form-3.0.2" = self.buildPythonPackage { - name = "z3c.form-3.0.2"; + "python-gettext-1.2" = self.buildPythonPackage { + name = "python-gettext-1.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/z3c.form/z3c.form-3.0.2.zip"; - md5 = "8eab166766c6ae2e44e40f54136b3f79"; + url = "https://pypi.python.org/packages/source/p/python-gettext/python-gettext-1.2.zip"; + md5 = "cd4201d440126d1296d1d2bc2b4795f3"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools self."six-1.2.0" self."zope.browser-1.3" self."zope.browserpage-3.12.2" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.contentprovider-3.7.2" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.site-3.9.2" self."zope.traversing-3.13.2" ]; + propagatedBuildInputs = [ self."unittest2-0.5.1" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - An advanced form and widget framework for Zope 3 + Python Gettext po to mo file compiler. ''; - homepage = "https://launchpad.net/z3c.form"; - license = "ZPL 2.1"; + homepage = "http://pypi.python.org/pypi/python-gettext"; + license = "BSD"; }; }; - "Products.CMFPlacefulWorkflow-1.5.9" = self.buildPythonPackage { - name = "Products.CMFPlacefulWorkflow-1.5.9"; + "plone.resourceeditor-1.0" = self.buildPythonPackage { + name = "plone.resourceeditor-1.0"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.CMFPlacefulWorkflow/Products.CMFPlacefulWorkflow-1.5.9.zip"; - md5 = "9041e1f52eab5b348c0dfa85be438722"; + url = "https://pypi.python.org/packages/source/p/plone.resourceeditor/plone.resourceeditor-1.0.zip"; + md5 = "443ff0a0ad83b94fc08cac46ee3b2ad4"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFPlone-4.3.2" self."Products.GenericSetup-1.7.4" self."Products.PloneTestCase-0.9.17" self.setuptools self."zope.component__zcml-3.9.5" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.testing-3.9.7" ]; + propagatedBuildInputs = [ self."plone.resource-1.0.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Workflow policies for CMF and Plone + UNKNOWN ''; - homepage = "http://pypi.python.org/pypi/Products.CMFPlacefulWorkflow"; + homepage = "https://github.com/plone/plone.resourceeditor"; license = "GPL"; }; }; - "plone.app.textfield-1.2.2" = self.buildPythonPackage { - name = "plone.app.textfield-1.2.2"; + "Products.ResourceRegistries-2.2.10" = self.buildPythonPackage { + name = "Products.ResourceRegistries-2.2.10"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.textfield/plone.app.textfield-1.2.2.zip"; - md5 = "f832887a40826d6f68c48b48f071fb9c"; + url = "https://pypi.python.org/packages/source/P/Products.ResourceRegistries/Products.ResourceRegistries-2.2.10.zip"; + md5 = "207878a7c4b1583fe3cd609116e40bee"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.schema-4.2.2" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."DateTime-3.0.3" self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.interface-3.6.7" self."zope.viewlet-3.7.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Text field with MIME type support + Registry for managing CSS and JS ''; - homepage = "http://pypi.python.org/pypi/plone.app.textfield"; - license = "GPL"; + homepage = "http://pypi.python.org/pypi/Products.ResourceRegistries"; + license = "GPL version 2"; }; }; - "pyquery-1.2.6" = self.buildPythonPackage { - name = "pyquery-1.2.6"; + "pyquery-1.2.8" = self.buildPythonPackage { + name = "pyquery-1.2.8"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/pyquery/pyquery-1.2.6.zip"; - md5 = "af51aa835f24eef06175c48dc1218029"; + url = "https://pypi.python.org/packages/source/p/pyquery/pyquery-1.2.8.zip"; + md5 = "a2a9c23a88f7b2615b41722a3ddebeb7"; }; doCheck = true; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."cssselect-0.9" self."lxml-3.2.3" ]; + propagatedBuildInputs = [ self."cssselect-0.9.1" self."lxml-3.3.5" ]; installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' @@ -4429,26 +4411,6 @@ in }; - "zope.event-3.5.2" = self.buildPythonPackage { - name = "zope.event-3.5.2"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.event/zope.event-3.5.2.tar.gz"; - md5 = "6e8af2a16157a74885d4f0d88137cefb"; - }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ self.setuptools ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - Very basic event publishing system - ''; - homepage = "http://pypi.python.org/pypi/zope.event"; - license = "ZPL 2.1"; - }; - }; - - "initgroups-2.13.0" = self.buildPythonPackage { name = "initgroups-2.13.0"; src = fetchurl { @@ -4489,22 +4451,22 @@ in }; - "plone.alterego-1.0" = self.buildPythonPackage { - name = "plone.alterego-1.0"; + "plone.app.querystring-1.1.1" = self.buildPythonPackage { + name = "plone.app.querystring-1.1.1"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.alterego/plone.alterego-1.0.zip"; - md5 = "b7b6dbcbba00505d98d5aba83e016408"; + url = "https://pypi.python.org/packages/source/p/plone.app.querystring/plone.app.querystring-1.1.1.zip"; + md5 = "845c1a4fc37f615022b536667281b80e"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools ]; + propagatedBuildInputs = [ self."DateTime-3.0.3" self."plone.app.contentlisting-1.0.5" self."plone.app.layout-2.3.11" self."plone.app.vocabularies-2.1.14" self."plone.batching-1.0.1" self."plone.registry-1.0.1" self."Products.CMFCore-2.2.7" self.setuptools self."zope.component__zcml-3.9.5" self."zope.dottedname-3.4.6" self."zope.globalrequest-1.0" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Low level support for dynamic modules + UNKNOWN ''; - homepage = "http://code.google.com/p/dexterity"; - license = "LGPL"; + homepage = "http://pypi.python.org/pypi/plone.app.querystring"; + license = "GPL version 2"; }; }; @@ -4569,6 +4531,26 @@ in }; + "plone.batching-1.0.1" = self.buildPythonPackage { + name = "plone.batching-1.0.1"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.batching/plone.batching-1.0.1.zip"; + md5 = "4b57b660082683ad66910b3c6725c141"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Batching facilities used in Plone. + ''; + homepage = "http://pypi.python.org/pypi/plone.batching"; + license = "GPL"; + }; + }; + + "plone.portlet.collection-2.1.5" = self.buildPythonPackage { name = "plone.portlet.collection-2.1.5"; src = fetchurl { @@ -4577,7 +4559,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.app.form-2.2.3" self."plone.app.portlets-2.4.5" self."plone.app.vocabularies-2.1.11" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self.setuptools ]; + propagatedBuildInputs = [ self."plone.app.form-2.2.4" self."plone.app.portlets-2.4.8" self."plone.app.vocabularies-2.1.14" self."plone.memoize-1.1.1" self."plone.portlets-2.2" self.setuptools ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4617,7 +4599,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."archetypes.querywidget-1.0.9" self."plone.app.contentlisting-1.0.5" self."plone.app.form-2.2.3" self."plone.app.portlets-2.4.5" self."plone.app.vocabularies-2.1.11" self."plone.portlet.collection-2.1.5" self."plone.portlets-2.2" self."Products.Archetypes-1.9.4" self."Products.CMFCore-2.2.7" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.validation-2.0" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."archetypes.querywidget-1.0.10" self."plone.app.contentlisting-1.0.5" self."plone.app.form-2.2.4" self."plone.app.portlets-2.4.8" self."plone.app.vocabularies-2.1.14" self."plone.portlet.collection-2.1.5" self."plone.portlets-2.2" self."Products.Archetypes-1.9.7" self."Products.CMFCore-2.2.7" self."Products.CMFQuickInstallerTool-3.0.6" self."Products.validation-2.0" self.setuptools self."transaction-1.1.1" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4629,15 +4611,15 @@ in }; - "Products.CMFCalendar-2.2.2" = self.buildPythonPackage { - name = "Products.CMFCalendar-2.2.2"; + "Products.CMFCalendar-2.2.3" = self.buildPythonPackage { + name = "Products.CMFCalendar-2.2.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/P/Products.CMFCalendar/Products.CMFCalendar-2.2.2.tar.gz"; - md5 = "49458e68dc3b6826ea9a3576ac014419"; + url = "https://pypi.python.org/packages/source/P/Products.CMFCalendar/Products.CMFCalendar-2.2.3.tar.gz"; + md5 = "75659630aa12cfe86cc740db64ef294f"; }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.3" self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" self."eggtestinfo-0.3" ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.CMFDefault-2.2.4" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.app.form-4.0.2" self."Zope2-2.13.22" self."eggtestinfo-0.3" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4649,6 +4631,28 @@ in }; + "Plone" = self."Plone-4.3.3"; + + "Plone-4.3.3" = self.buildPythonPackage { + name = "Plone-4.3.3"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/P/Plone/Plone-4.3.3.zip"; + md5 = "ce8ab3b3033e05b9544a8127dc67e09a"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."plone.app.caching-1.1.8" self."plone.app.dexterity-2.0.11" self."plone.app.iterate-2.1.12" self."plone.app.openid-2.0.2" self."plone.app.theming-1.1.1" self."Products.CMFPlacefulWorkflow-1.5.10" self."Products.CMFPlone-4.3.3" self.setuptools self."wicked-1.1.10" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + The Plone Content Management System + ''; + homepage = "http://plone.org/"; + license = "GPL version 2"; + }; + }; + + "Products.PluggableAuthService-1.10.0" = self.buildPythonPackage { name = "Products.PluggableAuthService-1.10.0"; src = fetchurl { @@ -4657,7 +4661,7 @@ in }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self."Products.PluginRegistry-1.3" self.setuptools self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self."Products.PluginRegistry-1.3" self.setuptools self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4689,6 +4693,26 @@ in }; + "plone.app.jquerytools-1.5.7" = self.buildPythonPackage { + name = "plone.app.jquerytools-1.5.7"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.jquerytools/plone.app.jquerytools-1.5.7.zip"; + md5 = "f87fe3088f5258a8dae1490d7d989988"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self.setuptools self."zope.component__zcml-3.9.5" self."Zope2-2.13.22" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + jQuery Tools integration for Plone plus overlay and AJAX form helpers. + ''; + homepage = "http://pypi.python.org/pypi/plone.app.jquerytools"; + license = "GPL version 2"; + }; + }; + + "Products.GenericSetup-1.7.4" = self.buildPythonPackage { name = "Products.GenericSetup-1.7.4"; src = fetchurl { @@ -4697,7 +4721,7 @@ in }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self.setuptools self."zope.formlib-4.0.6" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."five.localsitemanager-2.0.5" self.setuptools self."zope.formlib-4.0.6" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4709,35 +4733,35 @@ in }; - "plone.app.viewletmanager-2.0.4" = self.buildPythonPackage { - name = "plone.app.viewletmanager-2.0.4"; + "ExtensionClass-2.13.2" = self.buildPythonPackage { + name = "ExtensionClass-2.13.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.viewletmanager/plone.app.viewletmanager-2.0.4.zip"; - md5 = "565a12ac71d20b2823b9e44daebe432f"; + url = "https://pypi.python.org/packages/source/E/ExtensionClass/ExtensionClass-2.13.2.zip"; + md5 = "0236e6d7da9e8b87b9ba45f1b8f930b8"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."plone.app.vocabularies-2.1.11" self."Products.GenericSetup-1.7.4" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.contentprovider-3.7.2" self."zope.interface-3.6.7" self."zope.site-3.9.2" self."zope.viewlet-3.7.2" self."Zope2-2.13.21" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + propagatedBuildInputs = [ ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; meta = { description = '' - configurable viewlet manager + Metaclass for subclassable extension types ''; - homepage = "http://pypi.python.org/pypi/plone.app.viewletmanager"; - license = "GPL version 2"; + homepage = "http://pypi.python.org/pypi/ExtensionClass"; + license = "ZPL 2.1"; }; }; - "plone.schemaeditor-1.3.3" = self.buildPythonPackage { - name = "plone.schemaeditor-1.3.3"; + "plone.schemaeditor-1.3.7" = self.buildPythonPackage { + name = "plone.schemaeditor-1.3.7"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.schemaeditor/plone.schemaeditor-1.3.3.zip"; - md5 = "25a04a0bf6cd6411669dd3850a1d04b8"; + url = "https://pypi.python.org/packages/source/p/plone.schemaeditor/plone.schemaeditor-1.3.7.zip"; + md5 = "94535ff5b8d8d871fbbd9806912c4c00"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.autoform-1.5" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.0.2" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."plone.autoform-1.6" self."plone.z3cform-0.8.0" self.setuptools self."z3c.form-3.1.1" self."zope.component__zcml-3.9.5" self."zope.container-3.11.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -4789,26 +4813,6 @@ in }; - "ZopeUndo-2.12.0" = self.buildPythonPackage { - name = "ZopeUndo-2.12.0"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/Z/ZopeUndo/ZopeUndo-2.12.0.zip"; - md5 = "2b8da09d1b98d5558f62e12f6e52c401"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - ZODB undo support for Zope2. - ''; - homepage = "http://pypi.python.org/pypi/ZopeUndo"; - license = "ZPL 2.1"; - }; - }; - - "zope.traversing-3.13.2" = self.buildPythonPackage { name = "zope.traversing-3.13.2"; src = fetchurl { @@ -4849,11 +4853,11 @@ in }; - "plonetheme.classic-1.3.2" = self.buildPythonPackage { - name = "plonetheme.classic-1.3.2"; + "plonetheme.classic-1.3.3" = self.buildPythonPackage { + name = "plonetheme.classic-1.3.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plonetheme.classic/plonetheme.classic-1.3.2.zip"; - md5 = "c77d4c34afaf7c02df44d4df72328155"; + url = "https://pypi.python.org/packages/source/p/plonetheme.classic/plonetheme.classic-1.3.3.zip"; + md5 = "5bcf588a8998f4a1c5aecb99c3d9ecf4"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -4869,11 +4873,11 @@ in }; - "plone.scale__storage-1.3.2" = self.buildPythonPackage { - name = "plone.scale__storage-1.3.2"; + "plone.scale__storage-1.3.3" = self.buildPythonPackage { + name = "plone.scale__storage-1.3.3"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.scale/plone.scale-1.3.2.zip"; - md5 = "584ccbf515aff9fef363c2cc8abac789"; + url = "https://pypi.python.org/packages/source/p/plone.scale/plone.scale-1.3.3.zip"; + md5 = "f2d56ec944e5677a4998b3b9e21534e3"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; @@ -4889,41 +4893,21 @@ in }; - "zope.browserpage-3.12.2" = self.buildPythonPackage { - name = "zope.browserpage-3.12.2"; + "plone.portlet.static-2.0.2" = self.buildPythonPackage { + name = "plone.portlet.static-2.0.2"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.browserpage/zope.browserpage-3.12.2.tar.gz"; - md5 = "a543ef3cb1b42f7233b3fca23dc9ea60"; - }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ self.setuptools self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.interface-3.6.7" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.traversing-3.13.2" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; - meta = { - description = '' - ZCML directives for configuring browser views for Zope. - ''; - homepage = "http://pypi.python.org/pypi/zope.browserpage/"; - license = "ZPL 2.1"; - }; - }; - - - "plone.app.imaging-1.0.9" = self.buildPythonPackage { - name = "plone.app.imaging-1.0.9"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.imaging/plone.app.imaging-1.0.9.zip"; - md5 = "e680c5540021a70266343b935ac732a7"; + url = "https://pypi.python.org/packages/source/p/plone.portlet.static/plone.portlet.static-2.0.2.zip"; + md5 = "ec0dc691b4191a41ff97779b117f9985"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.scale__storage-1.3.2" self.setuptools ]; + propagatedBuildInputs = [ self."plone.app.form-2.2.4" self."plone.app.portlets-2.4.8" self."plone.i18n-2.0.9" self."plone.portlets-2.2" self.setuptools self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - User-configurable, blob-aware image scaling for Plone. + A simple static HTML portlet for Plone. ''; - homepage = "http://pypi.python.org/pypi/plone.app.imaging"; + homepage = "http://pypi.python.org/pypi/plone.portlet.static"; license = "GPL version 2"; }; }; @@ -4969,26 +4953,6 @@ in }; - "archetypes.querywidget-1.0.9" = self.buildPythonPackage { - name = "archetypes.querywidget-1.0.9"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/a/archetypes.querywidget/archetypes.querywidget-1.0.9.zip"; - md5 = "67e51c20990bb3eefbc9e8e953d7c9f5"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."plone.app.jquerytools-1.5.6" self."plone.app.querystring-1.0.8" self.setuptools ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - UNKNOWN - ''; - homepage = "http://pypi.python.org/pypi/archetypes.querywidget"; - license = "GPL version 2"; - }; - }; - - "Products.PluginRegistry-1.3" = self.buildPythonPackage { name = "Products.PluginRegistry-1.3"; src = fetchurl { @@ -4997,7 +4961,7 @@ in }; doCheck = false; buildInputs = [ ]; - propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Products.GenericSetup-1.7.4" self.setuptools self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -5129,35 +5093,15 @@ in }; - "plone.subrequest-1.6.7" = self.buildPythonPackage { - name = "plone.subrequest-1.6.7"; + "plone.app.vocabularies-2.1.14" = self.buildPythonPackage { + name = "plone.app.vocabularies-2.1.14"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.subrequest/plone.subrequest-1.6.7.zip"; - md5 = "cc12f68a22565415b10dbeef0020baa4"; + url = "https://pypi.python.org/packages/source/p/plone.app.vocabularies/plone.app.vocabularies-2.1.14.zip"; + md5 = "c3ce7028fd0e3f70588167b8d3c002d5"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."five.globalrequest-1.0" self.setuptools self."zope.globalrequest-1.0" ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Subrequests for Zope2 - ''; - homepage = "http://pypi.python.org/pypi/plone.subrequest/"; - license = "GPL version 2"; - }; - }; - - - "plone.app.vocabularies-2.1.11" = self.buildPythonPackage { - name = "plone.app.vocabularies-2.1.11"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.vocabularies/plone.app.vocabularies-2.1.11.tar.gz"; - md5 = "08c773a5093780aaa27709a890f1e21f"; - }; - doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self."Products.CMFCore-2.2.7" self.setuptools self."zope.browser-1.3" self."zope.component__zcml-3.9.5" self."zope.formlib-4.0.6" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.schema-4.2.2" self."zope.site-3.9.2" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -5169,22 +5113,22 @@ in }; - "DocumentTemplate-2.13.2" = self.buildPythonPackage { - name = "DocumentTemplate-2.13.2"; + "archetypes.querywidget-1.0.10" = self.buildPythonPackage { + name = "archetypes.querywidget-1.0.10"; src = fetchurl { - url = "https://pypi.python.org/packages/source/D/DocumentTemplate/DocumentTemplate-2.13.2.zip"; - md5 = "07bb086c77c1dfe94125ad2efbba94b7"; + url = "https://pypi.python.org/packages/source/a/archetypes.querywidget/archetypes.querywidget-1.0.10.zip"; + md5 = "6b65a6ff701ebcb6e9550d27c7e2a855"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."AccessControl-3.0.8" self."Acquisition-2.13.8" self."ExtensionClass-2.13.2" self."RestrictedPython-3.6.0" self."zExceptions-2.13.0" self."zope.sequencesort-3.4.0" self."zope.structuredtext-3.5.1" ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; + propagatedBuildInputs = [ self."plone.app.jquerytools-1.5.7" self."plone.app.querystring-1.1.1" self.setuptools ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Document Templating Markup Language (DTML) + UNKNOWN ''; - homepage = "http://pypi.python.org/pypi/DocumentTemplate"; - license = "ZPL 2.1"; + homepage = "http://pypi.python.org/pypi/archetypes.querywidget"; + license = "GPL version 2"; }; }; @@ -5217,7 +5161,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."AccessControl-3.0.8" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."AccessControl-3.0.8" self.setuptools self."transaction-1.1.1" self."ZODB3-3.10.5" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -5229,42 +5173,42 @@ in }; - "zope.i18nmessageid-3.5.3" = self.buildPythonPackage { - name = "zope.i18nmessageid-3.5.3"; + "plone.subrequest-1.6.8" = self.buildPythonPackage { + name = "plone.subrequest-1.6.8"; src = fetchurl { - url = "https://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-3.5.3.tar.gz"; - md5 = "cb84bf61c2b7353e3b7578057fbaa264"; + url = "https://pypi.python.org/packages/source/p/plone.subrequest/plone.subrequest-1.6.8.zip"; + md5 = "6ea93bc17d56612d41a497cdc5f2960b"; }; doCheck = false; - buildInputs = [ ]; - propagatedBuildInputs = [ self.setuptools ]; - installCommand = ''easy_install --always-unzip --prefix="$out" .''; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self."five.globalrequest-1.0" self.setuptools self."zope.globalrequest-1.0" ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Message Identifiers for internationalization + Subrequests for Zope2 ''; - homepage = "http://pypi.python.org/pypi/zope.i18nmessageid"; - license = "ZPL 2.1"; + homepage = "http://pypi.python.org/pypi/plone.subrequest/"; + license = "GPL version 2"; }; }; - "plone.app.linkintegrity-1.5.3" = self.buildPythonPackage { - name = "plone.app.linkintegrity-1.5.3"; + "z3c.form-3.1.1" = self.buildPythonPackage { + name = "z3c.form-3.1.1"; src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.app.linkintegrity/plone.app.linkintegrity-1.5.3.zip"; - md5 = "f2eed92f433fe73b4056d3ba48ba8eb0"; + url = "https://pypi.python.org/packages/source/z/z3c.form/z3c.form-3.1.1.zip"; + md5 = "0b54d848d6a1be9eab867255e10f5504"; }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self.setuptools ]; + propagatedBuildInputs = [ self.setuptools self."six-1.2.0" self."zope.browser-1.3" self."zope.browserpage-3.12.2" self."zope.browserresource-3.10.3" self."zope.component__zcml-3.9.5" self."zope.configuration-3.7.4" self."zope.contentprovider-3.7.2" self."zope.event-3.5.2" self."zope.i18n__zcml-3.7.4" self."zope.i18nmessageid-3.5.3" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.pagetemplate-3.6.3" self."zope.publisher-3.12.6" self."zope.schema-4.2.2" self."zope.security__untrustedpython-3.7.4" self."zope.site-3.9.2" self."zope.traversing-3.13.2" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' - Manage link integrity in Plone. + An advanced form and widget framework for Zope 3 ''; - homepage = "http://pypi.python.org/pypi/plone.app.linkintegrity"; - license = "GPL version 2"; + homepage = "https://launchpad.net/z3c.form"; + license = "ZPL 2.1"; }; }; @@ -5289,6 +5233,46 @@ in }; + "WebTest-2.0.15" = self.buildPythonPackage { + name = "WebTest-2.0.15"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/W/WebTest/WebTest-2.0.15.zip"; + md5 = "49314bdba23f4d0bd807facb2a6d3f90"; + }; + doCheck = true; + buildInputs = [ self."nose-1.3.3" self."unittest2-0.5.1" self."pyquery-1.2.8" self."WSGIProxy2-0.4.1" self."PasteDeploy-1.5.2" self."mock-1.0.1" self."coverage-3.7.1" pkgs.unzip ]; + propagatedBuildInputs = [ self."beautifulsoup4-4.3.2" self."six-1.6.1" self."waitress-0.8.9" self."WebOb-1.4" ]; + installCommand = ''easy_install --always-unzip --prefix="$out" .''; + meta = { + description = '' + Helper to test WSGI applications + ''; + homepage = "http://webtest.pythonpaste.org/"; + license = "MIT"; + }; + }; + + + "plone.app.linkintegrity-1.5.4" = self.buildPythonPackage { + name = "plone.app.linkintegrity-1.5.4"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/plone.app.linkintegrity/plone.app.linkintegrity-1.5.4.zip"; + md5 = "f82e73603ade6f588bc27f01c5aea404"; + }; + doCheck = false; + buildInputs = [ pkgs.unzip ]; + propagatedBuildInputs = [ self.setuptools ]; + installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; + meta = { + description = '' + Manage link integrity in Plone. + ''; + homepage = "http://pypi.python.org/pypi/plone.app.linkintegrity"; + license = "GPL version 2"; + }; + }; + + "zope.app.form-4.0.2" = self.buildPythonPackage { name = "zope.app.form-4.0.2"; src = fetchurl { @@ -5317,7 +5301,7 @@ in }; doCheck = false; buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Acquisition-2.13.8" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.21" ]; + propagatedBuildInputs = [ self."Acquisition-2.13.8" self.setuptools self."ZODB3-3.10.5" self."zope.component__zcml-3.9.5" self."zope.event-3.5.2" self."zope.interface-3.6.7" self."zope.lifecycleevent-3.6.2" self."zope.location-3.9.1" self."zope.site-3.9.2" self."zope.testing-3.9.7" self."Zope2-2.13.22" ]; installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; meta = { description = '' @@ -5329,68 +5313,5 @@ in }; - "plone.outputfilters-1.11.1" = self.buildPythonPackage { - name = "plone.outputfilters-1.11.1"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/p/plone.outputfilters/plone.outputfilters-1.11.1.zip"; - md5 = "6b7506f09ad98621f8bb388c55183d6d"; - }; - doCheck = false; - buildInputs = [ pkgs.unzip ]; - propagatedBuildInputs = [ self."Products.CMFCore-2.2.7" self."Products.GenericSetup-1.7.4" self."Products.MimetypesRegistry-2.0.5" self."Products.PortalTransforms-2.1.2" self.setuptools ]; - installCommand = ''easy_install --always-unzip --no-deps --prefix="$out" .''; - meta = { - description = '' - Transformations applied to HTML in Plone text fields as they are rendered - ''; - homepage = "http://github.com/plone/plone.outputfilters"; - license = "GPL"; - }; - }; - - - "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 b8ddcee3a47..74e092d309a 100644 --- a/pkgs/top-level/python-packages.json +++ b/pkgs/top-level/python-packages.json @@ -82,7 +82,7 @@ } }, { "name": "Plone", - "extends": "http://dist.plone.org/release/4.3.2/versions.cfg", + "extends": "http://dist.plone.org/release/4.3.3/versions.cfg", "doCheck": false, "installCommand": "easy_install --always-unzip --no-deps --prefix=\"$out\" .", "override": { @@ -124,11 +124,11 @@ } }, { "name": "plone.recipe.zope2instance", - "extends": "http://dist.plone.org/release/4.3.2/versions.cfg", + "extends": "http://dist.plone.org/release/4.3.3/versions.cfg", "doCheck": false }, { "name": "RelStorage", - "extends": "http://dist.plone.org/release/4.3.2/versions.cfg", + "extends": "http://dist.plone.org/release/4.3.3/versions.cfg", "doCheck": false }, { "name": "psycopg2", diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0e45f9825c3..bb8e426fc45 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -100,7 +100,7 @@ rec { }; pycairo = import ../development/python-modules/pycairo { - inherit (pkgs) stdenv fetchurl pkgconfig cairo x11; + inherit (pkgs) stdenv fetchurl fetchpatch pkgconfig cairo x11; inherit python; }; @@ -205,13 +205,13 @@ rec { afew = buildPythonPackage rec { - rev = "d5d0ddeae0c5758a3f6cf5de77913804d88e906a"; + rev = "9744c18c4d6b0a3e7f57b01e5fe145a60fc82a47"; name = "afew-1.0_${rev}"; src = fetchurl { url = "https://github.com/teythoon/afew/tarball/${rev}"; name = "${name}.tar.bz"; - sha256 = "0al7hz994sh0yrpixqafr25acglvniq4zsbs9aj89zr7yzq1g1j0"; + sha256 = "1qyban022aji2hl91dh0j3xa6ikkxl5argc6w71yp2x8b02kp3mf"; }; buildInputs = [ pkgs.dbacl ]; @@ -298,6 +298,7 @@ rec { pythonPackages.waitress pythonPackages.webhelpers pythonPackages.zope_sqlalchemy + pythonPackages.psycopg2 ]; postInstall = '' @@ -312,13 +313,13 @@ rec { alot = buildPythonPackage rec { - rev = "fa10bfc2de105da819c8e11e913a44c3c1ac60a4"; + rev = "fa4ddf000dc2ac4933852b210901b649634a5f86"; name = "alot-0.3.5_${rev}"; src = fetchurl { url = "https://github.com/pazz/alot/tarball/${rev}"; name = "${name}.tar.bz"; - sha256 = "0zd4jiwxqb7m672xkr5jcqkfpk9jx1kmkllyvjjvswkgjjqdrhax"; + sha256 = "0h11lqyxg0xbkc9y1xqjvd0kmfm5pdwnmv9chmlsi1614dxn08n0"; }; # error: invalid command 'test' @@ -460,6 +461,15 @@ rec { }; }); + astroid = buildPythonPackage (rec { + name = "astroid-1.1.1"; + propagatedBuildInputs = [ logilab_common ]; + src = fetchurl { + url = "https://pypi.python.org/packages/source/a/astroid/${name}.tar.gz"; + sha256 = "1x7103mlzndgg66yas6xrfwkwpihcq4bi9m8py1fjnhz8p5ka1vq"; + }; + }); + autopep8 = buildPythonPackage (rec { name = "autopep8-1.0"; @@ -483,6 +493,36 @@ rec { }; }); + avro = buildPythonPackage (rec { + name = "avro-1.7.6"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/a/avro/${name}.tar.gz"; + md5 = "7f4893205e5ad69ac86f6b44efb7df72"; + }; + + meta = with stdenv.lib; { + description = "A serialization and RPC framework"; + homepage = "https://pypi.python.org/pypi/avro/"; + }; + }); + + avro3k = pkgs.lowPrio (buildPythonPackage (rec { + name = "avro3k-1.7.7-SNAPSHOT"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/a/avro3k/${name}.tar.gz"; + sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky"; + }; + + doCheck = false; # No such file or directory: './run_tests.py + + meta = with stdenv.lib; { + description = "A serialization and RPC framework"; + homepage = "https://pypi.python.org/pypi/avro3k/"; + }; + })); + backports_ssl_match_hostname_3_4_0_2 = pythonPackages.buildPythonPackage rec { name = "backports.ssl_match_hostname-3.4.0.2"; @@ -581,6 +621,34 @@ rec { }; + 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"; @@ -1142,6 +1210,15 @@ rec { }; + 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"; @@ -1171,16 +1248,16 @@ rec { 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; @@ -1312,6 +1389,7 @@ rec { ''; propagatedBuildInputs = [ py ] + ++ (optional isPy26 argparse) ++ stdenv.lib.optional pkgs.config.pythonPackages.pytest.selenium or false pythonPackages.selenium; @@ -1557,7 +1635,7 @@ rec { platforms = stdenv.lib.platforms.all; }; }; - + urllib3 = buildPythonPackage rec { name = "urllib3-1.8"; @@ -1565,11 +1643,11 @@ rec { 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 ''; @@ -1583,7 +1661,7 @@ rec { }; }; - + dropbox = buildPythonPackage rec { name = "dropbox-2.0.0"; @@ -1772,6 +1850,18 @@ rec { }; }; + gcutil = buildPythonPackage rec { + name = "gcutil-1.15.0"; + meta.maintainers = [ stdenv.lib.maintainers.phreedom ]; + + src = fetchurl { + url = https://dl.google.com/dl/cloudsdk/release/artifacts/gcutil-1.15.0.tar.gz; + sha256 = "12c98ivhjr01iz6lkga574xm8p0bsil6arydvpblyw8sjkgim5sq"; + }; + + propagatedBuildInputs = [ gflags iso8601_0_1_4 ipaddr httplib2 google_apputils google_api_python_client ]; + }; + gitdb = buildPythonPackage rec { name = "gitdb-0.5.4"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; @@ -1843,6 +1933,20 @@ rec { }; }; + itsdangerous = buildPythonPackage rec { + name = "itsdangerous-0.24"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/i/itsdangerous/${name}.tar.gz"; + sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb"; + }; + + meta = with stdenv.lib; { + description = "helpers to pass trusted data to untrusted environments and back"; + homepage = "https://pypi.python.org/pypi/itsdangerous/"; + }; + }; + # TODO: this shouldn't use a buildPythonPackage koji = buildPythonPackage (rec { name = "koji-1.8"; @@ -1952,11 +2056,11 @@ rec { pyramid = buildPythonPackage rec { - name = "pyramid-1.4.5"; + name = "pyramid-1.5"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz"; - md5 = "321731aad69e9788b7819e257a50be1a"; + md5 = "8747658dcbab709a9c491e43d3b0d58b"; }; buildInputs = [ @@ -1968,8 +2072,6 @@ rec { ] ++ optional isPy26 unittest2; propagatedBuildInputs = [ - chameleon - Mako paste_deploy repoze_lru repoze_sphinx_autointerface @@ -2100,11 +2202,15 @@ rec { md5 = "6dc917d262c69366630c542bd21859a3"; }; + # tests are failing in version 0.7 but are fixed in trunk + doCheck = false; + propagatedBuildInputs = [ transaction pyramid ]; meta = { maintainers = [ stdenv.lib.maintainers.garbas stdenv.lib.maintainers.iElectric + stdenv.lib.maintainers.matejc ]; platforms = stdenv.lib.platforms.all; }; @@ -2404,11 +2510,11 @@ rec { chameleon = buildPythonPackage rec { - name = "Chameleon-2.11"; + name = "Chameleon-2.15"; src = fetchurl { url = "http://pypi.python.org/packages/source/C/Chameleon/${name}.tar.gz"; - md5 = "df72458bf3dd26a744dcff5ad555c34b"; + md5 = "0214647152fcfcb9ce357624f8f9f203"; }; buildInputs = [] ++ optionals isPy26 [ ordereddict unittest2 ]; @@ -2505,11 +2611,11 @@ rec { django_1_6 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.6"; + version = "1.6.3"; src = fetchurl { url = "http://www.djangoproject.com/m/releases/1.6/${name}.tar.gz"; - sha256 = "165bd5wmv2an9h365d12k0112z0l375dxsy7dlxa7r8kyg4gvnfk"; + sha256 = "1wdqb2x0w0c10annbyz7rrrgrv9mpa9f8pz8006lf2csix33r7bd"; }; # error: invalid command 'test' @@ -2523,11 +2629,11 @@ rec { django_1_5 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.5.5"; + version = "1.5.6"; src = fetchurl { url = "http://www.djangoproject.com/m/releases/1.5/${name}.tar.gz"; - sha256 = "07fp8ycx76q2nz96mxld1svvpfsrivjgpql0mr20r7gwzcfrrrka"; + sha256 = "1bxzz71sfvh0zgdzv4x3wdr4ffzd5cfnvq7iq2g1i282sacwnzwv"; }; # error: invalid command 'test' @@ -2541,11 +2647,11 @@ rec { django_1_4 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.4.10"; + version = "1.4.11"; src = fetchurl { url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz"; - sha256 = "1pi9mi14f19xlp29j2c8dz8rs749c1m41d9j1i0b3nlz0cy0h7rx"; + sha256 = "00f2jlls3fhddrg7q4sjkwj6dmclh28n0vqm1m7kzcq5fjrxh6a8"; }; # error: invalid command 'test' @@ -2855,11 +2961,11 @@ rec { flask = buildPythonPackage { - name = "flask-0.9"; + name = "flask-0.10.1"; src = fetchurl { - url = "http://pypi.python.org/packages/source/F/Flask/Flask-0.9.tar.gz"; - md5 = "4a89ef2b3ab0f151f781182bd0cc8933"; + url = "http://pypi.python.org/packages/source/F/Flask/Flask-0.10.1.tar.gz"; + md5 = "378670fe456957eb3c27ddaef60b2b24"; }; propagatedBuildInputs = [ werkzeug jinja2 ]; @@ -3078,8 +3184,8 @@ rec { maintainers = [ maintainers.bjornfor ]; }; }; - - + + gevent-socketio = buildPythonPackage rec { name = "gevent-socketio-0.3.6"; @@ -3092,7 +3198,7 @@ rec { propagatedBuildInputs = [ gevent ]; }; - + gevent-websocket = buildPythonPackage rec { name = "gevent-websocket-0.9.3"; @@ -3123,11 +3229,11 @@ rec { gflags = buildPythonPackage rec { - name = "gflags-1.5.1"; + name = "gflags-2.0"; src = fetchurl { url = "http://python-gflags.googlecode.com/files/python-${name}.tar.gz"; - sha256 = "1p8blsc3z1wasi9dhbjij7m2czps17dll3cpj37v97fv5ww7al9v"; + sha256 = "1mkc7315bpmh39vbn0jq237jpw34zsrjr1sck98xi36bg8hnc41i"; }; meta = { @@ -3226,6 +3332,22 @@ rec { }; }; + google_apputils = buildPythonPackage rec { + name = "google-apputils-0.4.0"; + + src = fetchurl { + url = http://pypi.python.org/packages/source/g/google-apputils/google-apputils-0.4.0.tar.gz; + sha256 = "18wlivnqxvx1wsw177lckpl32nmr6cq7f5nhk8r72fvjy8wynq5j"; + }; + + propagatedBuildInputs = [ pytz gflags dateutil_1_5 mox ]; + + meta = with stdenv.lib; { + description = "Google Application Utilities for Python"; + homepage = http://code.google.com/p/google-apputils-python; + }; + }; + greenlet = buildPythonPackage rec { name = "greenlet-0.3.1"; @@ -3270,7 +3392,7 @@ rec { url = "http://pypi.python.org/packages/source/g/gunicorn/${name}.tar.gz"; md5 = "c7138b9ac7515a42066922d2b6120fbe"; }; - + buildInputs = [ pytest ]; meta = { @@ -3375,11 +3497,11 @@ rec { }); httplib2 = buildPythonPackage rec { - name = "httplib2-0.8"; + name = "httplib2-0.9"; src = fetchurl { - url = "http://httplib2.googlecode.com/files/${name}.tar.gz"; - sha256 = "0gww8axb4j1vysbk9kfsk5vrws9a403gh30dxchmga8hrg1rns5g"; + url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz"; + sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir"; }; meta = { @@ -3435,15 +3557,12 @@ rec { ipaddr = buildPythonPackage { - name = "ipaddr-2.1.7"; + name = "ipaddr-2.1.10"; src = fetchurl { - url = "http://ipaddr-py.googlecode.com/files/ipaddr-2.1.7.tar.gz"; - md5 = "71a2be9f1d528d9a945ef555de312685"; + url = "http://ipaddr-py.googlecode.com/files/ipaddr-2.1.10.tar.gz"; + sha256 = "18ycwkfk3ypb1yd09wg20r7j7zq2a73d7j6j10qpgra7a7abzhyj"; }; - # error: invalid command 'test' - doCheck = false; - meta = { description = "Google's IP address manipulation library"; homepage = http://code.google.com/p/ipaddr-py/; @@ -3469,13 +3588,26 @@ rec { propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipythonLight ]; }; + iso8601_0_1_4 = buildPythonPackage { + name = "iso8601-0.1.4"; + src = fetchurl { + url = https://pypi.python.org/packages/source/i/iso8601/iso8601-0.1.4.tar.gz; + sha256 = "03gnjxpfq0wwimqnsvz32xcngq0hrdqryn3zm8qh95hnnggwqa3s"; + }; + + meta = { + homepage = https://bitbucket.org/micktwomey/pyiso8601/; + description = "Simple module to parse ISO 8601 dates"; + maintainers = [ stdenv.lib.maintainers.phreedom ]; + }; + }; jedi = buildPythonPackage (rec { - name = "jedi-0.7.0"; + name = "jedi-0.8.0-final0"; src = fetchurl { url = "http://pypi.python.org/packages/source/j/jedi/${name}.tar.gz"; - sha256 = "1afs06k1j6raasdps1fvdqywyk3if1qchdpl4mivnliqzxqd1w01"; + sha256 = "0jnhwh0b1hy5cssi3n5a4j7z9pgpcckyv5s52ba4jnq5bwgdpbcf"; }; meta = { @@ -3577,16 +3709,17 @@ rec { libcloud = buildPythonPackage (rec { - name = "libcloud-0.3.1"; + name = "libcloud-0.14.1"; src = fetchurl { - url = mirror://apache/incubator/libcloud/apache-libcloud-incubating-0.3.1.tar.bz2; - sha256 = "11qilrs4sd4c1mkd64ikrjsc2vwrshhc54n5mh4xrark9c7ayp0y"; + url = https://pypi.python.org/packages/source/a/apache-libcloud/apache-libcloud-0.14.1.tar.bz2; + sha256 = "1l6190pjv54c7y8pzr089ij727qv7bqhhaznr2mkvimgr1wzsql5"; }; - buildInputs = [ zope_interface mock ]; + buildInputs = [ mock ]; - preConfigure = "cp test/secrets.py-dist test/secrets.py"; + propagatedBuildInputs = [ pycrypto ]; + preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py"; # failing tests for 26 and 27 doCheck = false; @@ -3832,7 +3965,8 @@ rec { (if stdenv.isDarwin then [ pkgs.clangStdenv ] else [ pkgs.stdenv ]); propagatedBuildInputs = - [ dateutil nose numpy pyparsing tornado pkgs.freetype pkgs.libpng pkgs.pkgconfig ]; + [ dateutil nose numpy pyparsing tornado pkgs.freetype pkgs.libpng pkgs.pkgconfig + pygtk ]; meta = with stdenv.lib; { description = "python plotting library, making publication quality plots"; @@ -3982,6 +4116,23 @@ rec { }; }); + moinmoin = let ver="1.9.7"; in buildPythonPackage (rec { + name = "moinmoin-${ver}"; + + src = fetchurl { + url = "http://static.moinmo.in/files/moin-${ver}.tar.gz"; + sha256 = "f4ba1b5c956bd96d2a61e27e68d297aa63d1afbc80d5740e139dcdf0affb4db5"; + }; + + meta = { + description = "Advanced, easy to use and extensible WikiEngine"; + + homepage = http://moinmo.in/; + + license = "GPLv2+"; + }; + }); + mox = buildPythonPackage rec { name = "mox-0.5.3"; @@ -4486,6 +4637,30 @@ rec { }; }; + livestreamer = if isPy34 then null else (buildPythonPackage rec { + version = "1.8.2"; + name = "livestreamer-${version}"; + + src = fetchurl { + url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz"; + sha256 = "130h97qdb7qx8xg0gz54p5a6cb2zbffi5hsi305xf0ah9nf4rbrc"; + }; + + buildInputs = [ pkgs.makeWrapper ]; + propagatedBuildInputs = [ requests pkgs.rtmpdump pycrypto ]; + postInstall = '' + wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin + ''; + + meta = { + homepage = http://livestreamer.tanuki.se; + description = '' + Livestreamer is CLI program that extracts streams from various + services and pipes them into a video player of choice. + ''; + license = "bsd"; + }; + }); oauth2 = buildPythonPackage (rec { name = "oauth2-1.5.211"; @@ -4746,27 +4921,13 @@ rec { pep8 = buildPythonPackage rec { name = "pep8-${version}"; - version = "1.4.6"; + version = "1.5.7"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz"; - md5 = "a03bb494859e87b42601b61b1b043a0c"; + md5 = "f6adbdd69365ecca20513c709f9b7c93"; }; - #====================================================================== - #FAIL: test_check_simple (testsuite.test_shell.ShellTestCase) - #---------------------------------------------------------------------- - #Traceback (most recent call last): - # File "/tmp/nix-build-python-pep8-1.4.5.drv-0/pep8-1.4.5/testsuite/test_shell.py", line 84, in test_check_simple - # self.assertTrue(config_filename.endswith('tox.ini')) - #AssertionError: False is not true - # - #---------------------------------------------------------------------- - #Ran 21 tests in 0.711s - # - #FAILED (failures=1) - doCheck = false; - meta = { homepage = "http://pep8.readthedocs.org/"; description = "Python style guide checker"; @@ -5069,12 +5230,9 @@ rec { meta = { description = "ASN.1 tools for Python"; - homepage = http://pyasn1.sourceforge.net/; - license = "mBSD"; - - platforms = stdenv.lib.platforms.gnu; # arbitrary choice + platforms = stdenv.lib.platforms.unix; # arbitrary choice }; }); @@ -5177,6 +5335,29 @@ rec { }; }; + pycapnp = buildPythonPackage rec { + name = "pycapnp-0.4.4"; + homepage = "http://jparyani.github.io/pycapnp/index.html"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/pycapnp/${name}.tar.gz"; + sha256 = "33b2b79438bb9bf37097966e1c90403c34ab49be1eb647ee251b62f362ee3537"; + }; + + buildInputs = with pkgs; [ capnproto cython ]; + + # import setuptools as soon as possible, to minimize monkeypatching mayhem. + postConfigure = '' + sed -i '2iimport setuptools' setup.py + ''; + + meta = with stdenv.lib; { + maintainers = with maintainers; [ cstrahan ]; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.all; + }; + }; + pycryptopp = buildPythonPackage (rec { name = "pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958"; @@ -5285,11 +5466,11 @@ rec { }; pyflakes = buildPythonPackage rec { - name = "pyflakes-0.7.3"; + name = "pyflakes-0.8.1"; src = fetchurl { url = "http://pypi.python.org/packages/source/p/pyflakes/${name}.tar.gz"; - md5 = "ec94ac11cb110e6e72cca23c104b66b1"; + md5 = "905fe91ad14b912807e8fdc2ac2e2c23"; }; buildInputs = [ unittest2 ]; @@ -5326,11 +5507,11 @@ rec { }; pygments = buildPythonPackage rec { - name = "Pygments-1.5"; + name = "Pygments-1.6"; src = fetchurl { url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz"; - md5 = "ef997066cc9ee7a47d01fb4f3da0b5ff"; + md5 = "a18feedf6ffd0b0cc8c8b0fbdb2027b1"; }; meta = { @@ -5676,7 +5857,6 @@ rec { }; }; - pyopengl = let version = "3.0.2"; in @@ -5725,6 +5905,23 @@ rec { propagatedBuildInputs = [ cssselect lxml ]; }; + pyrax = buildPythonPackage rec { + name = "pyrax-1.7.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pyrax/${name}.tar.gz"; + sha256 = "1br2kspw0sn7xgkk7z93h72s2v3qm88jvi4213zgz90jhzjj42bv"; + }; + + meta = { + homepage = "https://github.com/rackspace/pyrax"; + license = "MIT"; + description = "Python API to interface with Rackspace"; + }; + + doCheck = false; + }; + pyreport = buildPythonPackage (rec { name = "pyreport-0.3.4c"; @@ -5935,7 +6132,7 @@ rec { }; buildInputs = with pkgs; [ - pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkit_gtk2 icu + pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkitgtk2 icu ]; meta = { @@ -6035,8 +6232,8 @@ rec { homepage = http://docs.python-requests.org/en/latest/; }; }; - - + + requests2 = buildPythonPackage rec { name = "requests-2.2.1"; @@ -6100,6 +6297,23 @@ rec { }; }; + redis = buildPythonPackage rec { + name = "redis-2.9.1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/r/redis/${name}.tar.gz"; + sha256 = "1r7lrh4kxccyhr4pyp13ilymmvh22pi7aa9514dmnhi74zn4g5xg"; + }; + + doCheck = false; + + meta = { + description = "Python client for Redis key-value store"; + homepage = "https://pypi.python.org/pypi/redis/"; + }; + }; + + requests_oauth2 = buildPythonPackage rec { name = "requests-oauth2-0.1.1"; @@ -6578,6 +6792,34 @@ rec { }; }; + shapely = buildPythonPackage rec { + name = "Shapely-1.3.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/S/Shapely/${name}.tar.gz"; + sha256 = "099sc7ajpp6hbgrx3c0bl6hhkz1mhnr0ahvc7s4i3f3b7q1zfn7l"; + }; + + buildInputs = [ pkgs.geos ]; + + preConfigure = '' + export LANG="en_US.UTF-8"; + '' + stdenv.lib.optionalString stdenv.isLinux '' + export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive"; + ''; + + patchPhase = '' + sed -i "s|_lgeos = load_dll('geos_c', fallbacks=.*)|_lgeos = load_dll('geos_c', fallbacks=['${pkgs.geos}/lib/libgeos_c.so'])|" shapely/geos.py + ''; + + doCheck = false; # won't suceed for unknown reasons that look harmless, though + + meta = with stdenv.lib; { + description = "Geometric objects, predicates, and operations"; + homepage = "https://pypi.python.org/pypi/Shapely/"; + }; + }; + pydns = buildPythonPackage rec { name = "pydns-2.3.6"; @@ -6842,11 +7084,11 @@ rec { }; subprocess32 = buildPythonPackage rec { - name = "subprocess32-3.2.5rc1"; + name = "subprocess32-3.2.6"; src = fetchurl { url = "https://pypi.python.org/packages/source/s/subprocess32/${name}.tar.gz"; - md5 = "f5f46106368be6336b54af95d048fea9"; + md5 = "754c5ab9f533e764f931136974b618f1"; }; doCheck = false; @@ -6937,7 +7179,7 @@ rec { md5 = "ecf0738eaf1229bae27ad2be0f9978a8"; }; }); - + sqlalchemy9 = buildPythonPackage rec { name = "SQLAlchemy-0.9.3"; @@ -6951,7 +7193,7 @@ rec { propagatedBuildInputs = [ modules.sqlite3 ]; checkPhase = '' - ${python.executable} sqla_nose.py + ${python.executable} sqla_nose.py ''; meta = { @@ -7323,11 +7565,11 @@ rec { turses = buildPythonPackage (rec { - name = "turses-0.2.19"; + name = "turses-0.2.22"; src = fetchurl { url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz"; - sha256 = "1g58ahxpaf0wqn6gg5a2n3fkvc3vbx6jpylwqncxnl16qcczmjxn"; + sha256 = "1dqgvdqly4c4d6819mbkqy4g8r7zch4dkmxicfwck7q8h96wmyx3"; }; propagatedBuildInputs = [ oauth2 urwid tweepy ] ++ optional isPy26 argparse; @@ -7346,11 +7588,11 @@ rec { }); tweepy = buildPythonPackage (rec { - name = "tweepy-2.1"; + name = "tweepy-2.3.0"; src = fetchurl { url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz"; - sha256 = "1irzwfva7g1k7db708mlxy2qribd6938zwn5xzjzn6i43j5mjysm"; + sha256 = "0wcj5g21brcqr1g7m4by4rs72lfiib4scg19qynn2wz1x77jyrzp"; }; meta = { @@ -7445,14 +7687,14 @@ rec { urwid = buildPythonPackage (rec { - name = "urwid-1.1.1"; + name = "urwid-1.2.1"; # multiple: NameError: name 'evl' is not defined doCheck = false; src = fetchurl { - url = "http://excess.org/urwid/${name}.tar.gz"; - md5 = "eca2e0413cf7216b01c84b99e0f2576d"; + url = "https://pypi.python.org/packages/source/u/urwid/${name}.tar.gz"; + md5 = "6a05ada11b87e7b026b01fc5150855b0"; }; meta = { @@ -7642,13 +7884,17 @@ rec { werkzeug = buildPythonPackage { - name = "werkzeug-0.8.3"; + name = "werkzeug-0.9.4"; src = fetchurl { - url = "http://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.8.3.tar.gz"; - md5 = "12aa03e302ce49da98703938f257347a"; + url = "http://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.9.4.tar.gz"; + md5 = "670fad41f57c13b71a6816765765a3dd"; }; + propagatedBuildInputs = [ itsdangerous ]; + + doCheck = false; # tests fail, not sure why + meta = { homepage = http://werkzeug.pocoo.org/; description = "A WSGI utility library for Python"; @@ -8582,6 +8828,51 @@ rec { }; }; + + pyusb = buildPythonPackage rec { + name = "pyusb-1.0.0b1"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/p/pyusb/${name}.tar.gz"; + md5 = "5cc9c7dd77b4d12fcc22fee3b39844bc"; + }; + + # Fix the USB backend library lookup + postPatch = '' + libusb=${pkgs.libusb1}/lib/libusb-1.0.so + test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; } + sed -i -e "s|libname = .*|libname = \"$libusb\"|" usb/backend/libusb1.py + ''; + + meta = with stdenv.lib; { + description = "Python USB access module (wraps libusb 1.0)"; # can use other backends + homepage = http://pyusb.sourceforge.net/; + license = "BSD"; + maintainers = [ maintainers.bjornfor ]; + }; + }; + + + usbtmc = buildPythonPackage rec { + name = "usbtmc-${version}"; + version = "0.5"; + + src = fetchurl { + url = "https://github.com/python-ivi/python-usbtmc/archive/v${version}.tar.gz"; + sha256 = "0xn8whjcdn8wgs9j1gj7sw7fh425akdmq3hi448m36fywldbhryg"; + }; + + propagatedBuildInputs = [ pyusb ]; + + meta = { + description = "Python implementation of the USBTMC instrument control protocol"; + homepage = http://alexforencich.com/wiki/en/python-usbtmc/start; + license = licenses.mit; + maintainers = [ maintainers.bjornfor ]; + }; + }; + + txamqp = buildPythonPackage rec { name = "txamqp-${version}"; version = "0.3"; @@ -8599,7 +8890,7 @@ rec { maintainers = [ stdenv.lib.maintainers.rickynils ]; }; }; - + versiontools = buildPythonPackage rec { name = "versiontools-1.9.1"; @@ -8628,7 +8919,7 @@ rec { preConfigure = '' substituteInPlace webapp/graphite/thirdparty/pytz/__init__.py --replace '/usr/share/zoneinfo' '/etc/zoneinfo' - substituteInPlace webapp/graphite/settings.py --replace "join(WEBAPP_DIR, 'content')" "join(WEBAPP_DIR, 'webapp', 'content')" + substituteInPlace webapp/graphite/settings.py --replace "join(WEBAPP_DIR, 'content')" "join('$out', 'webapp', 'content')" cp webapp/graphite/manage.py bin/manage-graphite.py substituteInPlace bin/manage-graphite.py --replace 'settings' 'graphite.settings' ''; @@ -8792,11 +9083,11 @@ rec { libvirt = pkgs.stdenv.mkDerivation rec { name = "libvirt-python-${version}"; - version = "1.2.2"; + version = "1.2.4"; src = fetchurl { url = "http://libvirt.org/sources/python/${name}.tar.gz"; - sha256 = "0fccpyppz79kbbnzwdgsiza3cxq7jlnnp1dqi33gc4305dk9vmwl"; + sha256 = "0zi1mxjcv9dz5hy54lwgk9j4i8r20hhijbxxn843h2w7p1ch1wx2"; }; buildInputs = [ python pkgs.pkgconfig pkgs.libvirt lxml ]; @@ -8900,6 +9191,26 @@ rec { }; }; + udiskie = buildPythonPackage rec { + name = "udiskie-0.8.0"; + + src = fetchurl { + url = "https://github.com/coldfix/udiskie/archive/0.8.0.tar.gz"; + sha256 = "0yzrnl7bq0dkcd3wh55kbf41c4dbh7dky0mqx0drvnpxlrvzhvp2"; + }; + + propagatedBuildInputs = with pythonPackages; [ pygtk pyyaml dbus notify pkgs.udisks2 ]; + + # tests require dbusmock + doCheck = false; + + meta = with stdenv.lib; { + description = "Removable disk automounter for udisks."; + license = licenses.mit; + homepage = https://github.com/coldfix/udiskie; + }; + }; + # python2.7 specific packages } // optionalAttrs isPy27 ( with pythonPackages; diff --git a/pkgs/top-level/r-packages.nix b/pkgs/top-level/r-packages.nix deleted file mode 100644 index f3759c14baa..00000000000 --- a/pkgs/top-level/r-packages.nix +++ /dev/null @@ -1,244 +0,0 @@ -/* This file defines the composition for CRAN (R) packages. */ - -{pkgs, overrides}: - -let self = _self // overrides; _self = with self; { - - inherit (pkgs) buildRPackage fetchurl stdenv R; - - inherit (stdenv.lib) maintainers; - - abind = buildRPackage rec { - name = "abind-1.4-0"; - src = fetchurl { - url = "mirror://cran/src/contrib/abind_1.4-0.tar.gz"; - sha256 = "1b9634bf6ad68022338d71a23a689f1af4afd9d6c12c0b982b88fc21363ff568"; - }; - }; - - chron = buildRPackage rec { - name = "chron-2.3-44"; - src = fetchurl { - url = "mirror://cran/src/contrib/chron_2.3-44.tar.gz"; - sha256 = "ba7d46223e615b4d09145a364a4c37ccff718384486ca154a6e025cf3ed91148"; - }; - }; - - colorspace = buildRPackage rec { - name = "colorspace-1.2-2"; - src = fetchurl { - url = "mirror://cran/src/contrib/colorspace_1.2-2.tar.gz"; - sha256 = "7f6ca98e5d005bc7d6e37b03577d65995809150d1d293ce68b6720e7a6b2054d"; - }; - }; - - DBI = buildRPackage rec { - name = "DBI-0.2-7"; - src = fetchurl { - url = "mirror://cran/src/contrib/DBI_0.2-7.tar.gz"; - sha256 = "e90a988740f99060d5c4aacb1f2b148b0eb81c5b468bafeadf3aaeccf563b5e3"; - }; - }; - - dichromat = buildRPackage rec { - name = "dichromat-2.0-0"; - src = fetchurl { - url = "mirror://cran/src/contrib/dichromat_2.0-0.tar.gz"; - sha256 = "31151eaf36f70bdc1172da5ff5088ee51cc0a3db4ead59c7c38c25316d580dd1"; - }; - }; - - digest = buildRPackage rec { - name = "digest-0.6.3"; - src = fetchurl { - url = "mirror://cran/src/contrib/digest_0.6.3.tar.gz"; - sha256 = "5be8f1386c0c273fcc915df7b557393c5f3de43c44fd16614db9cc5ba6d1d57c"; - }; - }; - - ggplot2 = buildRPackage rec { - name = "ggplot2-0.9.3.1"; - src = fetchurl { - url = "mirror://cran/src/contrib/ggplot2_0.9.3.1.tar.gz"; - sha256 = "b4c97404fd44571f9980712af963949ed204b5d4e639d97df9ba9a17423a6601"; - }; - propagatedBuildInputs = [ digest plyr gtable reshape2 scales proto ]; - }; - - gtable = buildRPackage rec { - name = "gtable-0.1.2"; - src = fetchurl { - url = "mirror://cran/src/contrib/gtable_0.1.2.tar.gz"; - sha256 = "b08ba8e62e0ce05e7a4c07ba3ffa67719161db62438b04f14343f8928d74304d"; - }; - }; - - gtools = buildRPackage rec { - name = "gtools-3.0.0"; - src = fetchurl { - url = "mirror://cran/src/contrib/gtools_3.0.0.tar.gz"; - sha256 = "e35f08ac9df875b57dcf23028baa226372d7482d7814a011f9b1fdd0697ee73c"; - }; - }; - - gsubfn = buildRPackage rec { - name = "gsubfn-0.6-5"; - src = fetchurl { - url = "mirror://cran/src/contrib/gsubfn_0.6-5.tar.gz"; - sha256 = "9a7b51ae6aabd1c99e8633d3dc75232d8c4a175df750c7d1c359bd0f5fc197be"; - }; - propagatedBuildInputs = [ proto ]; - }; - - labeling = buildRPackage rec { - name = "labeling-0.2"; - src = fetchurl { - url = "mirror://cran/src/contrib/labeling_0.2.tar.gz"; - sha256 = "8aaa7f8b91923088da4e47ae42620fadcff7f2bc566064c63d138e2145e38aa4"; - }; - }; - - lars = buildRPackage rec { - name = "lars-1.2"; - src = fetchurl { - url = "mirror://cran/src/contrib/lars_1.2.tar.gz"; - sha256 = "64745b568f20b2cfdae3dad02fba92ebf78ffee466a71aaaafd4f48c3921922e"; - }; - }; - - LiblineaR = buildRPackage rec { - name = "LiblineaR-1.80-7"; - src = fetchurl { - url = "mirror://cran/src/contrib/LiblineaR_1.80-7.tar.gz"; - sha256 = "9ba0280c5165bf0bbd46cb5ec7c66fdece38fc3f73fce2ec800763923ae8e4bd"; - }; - }; - - linprog = buildRPackage rec { - name = "linprog-0.9-2"; - src = fetchurl { - url = "mirror://cran/src/contrib/linprog_0.9-2.tar.gz"; - sha256 = "8937b2e30692e38de1713f1513b78f505f73da6f5b4a576d151ad60bac2221ce"; - }; - propagatedBuildInputs = [ lpSolve ]; - }; - - lpSolve = buildRPackage rec { - name = "lpSolve-5.6.7"; - src = fetchurl { - url = "mirror://cran/src/contrib/lpSolve_5.6.7.tar.gz"; - sha256 = "16def9237f38c4d7a59651173fd87df3cd3c563f640c6952e13bdd2a084737ef"; - }; - }; - - munsell = buildRPackage rec { - name = "munsell-0.4.2"; - src = fetchurl { - url = "mirror://cran/src/contrib/munsell_0.4.2.tar.gz"; - sha256 = "84e787f58f626c52a1e3fc1201f724835dfa8023358bfed742e7001441f425ae"; - }; - propagatedBuildInputs = [ colorspace ]; - }; - - pamr = buildRPackage rec { - name = "pamr-1.54.1"; - src = fetchurl { - url = "mirror://cran/src/contrib/pamr_1.54.1.tar.gz"; - sha256 = "139dbc39b4eccd6a55b6a3c42a1c8be61dcce0613535a634c3e42731fc315516"; - }; - }; - - penalized = buildRPackage rec { - name = "penalized-0.9-42"; - src = fetchurl { - url = "mirror://cran/src/contrib/penalized_0.9-42.tar.gz"; - sha256 = "98e8e39b02ecbabaa7050211e34941c73e1e687f39250cf3cbacb7c5dcbb1e98"; - }; - }; - - plyr = buildRPackage rec { - name = "plyr-1.8"; - src = fetchurl { - url = "mirror://cran/src/contrib/plyr_1.8.tar.gz"; - sha256 = "0bd6861af241e6c5ce777ef3f1b0eb72b31cc026669a68f6250b8ecfadf71a66"; - }; - }; - - proto = buildRPackage rec { - name = "proto-0.3-10"; - src = fetchurl { - url = "mirror://cran/src/contrib/proto_0.3-10.tar.gz"; - sha256 = "d0d941bfbf247879b3510c8ef3e35853b1fbe83ff3ce952e93d3f8244afcbb0e"; - }; - }; - - randomForest = buildRPackage rec { - name = "randomForest-4.6-7"; - src = fetchurl { - url = "mirror://cran/src/contrib/randomForest_4.6-7.tar.gz"; - sha256 = "8206e88b242c07efc10f148d17dfcc265a31361e1bcf44bfe17aed95c357be0b"; - }; - propagatedBuildInputs = [ plyr stringr ]; - }; - - reshape2 = buildRPackage rec { - name = "reshape2-1.2.2"; - src = fetchurl { - url = "mirror://cran/src/contrib/reshape2_1.2.2.tar.gz"; - sha256 = "9131025b8f684e1629ab3e2748d4cf2b907b7c89cfbff667c925bc0fb5dfc103"; - }; - propagatedBuildInputs = [ plyr stringr ]; - }; - - RColorBrewer = buildRPackage rec { - name = "RColorBrewer-1.0-5"; - src = fetchurl { - url = "mirror://cran/src/contrib/RColorBrewer_1.0-5.tar.gz"; - sha256 = "5ac1c44c1a53f9521134e7ed7c148c72e49271cbd229c5263d2d7fd91c8b8e78"; - }; - }; - - RSQLite = buildRPackage rec { - name = "RSQlite-0.11.4"; - src = fetchurl { - url = "mirror://cran/src/contrib/RSQLite_0.11.4.tar.gz"; - sha256 = "bba0cbf2a1a3120d667a731da1ca5b9bd4db23b813e1abf6f51fb01540c2000c"; - }; - propagatedBuildInputs = [ DBI ]; - }; - - RSQLiteExtfuns = buildRPackage rec { - name = "RSQlite.extfuns-0.0.1"; - src = fetchurl { - url = "mirror://cran/src/contrib/RSQLite.extfuns_0.0.1.tar.gz"; - sha256 = "ca5c7947c041e17ba83bed3f5866f7eeb9b7f361e5c050c9b58eec5670f03d0e"; - }; - propagatedBuildInputs = [ RSQLite ]; - }; - - scales = buildRPackage rec { - name = "scales-0.2.3"; - src = fetchurl { - url = "mirror://cran/src/contrib/scales_0.2.3.tar.gz"; - sha256 = "46aef8eb261abc39f87b71184e5484bc8c2c94e01d3714ce4b2fd60727bc40d9"; - }; - propagatedBuildInputs = [ RColorBrewer stringr dichromat munsell plyr labeling ]; - }; - - stringr = buildRPackage rec { - name = "stringr-0.6.2"; - src = fetchurl { - url = "mirror://cran/src/contrib/stringr_0.6.2.tar.gz"; - sha256 = "c3fc9c71d060ad592d2cfc51c36ab2f8e5f8cf9a25dfe42c637447dd416b6737"; - }; - }; - - sqldf = buildRPackage rec { - name = "sqldf-0.4-6.4"; - src = fetchurl { - url = "mirror://cran/src/contrib/sqldf_0.4-6.4.tar.gz"; - sha256 = "6c51e4e48b93310f765c661a1756fe068629da775248d38a98c38f5b6f7511c4"; - }; - propagatedBuildInputs = [ DBI gsubfn proto chron RSQLite RSQLiteExtfuns ]; - }; -}; in self diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 6871567ca8d..cef3d2dffbd 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -140,11 +140,11 @@ in { crossUltraSparcLinux = mapTestOnCross crossSystem basic; }) // ( -/* Test some cross builds on mingw32 */ +/* Test some cross builds on 32 bit mingw-w64 */ let crossSystem = { - config = "i686-pc-mingw32"; - arch = "x86"; + config = "i686-w64-mingw32"; + arch = "x86"; # Irrelevant libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain platform = {}; }; @@ -161,11 +161,10 @@ in { }; }) // ( -/* Test some cross builds on mingw-w64 */ +/* Test some cross builds on 64 bit mingw-w64 */ let crossSystem = { - # That's the triplet they use in the mingw-w64 docs, - # and it's relevant for nixpkgs conditions. + # That's the triplet they use in the mingw-w64 docs. config = "x86_64-w64-mingw32"; arch = "x86_64"; # Irrelevant libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix index 8eb08d25983..074f7ea4f7b 100644 --- a/pkgs/top-level/release-python.nix +++ b/pkgs/top-level/release-python.nix @@ -1190,7 +1190,6 @@ let networkmanager = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; networkmanagerapplet = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; networkmanager_pptp = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; - networkmanager_pptp_gnome = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; neverball = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; nfsUtils = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; ngspice = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; @@ -1724,7 +1723,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.nix b/pkgs/top-level/release.nix index cb22983e6c3..ce01b257741 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -311,7 +311,6 @@ let vice = linux; vim = linux; vimHugeX = linux; - VisualBoyAdvance = linux; vncrec = linux; vorbisTools = linux; vpnc = linux; @@ -333,7 +332,6 @@ let xineUI = linux; xkeyboard_config = linux; xlockmore = linux; - xmltv = linux; xpdf = linux; xscreensaver = linux; xsel = linux; @@ -423,7 +421,10 @@ let xf86videointel = linux; xf86videonv = linux; xf86videovesa = linux; + xf86videovmware = linux; + xf86videomodesetting = linux; xfs = linux; + xinput = linux; xkbcomp = linux; xlsclients = linux; xmessage = linux;