diff --git a/README.md b/README.md index 055a219462ed..887ebd1c7a2f 100644 --- a/README.md +++ b/README.md @@ -33,10 +33,8 @@ For pull-requests, please rebase onto nixpkgs `master`. * [Manual (NixOS)](https://nixos.org/nixos/manual/) * [Nix Wiki](https://nixos.org/wiki/) * [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined) -* [Continuous package builds for 14.12 release](https://hydra.nixos.org/jobset/nixos/release-14.12) * [Continuous package builds for 15.09 release](https://hydra.nixos.org/jobset/nixos/release-15.09) * [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents) -* [Tests for 14.12 release](https://hydra.nixos.org/job/nixos/release-14.12/tested#tabs-constituents) * [Tests for 15.09 release](https://hydra.nixos.org/job/nixos/release-15.09/tested#tabs-constituents) Communication: diff --git a/doc/language-support.xml b/doc/language-support.xml index 48b9209b0ad0..0a0e24e9abfd 100644 --- a/doc/language-support.xml +++ b/doc/language-support.xml @@ -741,7 +741,7 @@ the following arguments are of special significance to the function: In this example only code.google.com/p/go.net/ipv4 and - code.google.com/p/go.net/ipv4 will be built. + code.google.com/p/go.net/ipv6 will be built. @@ -764,7 +764,7 @@ the following arguments are of special significance to the function: propagatedBuildInputs is where the dependencies of a Go library are listed. Only libraries should list propagatedBuildInputs. If a standalone - program is being build instead, use buildInputs. If a library's tests require + program is being built instead, use buildInputs. If a library's tests require additional dependencies that are not propagated, they should be listed in buildInputs. diff --git a/lib/default.nix b/lib/default.nix index cd0d8161c8cb..32ac0c58af6c 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -17,10 +17,11 @@ let systems = import ./systems.nix; customisation = import ./customisation.nix; licenses = import ./licenses.nix; + sandbox = import ./sandbox.nix; in { inherit trivial lists strings stringsWithDeps attrsets sources options - modules types meta debug maintainers licenses platforms systems; + modules types meta debug maintainers licenses platforms systems sandbox; } # !!! don't include everything at top-level; perhaps only the most # commonly used functions. diff --git a/lib/deprecated.nix b/lib/deprecated.nix index 3646f9e032a1..3729197f48bc 100644 --- a/lib/deprecated.nix +++ b/lib/deprecated.nix @@ -411,7 +411,7 @@ rec { nixType = x: if isAttrs x then if x ? outPath then "derivation" - else "aattrs" + else "attrs" else if isFunction x then "function" else if isList x then "list" else if x == true then "bool" diff --git a/lib/licenses.nix b/lib/licenses.nix index 107296089d0a..ebd7d56d7618 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -402,6 +402,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "TCL/TK License"; }; + ufl = { + fullName = "Ubuntu Font License 1.0"; + url = http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt; + }; + unfree = { fullName = "Unfree"; free = false; diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 14a7de594aa2..e76de34ba60e 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -103,6 +103,7 @@ flosse = "Markus Kohlhase "; fluffynukeit = "Daniel Austin "; forkk = "Andrew Okin "; + fornever = "Friedrich von Never "; fpletz = "Franz Pletz "; fps = "Florian Paul Schmidt "; fridh = "Frederik Rietdijk "; @@ -228,6 +229,7 @@ pjones = "Peter Jones "; pkmx = "Chih-Mao Chen "; plcplc = "Philip Lykke Carlsen "; + Phlogistique = "Noé Rubinstein "; pmahoney = "Patrick Mahoney "; pmiddend = "Philipp Middendorf "; prikhi = "Pavan Rikhi "; @@ -253,6 +255,7 @@ romildo = "José Romildo Malaquias "; rszibele = "Richard Szibele "; rushmorem = "Rushmore Mushambi "; + rvl = "Rodney Lorrimar "; rycee = "Robert Helgesson "; samuelrivas = "Samuel Rivas "; sander = "Sander van der Burg "; diff --git a/lib/sandbox.nix b/lib/sandbox.nix new file mode 100644 index 000000000000..414bf36f779f --- /dev/null +++ b/lib/sandbox.nix @@ -0,0 +1,47 @@ +with import ./strings.nix; + +/* Helpers for creating lisp S-exprs for the Apple sandbox + +lib.sandbox.allowFileRead [ "/usr/bin/file" ]; + # => "(allow file-read* (literal \"/usr/bin/file\"))"; + +lib.sandbox.allowFileRead { + literal = [ "/usr/bin/file" ]; + subpath = [ "/usr/lib/system" ]; +} + # => "(allow file-read* (literal \"/usr/bin/file\") (subpath \"/usr/lib/system\"))" +*/ + +let + +sexp = tokens: "(" + builtins.concatStringsSep " " tokens + ")"; +generateFileList = files: + if builtins.isList files + then concatMapStringsSep " " (x: sexp [ "literal" ''"${x}"'' ]) files + else if builtins.isString files + then generateFileList [ files ] + else concatStringsSep " " ( + (map (x: sexp [ "literal" ''"${x}"'' ]) (files.literal or [])) ++ + (map (x: sexp [ "subpath" ''"${x}"'' ]) (files.subpath or [])) + ); +applyToFiles = f: act: files: f "${act} ${generateFileList files}"; +genActions = actionName: let + action = feature: sexp [ actionName feature ]; + self = { + "${actionName}" = action; + "${actionName}File" = applyToFiles action "file*"; + "${actionName}FileRead" = applyToFiles action "file-read*"; + "${actionName}FileReadMetadata" = applyToFiles action "file-read-metadata"; + "${actionName}DirectoryList" = self."${actionName}FileReadMetadata"; + "${actionName}FileWrite" = applyToFiles action "file-write*"; + "${actionName}FileWriteMetadata" = applyToFiles action "file-write-metadata"; + }; + in self; + +in + +genActions "allow" // genActions "deny" // { + importProfile = derivation: '' + (import "${derivation}") + ''; +} diff --git a/lib/strings.nix b/lib/strings.nix index 372c8833c321..4b6b91cbf0c0 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -225,4 +225,12 @@ rec { # Check whether a value is a store path. isStorePath = x: builtins.substring 0 1 (toString x) == "/" && dirOf (builtins.toPath x) == builtins.storeDir; + # Convert string to int + # Obviously, it is a bit hacky to use fromJSON that way. + toInt = str: + let may_be_int = builtins.fromJSON str; in + if builtins.isInt may_be_int + then may_be_int + else throw "Could not convert ${str} to int."; + } diff --git a/lib/tests.nix b/lib/tests.nix index 298bdffc3790..1fb2cbf5b536 100644 --- a/lib/tests.nix +++ b/lib/tests.nix @@ -7,7 +7,7 @@ runTests { expr = id 1; expected = 1; }; - + testConst = { expr = const 2 3; expected = 2; @@ -19,12 +19,12 @@ runTests { expected = true; }; */ - + testAnd = { expr = and true false; expected = false; }; - + testFix = { expr = fix (x: {a = if x ? a then "a" else "b";}); expected = {a = "a";}; @@ -67,7 +67,7 @@ runTests { }; testOverridableDelayableArgsTest = { - expr = + expr = let res1 = defaultOverridableDelayableArgs id {}; res2 = defaultOverridableDelayableArgs id { a = 7; }; res3 = let x = defaultOverridableDelayableArgs id { a = 7; }; @@ -87,7 +87,7 @@ runTests { in (x2.replace) { a = 10; }; # and override the value by 10 # fixed tests (delayed args): (when using them add some comments, please) - resFixed1 = + resFixed1 = let x = defaultOverridableDelayableArgs id ( x : { a = 7; c = x.fixed.b; }); y = x.merge (x : { name = "name-${builtins.toString x.fixed.c}"; }); in (y.merge) { b = 10; }; @@ -109,5 +109,15 @@ runTests { expr = sort builtins.lessThan [ 40 2 30 42 ]; expected = [2 30 40 42]; }; - + + testToIntShouldConvertStringToInt = { + expr = toInt "27"; + expected = 27; + }; + + testToIntShouldThrowErrorIfItCouldNotConvertToInt = { + expr = builtins.tryEval (toInt "\"foo\""); + expected = { success = false; value = false; }; + }; + } diff --git a/lib/trivial.nix b/lib/trivial.nix index 9fd5a7e1c57c..cda8aa08a205 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -12,8 +12,46 @@ rec { and = x: y: x && y; mergeAttrs = x: y: x // y; - # Take a function and evaluate it with its own returned value. - fix = f: let result = f result; in result; + # Compute the fixed point of the given function `f`, which is usually an + # attribute set that expects its final, non-recursive representation as an + # argument: + # + # f = self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; } + # + # Nix evaluates this recursion until all references to `self` have been + # resolved. At that point, the final result is returned and `f x = x` holds: + # + # nix-repl> fix f + # { bar = "bar"; foo = "foo"; foobar = "foobar"; } + # + # See https://en.wikipedia.org/wiki/Fixed-point_combinator for further + # details. + fix = f: let x = f x; in x; + + # A variant of `fix` that records the original recursive attribute set in the + # result. This is useful in combination with the `extends` function to + # implement deep overriding. See pkgs/development/haskell-modules/default.nix + # for a concrete example. + fix' = f: let x = f x // { __unfix__ = f; }; in x; + + # Modify the contents of an explicitly recursive attribute set in a way that + # honors `self`-references. This is accomplished with a function + # + # g = self: super: { foo = super.foo + " + "; } + # + # that has access to the unmodified input (`super`) as well as the final + # non-recursive representation of the attribute set (`self`). `extends` + # differs from the native `//` operator insofar as that it's applied *before* + # references to `self` are resolved: + # + # nix-repl> fix (extends g f) + # { bar = "bar"; foo = "foo + "; foobar = "foo + bar"; } + # + # The name of the function is inspired by object-oriented inheritance, i.e. + # think of it as an infix operator `g extends f` that mimics the syntax from + # Java. It may seem counter-intuitive to have the "base class" as the second + # argument, but it's nice this way if several uses of `extends` are cascaded. + extends = f: rattrs: self: let super = rattrs self; in super // f self super; # Flip the order of the arguments of a binary function. flip = f: a: b: f b a; diff --git a/nixos/default.nix b/nixos/default.nix index 5d69b79e13a6..6359d10c8805 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -1,12 +1,20 @@ { configuration ? import ./lib/from-env.nix "NIXOS_CONFIG" , system ? builtins.currentSystem +, extraModules ? [] + # This attribute is used to specify a different nixos version, a different + # system or additional modules which might be set conditionally. +, reEnter ? false }: let + reEnterModule = { + config.nixos.path = with (import ../lib); mkIf reEnter (mkForce null); + config.nixos.configuration = configuration; + }; eval = import ./lib/eval-config.nix { inherit system; - modules = [ configuration ]; + modules = [ configuration reEnterModule ] ++ extraModules; }; inherit (eval) pkgs; @@ -14,14 +22,14 @@ let # This is for `nixos-rebuild build-vm'. vmConfig = (import ./lib/eval-config.nix { inherit system; - modules = [ configuration ./modules/virtualisation/qemu-vm.nix ]; + modules = [ configuration reEnterModule ./modules/virtualisation/qemu-vm.nix ] ++ extraModules; }).config; # This is for `nixos-rebuild build-vm-with-bootloader'. vmWithBootLoaderConfig = (import ./lib/eval-config.nix { inherit system; modules = - [ configuration + [ configuration reEnterModule ./modules/virtualisation/qemu-vm.nix { virtualisation.useBootLoader = true; } ]; @@ -30,7 +38,7 @@ let in { - inherit (eval) config options; + inherit (eval.config.nixos.reflect) config options; system = eval.config.system.build.toplevel; diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml index 8fde0dc7e611..afffd60bc485 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -26,6 +26,7 @@ effect after you run nixos-rebuild. + diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 61a71d834050..4bfd08869b7f 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -55,6 +55,7 @@ let cp -prd $sources/* . # */ chmod -R u+w . cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml + cp ${../../modules/misc/nixos.xml} configuration/nixos.xml ln -s ${optionsDocBook} options-db.xml echo "${version}" > version ''; diff --git a/nixos/doc/manual/installation/obtaining.xml b/nixos/doc/manual/installation/obtaining.xml index afd6c9543f70..f6e8b218e2b3 100644 --- a/nixos/doc/manual/installation/obtaining.xml +++ b/nixos/doc/manual/installation/obtaining.xml @@ -39,8 +39,8 @@ running NixOS system through several other means: Using NixOps, the NixOS-based cloud deployment tool, which allows you to provision VirtualBox and EC2 NixOS instances from declarative specifications. Check out the NixOps - homepage for details. + xlink:href="https://nixos.org/nixops">NixOps homepage for + details. diff --git a/nixos/doc/manual/release-notes/rl-unstable.xml b/nixos/doc/manual/release-notes/rl-unstable.xml index 573b99d4902f..97ac03a770f6 100644 --- a/nixos/doc/manual/release-notes/rl-unstable.xml +++ b/nixos/doc/manual/release-notes/rl-unstable.xml @@ -6,6 +6,26 @@ Unstable +In addition to numerous new and upgraded packages, this release +has the following highlights: + + + + + You can now pin a specific version of NixOS in your configuration.nix + by setting: + + +nixos.path = ./nixpkgs-unstable-2015-12-06/nixos; + + + This will make NixOS re-evaluate your configuration with the modules of + the specified NixOS version at the given path. For more details, see + + + + + When upgrading from a previous release, please be aware of the following incompatible changes: @@ -54,6 +74,21 @@ nginx.override { + + s3sync is removed, as it hasn't been + developed by upstream for 4 years and only runs with ruby 1.8. + For an actively-developer alternative look at + tarsnap and others. + + + + + ruby_1_8 has been removed as it's not + supported from upstream anymore and probably contains security + issues. + + + diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index de9a318fdd24..c9810b6fccb1 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -235,6 +235,8 @@ kibana = 211; xtreemfs = 212; calibre-server = 213; + heapster = 214; + bepasty = 215; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -448,6 +450,7 @@ #kibana = 211; xtreemfs = 212; calibre-server = 213; + bepasty = 215; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/misc/nixos.nix b/nixos/modules/misc/nixos.nix new file mode 100644 index 000000000000..356129211d06 --- /dev/null +++ b/nixos/modules/misc/nixos.nix @@ -0,0 +1,82 @@ +{ config, options, lib, ... }: + +# This modules is used to inject a different NixOS version as well as its +# argument such that one can pin a specific version with the versionning +# system of the configuration. +let + nixosReentry = import config.nixos.path { + inherit (config.nixos) configuration extraModules; + inherit (config.nixpkgs) system; + reEnter = true; + }; +in + +with lib; + +{ + options = { + nixos.path = mkOption { + default = null; + example = literalExample "./nixpkgs-15.09/nixos"; + type = types.nullOr types.path; + description = '' + This option give the ability to evaluate the current set of modules + with a different version of NixOS. This option can be used version + the version of NixOS with the configuration without relying on the + NIX_PATH environment variable. + ''; + }; + + nixos.system = mkOption { + example = "i686-linux"; + type = types.uniq types.str; + description = '' + Name of the system used to compile NixOS. + ''; + }; + + nixos.extraModules = mkOption { + default = []; + example = literalExample "mkIf config.services.openssh.enable [ ./sshd-config.nix ]"; + type = types.listOf types.unspecified; + description = '' + Define additional modules which would be loaded to evaluate the + configuration. + ''; + }; + + nixos.configuration = mkOption { + type = types.unspecified; + internal = true; + description = '' + Option used by nixos/default.nix to re-inject + the same configuration module as the one used for the current + execution. + ''; + }; + + nixos.reflect = mkOption { + default = { inherit config options; }; + type = types.unspecified; + internal = true; + description = '' + Provides config and options + computed by the module system and given as argument to all + modules. These are used for introspection of options and + configuration by tools such as nixos-option. + ''; + }; + }; + + config = mkMerge [ + (mkIf (config.nixos.path != null) (mkForce { + system.build.toplevel = nixosReentry.system; + system.build.vm = nixosReentry.vm; + nixos.reflect = { inherit (nixosReentry) config options; }; + })) + + { meta.maintainers = singleton lib.maintainers.pierron; + meta.doc = ./nixos.xml; + } + ]; +} diff --git a/nixos/modules/misc/nixos.xml b/nixos/modules/misc/nixos.xml new file mode 100644 index 000000000000..f8d3b4bc6e33 --- /dev/null +++ b/nixos/modules/misc/nixos.xml @@ -0,0 +1,84 @@ + + +NixOS Reentry + + + + +Source: modules/misc/nixos.nix + + + +NixOS reentry can be used for both pinning the evaluation to a +specific version of NixOS, and to dynamically add additional modules into +the Module evaluation. + +
NixOS Version Pinning + +To pin a specific version of NixOS, you need a version that you can +either clone localy, or that you can fetch remotely. + +If you already have a cloned version of NixOS in the directory +/etc/nixos/nixpkgs-16-03, then you can specify the + with either the path or the relative path of +your NixOS clone. For example, you can add the following to your +/etc/nixos/configuration.nix file: + + +nixos.path = ./nixpkgs-16-03/nixos; + + + +Another option is to fetch a specific version of NixOS, with either +the fetchTarball builtin, or the +pkgs.fetchFromGithub function and use the result as an +input. + + +nixos.path = "${builtins.fetchTarball https://github.com/NixOS/nixpkgs/archive/1f27976e03c15183191d1b4aa1a40d1f14666cd2.tar.gz}/nixos"; + + + +
+ + +
Adding Module Dynamically + +To add additional module, the recommended way is to use statically +known modules in the list of imported arguments as described in . Unfortunately, this recommended method has +limitation, such that the list of imported files cannot be selected based on +the content of the configuration. + +Fortunately, NixOS reentry system can be used as an alternative to register +new imported modules based on the content of the configuration. To do so, +one should define both and + options. + + +nixos.path = <nixos>; +nixos.extraModules = + if config.networking.hostName == "server" then + [ ./server.nix ] else [ ./client.nix ]; + + +Also note, that the above can be reimplemented in a different way which is +not as expensive, by using mkIf at the top each +configuration if both modules are present on the file system (see ) and by always inmporting both +modules. + +
+ +
Options + +FIXME: auto-generated list of module options. + +
+ + +
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 034ea933a7db..a8cf38f1c8fe 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -52,6 +52,7 @@ ./misc/lib.nix ./misc/locate.nix ./misc/meta.nix + ./misc/nixos.nix ./misc/nixpkgs.nix ./misc/passthru.nix ./misc/version.nix @@ -189,6 +190,7 @@ ./services/mail/spamassassin.nix ./services/misc/apache-kafka.nix ./services/misc/autofs.nix + ./services/misc/bepasty.nix ./services/misc/canto-daemon.nix ./services/misc/calibre-server.nix ./services/misc/cpuminer-cryptonight.nix @@ -238,6 +240,8 @@ ./services/monitoring/dd-agent.nix ./services/monitoring/grafana.nix ./services/monitoring/graphite.nix + ./services/monitoring/heapster.nix + ./services/monitoring/longview.nix ./services/monitoring/monit.nix ./services/monitoring/munin.nix ./services/monitoring/nagios.nix diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index 79324f83646b..20a1f7f1ed8c 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -1,7 +1,7 @@ # This module defines the software packages included in the "minimal" # installation CD. It might be useful elsewhere. -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: { # Include some utilities that are useful for installing or repairing @@ -50,5 +50,5 @@ boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "zfs" "ntfs" "cifs" ]; # Configure host id for ZFS to work - networking.hostId = "8425e349"; + networking.hostId = lib.mkDefault "8425e349"; } diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix index 75efd5e29039..1c3c07a1c210 100644 --- a/nixos/modules/programs/bash/bash.nix +++ b/nixos/modules/programs/bash/bash.nix @@ -90,8 +90,8 @@ in promptInit = mkOption { default = '' - if test "$TERM" != "dumb"; then - # Provide a nice prompt. + # Provide a nice prompt if the terminal supports it. + if [ "$TERM" != "dumb" -o -n "$INSIDE_EMACS" ]; then PROMPT_COLOR="1;31m" let $UID && PROMPT_COLOR="1;32m" PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]\\$\[\033[0m\] " diff --git a/nixos/modules/programs/ibus.nix b/nixos/modules/programs/ibus.nix index b8702a743d8a..a42753a292b2 100644 --- a/nixos/modules/programs/ibus.nix +++ b/nixos/modules/programs/ibus.nix @@ -27,7 +27,7 @@ in }; config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.ibus ]; + environment.systemPackages = [ pkgs.ibus pkgs.gnome3.dconf ]; gtkPlugins = [ pkgs.ibus ]; qtPlugins = [ pkgs.ibus-qt ]; diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix index 74dd6af0bdde..9f7596a21e72 100644 --- a/nixos/modules/programs/zsh/zsh.nix +++ b/nixos/modules/programs/zsh/zsh.nix @@ -25,7 +25,7 @@ in enable = mkOption { default = false; description = '' - Whenever to configure Zsh as an interactive shell. + Whether to configure zsh as an interactive shell. ''; type = types.bool; }; @@ -73,6 +73,14 @@ in type = types.lines; }; + enableCompletion = mkOption { + default = true; + description = '' + Enable zsh completion for all interactive zsh shells. + ''; + type = types.bool; + }; + }; }; @@ -101,6 +109,13 @@ in export HISTFILE=$HOME/.zsh_history setopt HIST_IGNORE_DUPS SHARE_HISTORY HIST_FCNTL_LOCK + + # Tell zsh how to find installed completions + for p in ''${(z)NIX_PROFILES}; do + fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions) + done + + ${if cfg.enableCompletion then "autoload -U compinit && compinit" else ""} ''; }; @@ -161,7 +176,8 @@ in environment.etc."zinputrc".source = ./zinputrc; - environment.systemPackages = [ pkgs.zsh ]; + environment.systemPackages = [ pkgs.zsh ] + ++ optional cfg.enableCompletion pkgs.nix-zsh-completions; #users.defaultUserShell = mkDefault "/run/current-system/sw/bin/zsh"; diff --git a/nixos/modules/services/cluster/kubernetes.nix b/nixos/modules/services/cluster/kubernetes.nix index a06384e27139..42efde36678f 100644 --- a/nixos/modules/services/cluster/kubernetes.nix +++ b/nixos/modules/services/cluster/kubernetes.nix @@ -512,6 +512,7 @@ in { wantedBy = [ "multi-user.target" ]; requires = ["kubernetes-setup.service"]; after = [ "network-interfaces.target" "etcd.service" "docker.service" ]; + path = [ pkgs.gitMinimal pkgs.openssh ]; script = '' export PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH" exec ${cfg.package}/bin/kubelet \ diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix index 4be0428caa33..8d63f14c67b5 100644 --- a/nixos/modules/services/databases/influxdb.nix +++ b/nixos/modules/services/databases/influxdb.nix @@ -5,43 +5,103 @@ with lib; let cfg = config.services.influxdb; - influxdbConfig = pkgs.writeText "config.toml" '' - bind-address = "${cfg.bindAddress}" + configOptions = recursiveUpdate { + meta = { + bind-address = ":8088"; + commit-timeout = "50ms"; + dir = "${cfg.dataDir}/meta"; + election-timeout = "1s"; + heartbeat-timeout = "1s"; + hostname = "localhost"; + leader-lease-timeout = "500ms"; + retention-autocreate = true; + }; - [logging] - level = "info" - file = "stdout" + data = { + dir = "${cfg.dataDir}/data"; + wal-dir = "${cfg.dataDir}/wal"; + max-wal-size = 104857600; + wal-enable-logging = true; + wal-flush-interval = "10m"; + wal-partition-flush-delay = "2s"; + }; - [admin] - port = ${toString cfg.adminPort} - assets = "${pkgs.influxdb}/share/influxdb/admin" + cluster = { + shard-writer-timeout = "5s"; + write-timeout = "5s"; + }; - [api] - port = ${toString cfg.apiPort} - ${cfg.apiExtraConfig} + retention = { + enabled = true; + check-interval = "30m"; + }; - [input_plugins] - ${cfg.inputPluginsConfig} + http = { + enabled = true; + auth-enabled = false; + bind-address = ":8086"; + https-enabled = false; + log-enabled = true; + pprof-enabled = false; + write-tracing = false; + }; - [raft] - dir = "${cfg.dataDir}/raft" - ${cfg.raftConfig} + monitor = { + store-enabled = false; + store-database = "_internal"; + store-interval = "10s"; + }; - [storage] - dir = "${cfg.dataDir}/db" - ${cfg.storageConfig} + admin = { + enabled = true; + bind-address = ":8083"; + https-enabled = false; + }; - [cluster] - ${cfg.clusterConfig} + graphite = [{ + enabled = false; + }]; - [sharding] - ${cfg.shardingConfig} + udp = [{ + enabled = false; + }]; - [wal] - dir = "${cfg.dataDir}/wal" - ${cfg.walConfig} + collectd = { + enabled = false; + typesdb = "${pkgs.collectd}/share/collectd/types.db"; + database = "collectd_db"; + port = 25826; + }; - ${cfg.extraConfig} + opentsdb = { + enabled = false; + }; + + continuous_queries = { + enabled = true; + log-enabled = true; + recompute-previous-n = 2; + recompute-no-older-than = "10m"; + compute-runs-per-interval = 10; + compute-no-more-than = "2m"; + }; + + hinted-handoff = { + enabled = true; + dir = "${cfg.dataDir}/hh"; + max-size = 1073741824; + max-age = "168h"; + retry-rate-limit = 0; + retry-interval = "1s"; + }; + } cfg.extraConfig; + + configFile = pkgs.runCommand "config.toml" { + buildInputs = [ pkgs.remarshal ]; + } '' + remarshal -if json -of toml \ + < ${pkgs.writeText "config.json" (builtins.toJSON configOptions)} \ + > $out ''; in { @@ -82,124 +142,10 @@ in 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 = ""; + default = {}; description = "Extra configuration options for influxdb"; - type = types.string; + type = types.attrs; }; }; @@ -215,7 +161,7 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network-interfaces.target" ]; serviceConfig = { - ExecStart = ''${cfg.package}/bin/influxdb -config "${influxdbConfig}"''; + ExecStart = ''${cfg.package}/bin/influxd -config "${configFile}"''; User = "${cfg.user}"; Group = "${cfg.group}"; PermissionsStartOnly = true; @@ -224,11 +170,6 @@ in mkdir -m 0770 -p ${cfg.dataDir} if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi ''; - postStart = mkBefore '' - until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.bindAddress}:${toString cfg.apiPort}/'; do - sleep 1; - done - ''; }; users.extraUsers = optional (cfg.user == "influxdb") { diff --git a/nixos/modules/services/misc/bepasty.nix b/nixos/modules/services/misc/bepasty.nix new file mode 100644 index 000000000000..12671cb1b6cd --- /dev/null +++ b/nixos/modules/services/misc/bepasty.nix @@ -0,0 +1,151 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + gunicorn = pkgs.pythonPackages.gunicorn; + bepasty = pkgs.pythonPackages.bepasty-server; + gevent = pkgs.pythonPackages.gevent; + python = pkgs.pythonPackages.python; + cfg = config.services.bepasty; + user = "bepasty"; + group = "bepasty"; + default_home = "/var/lib/bepasty"; +in +{ + options.services.bepasty = { + enable = mkEnableOption "Bepasty servers"; + + servers = mkOption { + default = {}; + description = '' + configure a number of bepasty servers which will be started with + gunicorn. + ''; + type = with types ; attrsOf (submodule ({ + + options = { + + bind = mkOption { + type = types.str; + description = '' + Bind address to be used for this server. + ''; + example = "0.0.0.0:8000"; + default = "127.0.0.1:8000"; + }; + + + dataDir = mkOption { + type = types.str; + description = '' + Path to the directory where the pastes will be saved to + ''; + default = default_home+"/data"; + }; + + defaultPermissions = mkOption { + type = types.str; + description = '' + default permissions for all unauthenticated accesses. + ''; + example = "read,create,delete"; + default = "read"; + }; + + extraConfig = mkOption { + type = types.str; + description = '' + Extra configuration for bepasty server to be appended on the + configuration. + see https://bepasty-server.readthedocs.org/en/latest/quickstart.html#configuring-bepasty + for all options. + ''; + default = ""; + example = '' + PERMISSIONS = { + 'myadminsecret': 'admin,list,create,read,delete', + } + MAX_ALLOWED_FILE_SIZE = 5 * 1000 * 1000 + ''; + }; + + secretKey = mkOption { + type = types.str; + description = '' + server secret for safe session cookies, must be set. + ''; + default = ""; + }; + + workDir = mkOption { + type = types.str; + description = '' + Path to the working directory (used for config and pidfile). + Defaults to the users home directory. + ''; + default = default_home; + }; + + }; + })); + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ bepasty ]; + + # creates gunicorn systemd service for each configured server + systemd.services = mapAttrs' (name: server: + nameValuePair ("bepasty-server-${name}-gunicorn") + ({ + description = "Bepasty Server ${name}"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + restartIfChanged = true; + + environment = { + BEPASTY_CONFIG = "${server.workDir}/bepasty-${name}.conf"; + PYTHONPATH= "${bepasty}/lib/${python.libPrefix}/site-packages:${gevent}/lib/${python.libPrefix}/site-packages"; + }; + + serviceConfig = { + Type = "simple"; + PrivateTmp = true; + ExecStartPre = assert server.secretKey != ""; pkgs.writeScript "bepasty-server.${name}-init" '' + #!/bin/sh + mkdir -p "${server.workDir}" + mkdir -p "${server.dataDir}" + chown ${user}:${group} "${server.workDir}" "${server.dataDir}" + cat > ${server.workDir}/bepasty-${name}.conf <documentation, + but without GF_ prefix + ''; + default = {}; + type = types.attrsOf types.str; + }; }; config = mkIf cfg.enable { @@ -317,11 +214,15 @@ in { description = "Grafana Service Daemon"; wantedBy = ["multi-user.target"]; after = ["networking.target"]; + environment = mapAttrs' (n: v: nameValuePair "GF_${n}" (toString v)) envOptions; serviceConfig = { - ExecStart = "${cfg.package}/bin/grafana --config ${cfgFile} web"; + ExecStart = "${cfg.package}/bin/grafana -homepath ${cfg.dataDir}"; WorkingDirectory = cfg.dataDir; User = "grafana"; }; + preStart = '' + ln -fs ${cfg.package}/share/grafana/conf ${cfg.dataDir} + ''; }; users.extraUsers.grafana = { @@ -331,7 +232,7 @@ in { createHome = true; }; - services.grafana.staticRootPath = mkDefault "${cfg.package.out}/share/go/src/github.com/grafana/grafana/public"; + services.grafana.staticRootPath = mkDefault "${cfg.package}/share/grafana/public"; }; } diff --git a/nixos/modules/services/monitoring/heapster.nix b/nixos/modules/services/monitoring/heapster.nix new file mode 100644 index 000000000000..74b8c9ccd3ed --- /dev/null +++ b/nixos/modules/services/monitoring/heapster.nix @@ -0,0 +1,57 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.heapster; +in { + options.services.heapster = { + enable = mkOption { + description = "Whether to enable heapster monitoring"; + default = false; + type = types.bool; + }; + + source = mkOption { + description = "Heapster metric source"; + example = "kubernetes:https://kubernetes.default"; + type = types.string; + }; + + sink = mkOption { + description = "Heapster metic sink"; + example = "influxdb:http://localhost:8086"; + type = types.string; + }; + + extraOpts = mkOption { + description = "Heapster extra options"; + default = ""; + type = types.string; + }; + + package = mkOption { + description = "Package to use by heapster"; + default = pkgs.heapster; + type = types.package; + }; + }; + + config = mkIf cfg.enable { + systemd.services.heapster = { + wantedBy = ["multi-user.target"]; + after = ["cadvisor.service" "kube-apiserver.service"]; + + serviceConfig = { + ExecStart = "${cfg.package}/bin/heapster --source=${cfg.source} --sink=${cfg.sink} ${cfg.extraOpts}"; + User = "heapster"; + }; + }; + + users.extraUsers = singleton { + name = "heapster"; + uid = config.ids.uids.heapster; + description = "Heapster user"; + }; + }; +} diff --git a/nixos/modules/services/monitoring/longview.nix b/nixos/modules/services/monitoring/longview.nix new file mode 100644 index 000000000000..770d56e60efb --- /dev/null +++ b/nixos/modules/services/monitoring/longview.nix @@ -0,0 +1,118 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.longview; + + pidFile = "/run/longview.pid"; + + apacheConf = optionalString (cfg.apacheStatusUrl != "") '' + location ${cfg.apacheStatusUrl}?auto + ''; + mysqlConf = optionalString (cfg.mysqlUser != "") '' + username ${cfg.mysqlUser} + password ${cfg.mysqlPassword} + ''; + nginxConf = optionalString (cfg.nginxStatusUrl != "") '' + location ${cfg.nginxStatusUrl} + ''; + +in + +{ + options = { + + services.longview = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + If enabled, system metrics will be sent to Linode LongView. + ''; + }; + + apiKey = mkOption { + type = types.str; + example = "01234567-89AB-CDEF-0123456789ABCDEF"; + description = '' + Longview API key. To get this, look in Longview settings which + are found at https://manager.linode.com/longview/. + ''; + }; + + apacheStatusUrl = mkOption { + type = types.str; + default = ""; + example = "http://127.0.0.1/server-status"; + description = '' + The Apache status page URL. If provided, Longview will + gather statistics from this location. This requires Apache + mod_status to be loaded and enabled. + ''; + }; + + nginxStatusUrl = mkOption { + type = types.str; + default = ""; + example = "http://127.0.0.1/nginx_status"; + description = '' + The Nginx status page URL. Longview will gather statistics + from this URL. This requires the Nginx stub_status module to + be enabled and configured at the given location. + ''; + }; + + mysqlUser = mkOption { + type = types.str; + default = ""; + description = '' + The user for connecting to the MySQL database. If provided, + Longview will connect to MySQL and collect statistics about + queries, etc. This user does not need to have been granted + any extra privileges. + ''; + }; + + mysqlPassword = mkOption { + type = types.str; + description = '' + The password corresponding to mysqlUser. Warning: this is + stored in cleartext in the Nix store! + ''; + }; + }; + + }; + + config = mkIf cfg.enable { + systemd.services.longview = + { description = "Longview Metrics Collection"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.Type = "forking"; + serviceConfig.ExecStop = "-${pkgs.coreutils}/bin/kill -TERM $MAINPID"; + serviceConfig.ExecReload = "-${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + serviceConfig.PIDFile = pidFile; + serviceConfig.ExecStart = "${pkgs.longview}/bin/longview"; + }; + + environment.etc."linode/longview.key" = { + mode = "0400"; + text = cfg.apiKey; + }; + environment.etc."linode/longview.d/Apache.conf" = { + mode = "0400"; + text = apacheConf; + }; + environment.etc."linode/longview.d/MySQL.conf" = { + mode = "0400"; + text = mysqlConf; + }; + environment.etc."linode/longview.d/Nginx.conf" = { + mode = "0400"; + text = nginxConf; + }; + }; +} diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix index 5e974555aada..c467402dbcf6 100644 --- a/nixos/modules/services/networking/i2pd.nix +++ b/nixos/modules/services/networking/i2pd.nix @@ -10,23 +10,59 @@ let extip = "EXTIP=\$(${pkgs.curl.bin}/bin/curl -sf \"http://jsonip.com\" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')"; - i2pSh = pkgs.writeScriptBin "i2pd" '' + toOneZero = b: if b then "1" else "0"; + + i2pdConf = pkgs.writeText "i2pd.conf" '' + v6 = ${toOneZero cfg.enableIPv6} + unreachable = ${toOneZero cfg.unreachable} + floodfill = ${toOneZero cfg.floodfill} + ${if isNull cfg.port then "" else "port = ${toString cfg.port}"} + httpproxyport = ${toString cfg.proxy.httpPort} + socksproxyport = ${toString cfg.proxy.socksPort} + ircaddress = ${cfg.irc.host} + ircport = ${toString cfg.irc.port} + ircdest = ${cfg.irc.dest} + irckeys = ${cfg.irc.keyFile} + eepport = ${toString cfg.eep.port} + ${if isNull cfg.sam.port then "" else "--samport=${toString cfg.sam.port}"} + eephost = ${cfg.eep.host} + eepkeys = ${cfg.eep.keyFile} + ''; + + i2pdTunnelConf = pkgs.writeText "i2pd-tunnels.conf" '' + ${flip concatMapStrings + (collect (tun: tun ? port && tun ? destination) cfg.outTunnels) + (tun: let portStr = toString tun.port; in '' + [${tun.name}] + type = client + destination = ${tun.destination} + keys = ${tun.keys} + address = ${tun.address} + port = ${toString tun.port} + '') + } + ${flip concatMapStrings + (collect (tun: tun ? port && tun ? host) cfg.outTunnels) + (tun: let portStr = toString tun.port; in '' + [${tun.name}] + type = server + destination = ${tun.destination} + keys = ${tun.keys} + host = ${tun.address} + port = ${tun.port} + inport = ${tun.inPort} + accesslist = ${concatStringSep "," tun.accessList} + '') + } + ''; + + i2pdSh = pkgs.writeScriptBin "i2pd" '' #!/bin/sh ${if isNull cfg.extIp then extip else ""} - ${pkgs.i2pd}/bin/i2p --log=1 --daemon=0 --service=0 \ - --v6=${if cfg.enableIPv6 then "1" else "0"} \ - --unreachable=${if cfg.unreachable then "1" else "0"} \ + ${pkgs.i2pd}/bin/i2pd --log=1 --daemon=0 --service=0 \ --host=${if isNull cfg.extIp then "$EXTIP" else cfg.extIp} \ - ${if isNull cfg.port then "" else "--port=${toString cfg.port}"} \ - --httpproxyport=${toString cfg.proxy.httpPort} \ - --socksproxyport=${toString cfg.proxy.socksPort} \ - --ircport=${toString cfg.irc.port} \ - --ircdest=${cfg.irc.dest} \ - --irckeys=${cfg.irc.keyFile} \ - --eepport=${toString cfg.eep.port} \ - ${if isNull cfg.sam.port then "" else "--samport=${toString cfg.sam.port}"} \ - --eephost=${cfg.eep.host} \ - --eepkeys=${cfg.eep.keyFile} + --conf=${i2pdConf} \ + --tunnelscfg=${i2pdTunnelConf} ''; in @@ -63,11 +99,19 @@ in ''; }; + floodfill = mkOption { + type = types.bool; + default = false; + description = '' + If the router is declared to be unreachable and needs introduction nodes. + ''; + }; + port = mkOption { type = with types; nullOr int; default = null; description = '' - I2P listen port. If no one is given the router will pick between 9111 and 30777. + I2P listen port. If no one is given the router will pick between 9111 and 30777. ''; }; @@ -107,6 +151,13 @@ in }; irc = { + host = mkOption { + type = types.str; + default = "127.0.0.1"; + description = '' + Address to forward incoming traffic to. 127.0.0.1 by default. + ''; + }; dest = mkOption { type = types.str; default = "irc.postman.i2p"; @@ -163,6 +214,94 @@ in ''; }; }; + + outTunnels = mkOption { + default = {}; + type = with types; loaOf optionSet; + description = '' + ''; + options = [ ({ name, config, ... }: { + + options = { + name = mkOption { + type = types.str; + description = "The name of the tunnel."; + }; + destination = mkOption { + type = types.str; + description = "Remote endpoint, I2P hostname or b32.i2p address."; + }; + keys = mkOption { + type = types.str; + default = name + "-keys.dat"; + description = "Keyset used for tunnel identity."; + }; + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "Local bind address for tunnel."; + }; + port = mkOption { + type = types.int; + default = 0; + description = "Local tunnel listen port."; + }; + }; + + config = { + name = mkDefault name; + }; + + }) ]; + }; + + inTunnels = mkOption { + default = {}; + type = with types; loaOf optionSet; + description = '' + ''; + options = [ ({ name, config, ... }: { + + options = { + + name = mkOption { + type = types.str; + description = "The name of the tunnel."; + }; + keys = mkOption { + type = types.path; + default = name + "-keys.dat"; + description = "Keyset used for tunnel identity."; + }; + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "Local service IP address."; + }; + port = mkOption { + type = types.int; + default = 0; + description = "Local tunnel listen port."; + }; + inPort = mkOption { + type = types.int; + default = 0; + description = "I2P service port. Default to the tunnel's listen port."; + }; + accessList = mkOption { + type = with types; listOf str; + default = []; + description = "I2P nodes that are allowed to connect to this service."; + }; + + }; + + config = { + name = mkDefault name; + }; + + }) ]; + }; }; }; @@ -190,9 +329,8 @@ in User = "i2pd"; WorkingDirectory = homeDir; Restart = "on-abort"; - ExecStart = "${i2pSh}/bin/i2pd"; + ExecStart = "${i2pdSh}/bin/i2pd"; }; }; }; } -# diff --git a/nixos/modules/services/networking/nix-serve.nix b/nixos/modules/services/networking/nix-serve.nix index 4f8b9357a828..880a1d361dfe 100644 --- a/nixos/modules/services/networking/nix-serve.nix +++ b/nixos/modules/services/networking/nix-serve.nix @@ -56,7 +56,7 @@ in serviceConfig = { ExecStart = "${pkgs.nix-serve}/bin/nix-serve " + - "--port ${cfg.bindAddress}:${toString cfg.port} ${cfg.extraParams}"; + "--listen ${cfg.bindAddress}:${toString cfg.port} ${cfg.extraParams}"; User = "nix-serve"; Group = "nogroup"; }; diff --git a/nixos/modules/services/scheduling/cron.nix b/nixos/modules/services/scheduling/cron.nix index 1b5e83173e8f..f5e132fd77d8 100644 --- a/nixos/modules/services/scheduling/cron.nix +++ b/nixos/modules/services/scheduling/cron.nix @@ -39,7 +39,7 @@ in enable = mkOption { type = types.bool; - default = true; + example = true; description = "Whether to enable the Vixie cron daemon."; }; diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix index c8fc08570408..5822fb111b82 100644 --- a/nixos/modules/services/torrent/transmission.nix +++ b/nixos/modules/services/torrent/transmission.nix @@ -9,7 +9,7 @@ let homeDir = "/var/lib/transmission"; downloadDir = "${homeDir}/Downloads"; incompleteDir = "${homeDir}/.incomplete"; - + settingsDir = "${homeDir}/.config/transmission-daemon"; settingsFile = pkgs.writeText "settings.json" (builtins.toJSON fullSettings); @@ -21,7 +21,7 @@ let else toString ''"${x}"''; # for users in group "transmission" to have access to torrents - fullSettings = cfg.settings // { umask = 2; }; + fullSettings = { download-dir = downloadDir; incomplete-dir = incompleteDir; } // cfg.settings // { umask = 2; }; in { options = { @@ -35,7 +35,7 @@ in Transmission daemon can be controlled via the RPC interface using transmission-remote or the WebUI (http://localhost:9091/ by default). - Torrents are downloaded to ${homeDir}/Downloads/ by default and are + Torrents are downloaded to ${downloadDir} by default and are accessible to users in the "transmission" group. ''; }; @@ -83,7 +83,7 @@ in # 1) Only the "transmission" user and group have access to torrents. # 2) Optionally update/force specific fields into the configuration file. serviceConfig.ExecStartPre = '' - ${pkgs.stdenv.shell} -c "chmod 770 ${homeDir} && mkdir -p ${settingsDir} ${downloadDir} ${incompleteDir} && rm -f ${settingsDir}/settings.json && cp -f ${settingsFile} ${settingsDir}/settings.json" + ${pkgs.stdenv.shell} -c "mkdir -p ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && chmod 770 ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && rm -f ${settingsDir}/settings.json && cp -f ${settingsFile} ${settingsDir}/settings.json" ''; serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}"; serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; diff --git a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix index 921f774bcaa0..7a0314027a3d 100644 --- a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix +++ b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix @@ -17,10 +17,10 @@ let define('DB_HOST', '${config.dbHost}'); define('DB_CHARSET', 'utf8'); $table_prefix = '${config.tablePrefix}'; + ${config.extraConfig} if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); require_once(ABSPATH . 'wp-settings.php'); - ${config.extraConfig} ''; # .htaccess to support pretty URLs diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 6fdd5b4fa36d..dc6aa137cbd3 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -108,7 +108,7 @@ in kdeApps.okular kdeApps.print-manager - kdeApps.oxygen-icons + (kdeApps.oxygen-icons or kf5.oxygen-icons5) pkgs.hicolor_icon_theme plasma5.kde-gtk-config @@ -155,7 +155,7 @@ in GST_PLUGIN_SYSTEM_PATH_1_0 = [ "/lib/gstreamer-1.0" ]; }; - fonts.fonts = [ plasma5.oxygen-fonts ]; + fonts.fonts = [ (plasma5.oxygen-fonts or pkgs.noto-fonts) ]; programs.ssh.askPassword = "${plasma5.ksshaskpass}/bin/ksshaskpass"; diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 88eefa13de35..33b6dd32c193 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -18,6 +18,14 @@ in description = "Enable the Xfce desktop environment."; }; + services.xserver.desktopManager.xfce.thunarPlugins = mkOption { + default = []; + type = types.listOf types.package; + example = literalExample "[ pkgs.xfce.thunar-archive-plugin ]"; + description = '' + A list of plugin that should be installed with Thunar. + ''; + }; }; @@ -49,7 +57,7 @@ in pkgs.xfce.mousepad pkgs.xfce.ristretto pkgs.xfce.terminal - pkgs.xfce.thunar + (pkgs.xfce.thunar.override { thunarPlugins = cfg.thunarPlugins; }) pkgs.xfce.xfce4icontheme pkgs.xfce.xfce4panel pkgs.xfce.xfce4session diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 58eb6f050131..52847d2f8d2c 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -162,7 +162,7 @@ in gdm.text = '' auth requisite pam_nologin.so - auth required pam_env.so + auth required pam_env.so envfile=${config.system.build.pamEnvironment} auth required pam_succeed_if.so uid >= 1000 quiet auth optional ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 2dfa07ac6cb1..48fab0243566 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -150,7 +150,7 @@ in allowNullPassword = true; startSession = true; text = '' - auth required pam_env.so + auth required pam_env.so envfile=${config.system.build.pamEnvironment} auth required pam_permit.so account required pam_permit.so diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index 545f4283828a..e3db0230d3b7 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -18,6 +18,7 @@ let halt_cmd ${config.systemd.package}/sbin/shutdown -h now reboot_cmd ${config.systemd.package}/sbin/shutdown -r now ${optionalString (cfg.defaultUser != null) ("default_user " + cfg.defaultUser)} + ${optionalString (cfg.defaultUser != null) ("focus_password yes")} ${optionalString cfg.autoLogin "auto_login yes"} ${cfg.extraConfig} ''; @@ -57,8 +58,8 @@ in theme = mkOption { type = types.nullOr types.path; default = pkgs.fetchurl { - url = https://github.com/jagajaga/nixos-slim-theme/archive/1.1.tar.gz; - sha256 = "66c3020a6716130a20c3898567339b990fbd7888a3b7bbcb688f6544d1c05c31"; + url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz"; + sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8"; }; example = literalExample '' pkgs.fetchurl { diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index a7a334dec285..d4cab93b26b8 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -170,6 +170,15 @@ in rec { ''; }; + onFailure = mkOption { + default = []; + type = types.listOf types.str; + description = '' + A list of one or more units that are activated when + this unit enters the "failed" state. + ''; + }; + }; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 0b7647093e0f..d145baeebe93 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -199,6 +199,8 @@ let { X-Restart-Triggers = toString config.restartTriggers; } // optionalAttrs (config.description != "") { Description = config.description; + } // optionalAttrs (config.onFailure != []) { + OnFailure = toString config.onFailure; }; }; }; diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index dbe0c9c6e03a..d0dd7670157e 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -58,6 +58,15 @@ let ''; }; + formatOptions = mkOption { + default = ""; + type = types.str; + description = '' + If option is set specifies + extra options passed to mkfs. + ''; + }; + autoResize = mkOption { default = false; type = types.bool; @@ -81,6 +90,9 @@ let mountPoint = mkDefault name; device = mkIf (config.fsType == "tmpfs") (mkDefault config.fsType); options = mkIf config.autoResize "x-nixos.autoresize"; + + # -F needed to allow bare block device without partitions + formatOptions = mkIf ((builtins.substring 0 3 config.fsType) == "ext") (mkDefault "-F"); }; }; @@ -192,8 +204,6 @@ 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" ]; @@ -208,7 +218,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} ${concatStringsSep " " mkfsOpts} "${fs.device}" + mkfs.${fs.fsType} ${fs.formatOptions} "${fs.device}" fi ''; unitConfig.RequiresMountsFor = [ "${dirOf fs.device}" ]; diff --git a/nixos/modules/tasks/scsi-link-power-management.nix b/nixos/modules/tasks/scsi-link-power-management.nix index a74023dec21a..484c0a0186d7 100644 --- a/nixos/modules/tasks/scsi-link-power-management.nix +++ b/nixos/modules/tasks/scsi-link-power-management.nix @@ -2,18 +2,19 @@ with lib; +let cfg = config.powerManagement.scsiLinkPolicy; in + { ###### interface options = { powerManagement.scsiLinkPolicy = mkOption { - default = ""; - example = "min_power"; - type = types.str; + default = null; + type = types.nullOr (types.enum [ "min_power" "max_performance" "medium_power" ]); description = '' - Configure the SCSI link power management policy. By default, - the kernel configures "max_performance". + SCSI link power management policy. The kernel default is + "max_performance". ''; }; @@ -22,25 +23,10 @@ with lib; ###### implementation - config = mkIf (config.powerManagement.scsiLinkPolicy != "") { - - jobs."scsi-link-pm" = - { description = "SCSI Link Power Management Policy"; - - startOn = "stopped udevtrigger"; - - task = true; - - unitConfig.ConditionPathIsReadWrite = "/sys/class/scsi_host"; - - script = '' - shopt -s nullglob - for x in /sys/class/scsi_host/host*/link_power_management_policy; do - echo ${config.powerManagement.scsiLinkPolicy} > $x - done - ''; - }; - + config = mkIf (cfg != null) { + services.udev.extraRules = '' + SUBSYSTEM=="scsi_host", ACTION=="add", KERNEL=="host*", ATTR{link_power_management_policy}="${cfg}" + ''; }; } diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix index 0c642bf3b816..718ca0851477 100644 --- a/nixos/modules/virtualisation/docker.nix +++ b/nixos/modules/virtualisation/docker.nix @@ -31,16 +31,11 @@ in socketActivation = mkOption { type = types.bool; - default = false; + default = true; description = '' This option enables docker with socket activation. I.e. docker will start when first called by client. - - Note: This is false by default because systemd lower than 214 that - nixos uses so far, doesn't support SocketGroup option, so socket - created by docker has root group now. This will likely be changed - in future. So set this option explicitly to false if you wish. ''; }; storageDriver = diff --git a/nixos/release.nix b/nixos/release.nix index 1a1ed4bca410..f0df3fe3e1ef 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -276,6 +276,7 @@ in rec { tests.networkingProxy = callTest tests/networking-proxy.nix {}; tests.nfs3 = callTest tests/nfs.nix { version = 3; }; tests.nfs4 = callTest tests/nfs.nix { version = 4; }; + tests.nixosPinVersion = callTest tests/nixos-pin-version.nix {}; tests.nsd = callTest tests/nsd.nix {}; tests.openssh = callTest tests/openssh.nix {}; tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; }); @@ -284,6 +285,7 @@ in rec { tests.proxy = callTest tests/proxy.nix {}; tests.quake3 = callTest tests/quake3.nix {}; tests.runInMachine = callTest tests/run-in-machine.nix {}; + tests.sddm = callTest tests/sddm.nix {}; tests.simple = callTest tests/simple.nix {}; tests.tomcat = callTest tests/tomcat.nix {}; tests.udisks2 = callTest tests/udisks2.nix {}; diff --git a/nixos/tests/nixos-pin-version.nix b/nixos/tests/nixos-pin-version.nix new file mode 100644 index 000000000000..91fba2e759d2 --- /dev/null +++ b/nixos/tests/nixos-pin-version.nix @@ -0,0 +1,57 @@ +{ system ? builtins.currentSystem }: + +with import ../lib/testing.nix { inherit system; }; +let +in + +pkgs.stdenv.mkDerivation rec { + name = "nixos-pin-version"; + src = ../..; + buildInputs = with pkgs; [ nix gnugrep ]; + + withoutPath = pkgs.writeText "configuration.nix" '' + { + nixos.extraModules = [ ({lib, ...}: { system.nixosRevision = lib.mkForce "ABCDEF"; }) ]; + } + ''; + + withPath = pkgs.writeText "configuration.nix" '' + { + nixos.path = ${src}/nixos ; + nixos.extraModules = [ ({lib, ...}: { system.nixosRevision = lib.mkForce "ABCDEF"; }) ]; + } + ''; + + phases = "buildPhase"; + buildPhase = '' + datadir="${pkgs.nix}/share" + export TEST_ROOT=$(pwd)/test-tmp + export NIX_STORE_DIR=$TEST_ROOT/store + export NIX_LOCALSTATE_DIR=$TEST_ROOT/var + export NIX_LOG_DIR=$TEST_ROOT/var/log/nix + export NIX_STATE_DIR=$TEST_ROOT/var/nix + export NIX_DB_DIR=$TEST_ROOT/db + export NIX_CONF_DIR=$TEST_ROOT/etc + export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests + export NIX_BUILD_HOOK= + export PAGER=cat + cacheDir=$TEST_ROOT/binary-cache + nix-store --init + + export NIX_PATH="nixpkgs=$src:nixos=$src/nixos:nixos-config=${withoutPath}" ; + if test $(nix-instantiate $src/nixos -A config.system.nixosRevision --eval-only) != '"ABCDEF"' ; then :; + else + echo "Unexpected re-entry without the nixos.path option defined."; + exit 1; + fi; + + export NIX_PATH="nixpkgs=$src:nixos=$src/nixos:nixos-config=${withPath}" ; + if test $(nix-instantiate $src/nixos -A config.system.nixosRevision --eval-only) = '"ABCDEF"' ; then :; + else + echo "Expected a re-entry when the nixos.path option is defined."; + exit 1; + fi; + + touch $out; + ''; +} diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix new file mode 100644 index 000000000000..e11b5714d5c2 --- /dev/null +++ b/nixos/tests/sddm.nix @@ -0,0 +1,28 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "sddm"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ ttuegel ]; + }; + + machine = { lib, ... }: { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.xserver.displayManager.sddm = { + enable = true; + autoLogin = { + enable = true; + user = "alice"; + }; + }; + services.xserver.windowManager.default = "icewm"; + services.xserver.windowManager.icewm.enable = true; + services.xserver.desktopManager.default = "none"; + }; + + enableOCR = true; + + testScript = { nodes, ... }: '' + startAll; + $machine->waitForWindow("^IceWM "); + ''; +}) diff --git a/pkgs/applications/altcoins/dashpay.nix b/pkgs/applications/altcoins/dashpay.nix index 68a0926c4668..2e9f17017a2d 100644 --- a/pkgs/applications/altcoins/dashpay.nix +++ b/pkgs/applications/altcoins/dashpay.nix @@ -28,6 +28,6 @@ stdenv.mkDerivation rec { ''; homepage = http://dashpay.io; maintainers = with maintainers; [ AndersonTorres ]; - platforms = with platforms; unix; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index 221955e2bf94..1bf8b0e5c7dc 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -4,12 +4,12 @@ }: stdenv.mkDerivation rec { - version = "2.0.5"; + version = "2.1.1"; name = "audacity-${version}"; src = fetchurl { - url = "http://audacity.googlecode.com/files/audacity-minsrc-${version}.tar.xz"; - sha256 = "0y9bvc3a3zxsk31yg7bha029mzkjiw5i9m86kbyj7x8ps0fm91z2"; + url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"; + sha256 = "15c5ff7ac1c0b19b08f4bdcb0f4988743da2f9ed3fab41d6f07600e67cb9ddb6"; }; # fix with gcc-5 from http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2012-December/245884.html @@ -34,13 +34,13 @@ stdenv.mkDerivation rec { ]; #ToDo: detach sbsms dontDisableStatic = true; - doCheck = true; + doCheck = false; # Test fails - meta = with stdenv.lib; { + meta = { description = "Sound editor with graphical UI"; - homepage = http://audacity.sourceforge.net; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = [ maintainers.the-kenny ]; + homepage = http://audacityteam.org/; + license = stdenv.lib.licenses.gpl2Plus; + platforms = with stdenv.lib.platforms; linux; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; }; } diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix index c1b5aef333b8..456a22ee697a 100644 --- a/pkgs/applications/audio/cava/default.nix +++ b/pkgs/applications/audio/cava/default.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { description = "Console-based Audio Visualizer for Alsa"; homepage = https://github.com/karlstav/cava; maintainers = with maintainers; [offline]; - platforms = with platforms; linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix new file mode 100644 index 000000000000..7be510a64183 --- /dev/null +++ b/pkgs/applications/audio/helm/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchgit, xorg, freetype, alsaLib, libjack2 +, lv2, pkgconfig, mesa }: + +stdenv.mkDerivation rec { + name = "helm-git-2015-09-11"; + + src = fetchgit { + url = "https://github.com/mtytel/helm.git"; + rev = "ad798d4a0a2e7db52e1a7451176ff198a393cdb4"; + sha256 = "0ic4xjikq7s2p53507ykv89844j6sqcd9mh3y59a6wnslr5wq1cw"; + }; + + buildInputs = [ + xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext + xorg.libXinerama xorg.libXrender xorg.libXrandr + freetype alsaLib libjack2 pkgconfig mesa lv2 + ]; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/lib/lv2 + cp -a standalone/builds/linux/build/* $out/bin + cp -a builds/linux/LV2/* $out/lib/lv2/ + ''; + + meta = with stdenv.lib; { + homepage = http://tytel.org/helm; + description = "A free, cross-platform, polyphonic synthesizer"; + longDescription = '' + A free, cross-platform, polyphonic synthesizer. + Features: + 32 voice polyphony + Interactive visual interface + Powerful modulation system with live visual feedback + Dual oscillators with cross modulation and up to 15 oscillators each + Unison and Harmony mode for oscillators + Oscillator feedback and saturation for waveshaping + 12 different waveforms + 7 filter types with keytracking + 2 monophonic and 1 polyphonic LFO + Step sequencer + Lots of modulation sources including polyphonic aftertouch + Simple arpeggiator + Effects: Formant filter, stutter, delay + ''; + license = stdenv.lib.licenses.gpl3; + maintainers = [ maintainers.magnetophon ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/keyfinder/default.nix b/pkgs/applications/audio/keyfinder/default.nix index ffd8d071ab21..7706203104ca 100644 --- a/pkgs/applications/audio/keyfinder/default.nix +++ b/pkgs/applications/audio/keyfinder/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { ''; homepage = http://www.ibrahimshaath.co.uk/keyfinder/; license = licenses.gpl3Plus; - platforms = with platforms; linux; + platforms = platforms.linux; maintainers = with maintainers; [ nckx ]; }; diff --git a/pkgs/applications/audio/mhwaveedit/default.nix b/pkgs/applications/audio/mhwaveedit/default.nix index d0259ada3cf7..d640ddaeb942 100644 --- a/pkgs/applications/audio/mhwaveedit/default.nix +++ b/pkgs/applications/audio/mhwaveedit/default.nix @@ -1,5 +1,6 @@ -{ stdenv, fetchurl, SDL , alsaLib, gtk, libjack2, ladspaH -, ladspaPlugins, libsamplerate, libsndfile, pkgconfig, libpulseaudio }: +{ stdenv, fetchurl, makeWrapper, SDL , alsaLib, gtk, libjack2, ladspaH +, ladspaPlugins, libsamplerate, libsndfile, pkgconfig, libpulseaudio, lame +, vorbisTools }: stdenv.mkDerivation rec { name = "mhwaveedit-${version}"; @@ -10,15 +11,19 @@ stdenv.mkDerivation rec { sha256 = "010rk4mr631s440q9cfgdxx2avgzysr9aq52diwdlbq9cddifli3"; }; - buildInputs = - [ SDL alsaLib gtk libjack2 ladspaH libsamplerate libsndfile - pkgconfig libpulseaudio - ]; + buildInputs = [ SDL alsaLib gtk libjack2 ladspaH libsamplerate libsndfile + pkgconfig libpulseaudio makeWrapper ]; configureFlags = "--with-default-ladspa-path=${ladspaPlugins}/lib/ladspa"; + postInstall = '' + wrapProgram $out/bin/mhwaveedit \ + --prefix PATH : ${lame}/bin/ \ + --prefix PATH : ${vorbisTools}/bin/ + ''; + meta = with stdenv.lib; { - description = "graphical program for editing, playing and recording sound files"; + description = "Graphical program for editing, playing and recording sound files"; homepage = https://gna.org/projects/mhwaveedit; license = licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix new file mode 100644 index 000000000000..ce5844ca7f12 --- /dev/null +++ b/pkgs/applications/audio/sonic-pi/default.nix @@ -0,0 +1,60 @@ +{ stdenv +, fetchFromGitHub +, qscintilla +, supercollider +, ruby +, cmake +, pkgconfig +, qt48Full +, bash +, makeWrapper +}: + +stdenv.mkDerivation rec { + version = "2.8.0"; + name = "sonic-pi-${version}"; + + src = fetchFromGitHub { + owner = "samaaron"; + repo = "sonic-pi"; + rev = "v${version}"; + sha256 = "1yyavgazb6ar7xnmjx460s9p8nh70klaja2yb20nci15k8vngq9h"; + }; + + buildInputs = [ + qscintilla + supercollider + ruby + qt48Full + cmake + pkgconfig + bash + makeWrapper + ]; + + meta = { + homepage = http://sonic-pi.net/; + description = "Free live coding synth for everyone originally designed to support computing and music lessons within schools"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.Phlogistique ]; + platforms = stdenv.lib.platforms.linux; + }; + + dontUseCmakeConfigure = true; + + buildPhase = '' + pushd app/server/bin + ${ruby}/bin/ruby compile-extensions.rb + popd + + pushd app/gui/qt + ${bash}/bin/bash rp-build-app + popd + ''; + + installPhase = '' + cp -r . $out + wrapProgram $out/bin/sonic-pi --prefix PATH : \ + ${ruby}/bin:${bash}/bin + ''; +} diff --git a/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch b/pkgs/applications/display-managers/sddm/0001-ignore-config-mtime.patch similarity index 60% rename from pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch rename to pkgs/applications/display-managers/sddm/0001-ignore-config-mtime.patch index 9edd9a7b5382..836df2de292d 100644 --- a/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch +++ b/pkgs/applications/display-managers/sddm/0001-ignore-config-mtime.patch @@ -1,8 +1,17 @@ +From e9d82bfbc49993a5be2c93f6b72a969630587f26 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 23 Nov 2015 06:56:28 -0600 +Subject: [PATCH 1/2] ignore config mtime + +--- + src/common/ConfigReader.cpp | 5 ----- + 1 file changed, 5 deletions(-) + diff --git a/src/common/ConfigReader.cpp b/src/common/ConfigReader.cpp -index 6618455..5356e76 100644 +index cfc9940..5bf5a6a 100644 --- a/src/common/ConfigReader.cpp +++ b/src/common/ConfigReader.cpp -@@ -136,11 +136,6 @@ namespace SDDM { +@@ -138,11 +138,6 @@ namespace SDDM { QString currentSection = QStringLiteral(IMPLICIT_SECTION); QFile in(m_path); @@ -14,3 +23,6 @@ index 6618455..5356e76 100644 in.open(QIODevice::ReadOnly); while (!in.atEnd()) { +-- +2.6.3 + diff --git a/pkgs/applications/display-managers/sddm/0002-fix-ConfigReader-QStringList-corruption.patch b/pkgs/applications/display-managers/sddm/0002-fix-ConfigReader-QStringList-corruption.patch new file mode 100644 index 000000000000..ad5dcbc472db --- /dev/null +++ b/pkgs/applications/display-managers/sddm/0002-fix-ConfigReader-QStringList-corruption.patch @@ -0,0 +1,26 @@ +From 7a18f4cb77c567dec9ad924fcc76c50092de6ee7 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 23 Nov 2015 06:57:51 -0600 +Subject: [PATCH 2/2] fix ConfigReader QStringList corruption + +--- + src/common/ConfigReader.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/common/ConfigReader.cpp b/src/common/ConfigReader.cpp +index 5bf5a6a..34182e6 100644 +--- a/src/common/ConfigReader.cpp ++++ b/src/common/ConfigReader.cpp +@@ -30,7 +30,8 @@ + + QTextStream &operator>>(QTextStream &str, QStringList &list) { + list.clear(); +- foreach(const QStringRef &s, str.readLine().splitRef(QLatin1Char(','))) ++ QString line = str.readLine(); ++ foreach(const QStringRef &s, line.splitRef(QLatin1Char(','))) + { + QStringRef trimmed = s.trimmed(); + if (!trimmed.isEmpty()) +-- +2.6.3 + diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index 5851f1af6390..dc891605d1b6 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -14,7 +14,10 @@ stdenv.mkDerivation rec { sha256 = "0c3q8lpb123m9k5x3i71mm8lmyzhknw77zxh89yfl8qmn6zd61i1"; }; - patches = [ ./sddm-ignore-config-mtime.patch ]; + patches = [ + ./0001-ignore-config-mtime.patch + ./0002-fix-ConfigReader-QStringList-corruption.patch + ]; nativeBuildInputs = [ cmake makeQtWrapper pkgconfig qttools ]; diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix index bd1597b02ba6..e3dc175b339a 100644 --- a/pkgs/applications/editors/atom/default.nix +++ b/pkgs/applications/editors/atom/default.nix @@ -16,11 +16,11 @@ let }; in stdenv.mkDerivation rec { name = "atom-${version}"; - version = "1.1.0"; + version = "1.2.0"; src = fetchurl { url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; - sha256 = "1rbwwwryhcasqgn2y1d9hvi3n4dag50dh1fd9hmkx4h9nmm3mbi0"; + sha256 = "05s3kvsz6pzh4gm22aaps1nccp76skfshdzlqwg0qn0ljz58sdqh"; name = "${name}.deb"; }; diff --git a/pkgs/applications/editors/brackets/default.nix b/pkgs/applications/editors/brackets/default.nix new file mode 100644 index 000000000000..131675486bad --- /dev/null +++ b/pkgs/applications/editors/brackets/default.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchurl, buildEnv, gtk, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf +, cups, libgcrypt_1_5, makeWrapper, dbus, udev }: +let + bracketsEnv = buildEnv { + name = "env-brackets"; + paths = [ + gtk glib gdk_pixbuf stdenv.cc.cc alsaLib nss nspr gconf cups libgcrypt_1_5 + dbus udev + ]; + }; +in +stdenv.mkDerivation rec { + name = "brackets-${version}"; + version = "1.5"; + + src = fetchurl { + url = "https://github.com/adobe/brackets/releases/download/release-${version}/Brackets.Release.${version}.64-bit.deb"; + sha256 = "1fc8wvh9wbcydd1sw20yfnwlfv7nllb6vrssr6hgn80m7i0zl3db"; + name = "${name}.deb"; + }; + + phases = [ "installPhase" ]; + + buildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out + ar p $src data.tar.xz | tar -C $out -xJ + + mv $out/usr/* $out/ + rmdir $out/usr + ln -sf $out/opt/brackets/brackets $out/bin/brackets + + ln -s ${udev}/lib/libudev.so.1 $out/opt/brackets/lib/libudev.so.0 + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \ + $out/opt/brackets/Brackets + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $out/opt/brackets/Brackets-node + + patchelf \ + --set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \ + $out/opt/brackets/lib/libcef.so + + wrapProgram $out/opt/brackets/brackets \ + --prefix LD_LIBRARY_PATH : "${bracketsEnv}/lib:${bracketsEnv}/lib64" + + substituteInPlace $out/opt/brackets/brackets.desktop \ + --replace "Exec=/opt/brackets/brackets" "Exec=brackets" + mkdir -p $out/share/applications + ln -s $out/opt/brackets/brackets.desktop $out/share/applications/ + ''; + + meta = with stdenv.lib; { + description = "An open source code editor for the web, written in JavaScript, HTML and CSS"; + homepage = http://brackets.io/; + license = licenses.mit; + maintainers = [ maintainers.matejc ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/jabber/default.nix b/pkgs/applications/editors/emacs-modes/jabber/default.nix index 781806bedd67..c0ddbc88cf27 100644 --- a/pkgs/applications/editors/emacs-modes/jabber/default.nix +++ b/pkgs/applications/editors/emacs-modes/jabber/default.nix @@ -18,6 +18,6 @@ stdenv.mkDerivation rec { homepage = http://emacs-jabber.sourceforge.net/; license = licenses.gpl2Plus; maintainers = with maintainers; [ astsmtl ]; - platforms = with platforms; linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix index 5dd839d56514..1b99d44bcc5a 100644 --- a/pkgs/applications/editors/geany/default.nix +++ b/pkgs/applications/editors/geany/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file }: let - version = "1.25"; + version = "1.26"; in stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://download.geany.org/${name}.tar.bz2"; - sha256 = "8ee41da28cead8c94d433e616d7ababa81727c63e9196ca6758ade3af14a49ef"; + sha256 = "e38530e87c577e1e9806be3b40e08fb9ee321eb1abc6361ddacdad89c825f90d"; }; buildInputs = [ gtk2 which pkgconfig intltool file ]; diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 0323baabe49e..ca8aca5c1e39 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -212,14 +212,14 @@ in android-studio = buildAndroidStudio rec { name = "android-studio-${version}"; - version = "1.4.0.10"; - build = "141.2288178"; + version = "1.5.0.4"; + build = "141.2422023"; description = "Android development environment based on IntelliJ IDEA"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://dl.google.com/dl/android/studio/ide-zips/${version}" + "/android-studio-ide-${build}-linux.zip"; - sha256 = "04zzzk6xlvzip6klxvs4zz2wyfyn3w9b5jwilzbqjidiz2d3va57"; + sha256 = "1sjxs9cq7mdalxmzp6v2gwbg1w8p43c2cp5j4v212w66h5rqv11z"; }; }; @@ -237,25 +237,25 @@ in idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "15.0"; - build = "IC-143.381"; + version = "15.0.1"; + build = "IC-143.382"; description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; - sha256 = "0d39ipwji76gkc7w5bcl7a94kdz5cwmcnwmvq1lzm06v43jjq51s"; + sha256 = "1dbwzj12xkv2xw5nrhr779ac24hag0rb96dlagzyxcvc44xigjps"; }; }; idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "15.0"; - build = "IU-143.381"; + version = "15.0.1"; + build = "IU-143.382"; description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz"; - sha256 = "1hw8hqpzkdlp0ilax6anzjybhmjb40s16jblyplqpah065pc8rja"; + sha256 = "0bw6qvsvhw0nabv01bgsbnl78vimnz2kb280jzv0ikmhxranyk0z"; }; }; @@ -273,25 +273,25 @@ in pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "5.0"; - build = "143.589"; + version = "5.0.1"; + build = "143.595"; description = "PyCharm Community Edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { - url = "https://download-cf.jetbrains.com/python/${name}.tar.gz"; - sha256 = "01q51m6rpyw296imiglbadzfr0r91wvyrxdid683yl7f5v73wzwh"; + url = "https://download.jetbrains.com/python/${name}.tar.gz"; + sha256 = "14m3imy64cp2l9pnmknxbjzj3z30rx88r4brz9d5xk5qailjg2wf"; }; }; pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "5.0"; - build = "143.589"; + version = "5.0.1"; + build = "143.595"; description = "PyCharm Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { - url = "https://download-cf.jetbrains.com/python/${name}.tar.gz"; - sha256 = "16lwg00dl03gwj4dqihdrn15p1fy8513srw2dslna1w1glfajv06"; + url = "https://download.jetbrains.com/python/${name}.tar.gz"; + sha256 = "102sfjvchk80911w3qpjsp30wvq73kgpwyqcqdgqxcgm2vqh3183"; }; }; diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix index d69c1e27c4aa..69e9ab35e96e 100644 --- a/pkgs/applications/editors/vim/macvim.nix +++ b/pkgs/applications/editors/vim/macvim.nix @@ -1,15 +1,17 @@ -{ stdenv, fetchurl, ncurses, gettext, - pkgconfig, cscope, python, ruby, tcl, perl, luajit +{ stdenv, fetchFromGitHub, ncurses, gettext +, pkgconfig, cscope, python, ruby, tcl, perl, luajit }: stdenv.mkDerivation rec { name = "macvim-${version}"; - version = "7.4.648"; + version = "7.4.909"; - src = fetchurl { - url = "https://github.com/genoma/macvim/archive/g-snapshot-32.tar.gz"; - sha256 = "1wqg5sy7krgqg3sj00gb34avg90ga2kbvv09bsxv2267j7agi0iq"; + src = fetchFromGitHub { + owner = "macvim-dev"; + repo = "macvim"; + rev = "75aa7774645adb586ab9010803773bd80e659254"; + sha256 = "0k04jimbms6zffh8i8fjm2y51q01m5kga2n4djipd3pxij1qy89y"; }; enableParallelBuilding = true; @@ -54,7 +56,16 @@ stdenv.mkDerivation rec { makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"''; + # This is unfortunate, but we need to use the same compiler as XCode, + # but XCode doesn't provide a way to configure the compiler. + # + # If you're willing to modify the system files, you can do this: + # http://hamelot.co.uk/programming/add-gcc-compiler-to-xcode-6/ + # + # But we don't have that option. preConfigure = '' + CC=/usr/bin/clang + DEV_DIR=$(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer configureFlagsArray+=( "--with-developer-dir=$DEV_DIR" diff --git a/pkgs/applications/editors/vim/macvim.patch b/pkgs/applications/editors/vim/macvim.patch index a42ebd4cc03c..e8f34aba537d 100644 --- a/pkgs/applications/editors/vim/macvim.patch +++ b/pkgs/applications/editors/vim/macvim.patch @@ -1,5 +1,5 @@ diff --git a/src/MacVim/MacVim.xcodeproj/project.pbxproj b/src/MacVim/MacVim.xcodeproj/project.pbxproj -index 1c5ff47..677a2cc 100644 +index c384bf7..bf1ce96 100644 --- a/src/MacVim/MacVim.xcodeproj/project.pbxproj +++ b/src/MacVim/MacVim.xcodeproj/project.pbxproj @@ -437,6 +437,8 @@ @@ -27,44 +27,24 @@ index 1c5ff47..677a2cc 100644 PRODUCT_NAME = MacVim; VERSIONING_SYSTEM = "apple-generic"; WRAPPER_EXTENSION = app; - -diff --git a/src/vimtutor b/src/vimtutor -index 70d9ec7..b565a1a 100755 ---- a/src/vimtutor -+++ b/src/vimtutor -@@ -16,7 +16,7 @@ seq="vim vim8 vim75 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi" - if test "$1" = "-g"; then - # Try to use the GUI version of Vim if possible, it will fall back - # on Vim if Gvim is not installed. -- seq="gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq" -+ seq="mvim gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq" - shift - fi - - +diff --git a/src/Makefile b/src/Makefile +index 84a93f7..e23196d 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -1306,7 +1306,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \ + MacVim/MacVim.m + MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o objects/pty.o \ + objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o +-MACVIMGUI_DEFS = -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe ++MACVIMGUI_DEFS = -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe + MACVIMGUI_IPATH = + MACVIMGUI_LIBS_DIR = + MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon diff --git a/src/auto/configure b/src/auto/configure -index bc9f074..9b9125e 100755 +index cdc0819..8e2fd16 100755 --- a/src/auto/configure +++ b/src/auto/configure -@@ -2252,7 +2252,7 @@ rm -f conftest.val - as_fn_set_status $ac_retval - - } # ac_fn_c_compute_int --cat >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; } +@@ -5383,10 +5383,7 @@ $as_echo "no" >&6; } fi if test "X$vi_cv_path_mzscheme_pfx" != "X"; then @@ -76,7 +56,7 @@ index bc9f074..9b9125e 100755 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; } +@@ -5731,23 +5728,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; } fi if test "x$MACOSX" = "xyes"; then @@ -100,18 +80,21 @@ index bc9f074..9b9125e 100755 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 @@ __: +@@ -5954,13 +5934,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" +- if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then +- vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python" +- fi - 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 +@@ -5979,7 +5952,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//` @@ -119,7 +102,7 @@ index bc9f074..9b9125e 100755 fi -@@ -6004,13 +5979,6 @@ rm -f core conftest.err conftest.$ac_objext \ +@@ -6055,13 +6027,6 @@ rm -f core conftest.err conftest.$ac_objext \ $as_echo "no" >&6; } fi @@ -133,7 +116,7 @@ index bc9f074..9b9125e 100755 { $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; }; +@@ -6919,11 +6884,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; } @@ -145,7 +128,7 @@ index bc9f074..9b9125e 100755 TCL_INC= for try in $tclinc; do if test -f "$try/tcl.h"; then -@@ -6875,12 +6839,8 @@ $as_echo "" >&6; } +@@ -6941,12 +6902,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; } @@ -158,7 +141,7 @@ index bc9f074..9b9125e 100755 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; } +@@ -7120,10 +7077,6 @@ $as_echo "$rubyhdrdir" >&6; } if test -f "$rubylibdir/$librubya"; then librubyarg="$librubyarg" RUBY_LIBS="$RUBY_LIBS -L$rubylibdir" @@ -169,41 +152,8 @@ index bc9f074..9b9125e 100755 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/src/Makefile b/src/Makefile -index 1c4d104..fff2015 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -1298,7 +1298,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \ - MacVim/MacVim.m - MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o objects/pty.o \ - objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o --MACVIMGUI_DEFS = -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -+MACVIMGUI_DEFS = -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe - MACVIMGUI_IPATH = - MACVIMGUI_LIBS_DIR = - MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon - diff --git a/src/if_python.c b/src/if_python.c -index b356bf7..b7bfa78 100644 +index 1d87cac..9d28df0 100644 --- a/src/if_python.c +++ b/src/if_python.c @@ -55,11 +55,7 @@ @@ -219,4 +169,63 @@ index b356bf7..b7bfa78 100644 #if !defined(PY_VERSION_HEX) || PY_VERSION_HEX < 0x02050000 # undef PY_SSIZE_T_CLEAN - MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon +diff --git a/src/if_ruby.c b/src/if_ruby.c +index 1deb83e..ac23878 100644 +--- a/src/if_ruby.c ++++ b/src/if_ruby.c +@@ -106,17 +106,9 @@ + # define rb_check_type rb_check_type_stub + #endif + +-#ifdef FEAT_GUI_MACVIM +-# include +-#else +-# include +-#endif ++#include + #ifdef RUBY19_OR_LATER +-# ifdef FEAT_GUI_MACVIM +-# include +-# else +-# include +-# endif ++# include + #endif + + #undef off_t /* ruby defines off_t as _int64, Mingw uses long */ +diff --git a/src/vim.h b/src/vim.h +index 4c93908..edc6bd7 100644 +--- a/src/vim.h ++++ b/src/vim.h +@@ -308,18 +308,6 @@ + # define UNUSED + #endif + +-/* if we're compiling in C++ (currently only KVim), the system +- * headers must have the correct prototypes or nothing will build. +- * conversely, our prototypes might clash due to throw() specifiers and +- * cause compilation failures even though the headers are correct. For +- * a concrete example, gcc-3.2 enforces exception specifications, and +- * glibc-2.2.5 has them in their system headers. +- */ +-#if !defined(__cplusplus) && defined(UNIX) \ +- && !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */ +-# include "auto/osdef.h" /* bring missing declarations in */ +-#endif +- + #ifdef __EMX__ + # define getcwd _getcwd2 + # define chdir _chdir2 +diff --git a/src/vimtutor b/src/vimtutor +index 70d9ec7..b565a1a 100755 +--- a/src/vimtutor ++++ b/src/vimtutor +@@ -16,7 +16,7 @@ seq="vim vim8 vim75 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi" + if test "$1" = "-g"; then + # Try to use the GUI version of Vim if possible, it will fall back + # on Vim if Gvim is not installed. +- seq="gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq" ++ seq="mvim gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq" + shift + fi + diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix index 46fefc9fd7b5..200d091b64a0 100644 --- a/pkgs/applications/gis/saga/default.nix +++ b/pkgs/applications/gis/saga/default.nix @@ -2,15 +2,15 @@ libharu, opencv, vigra, postgresql }: stdenv.mkDerivation rec { - name = "saga-2.2.1"; + name = "saga-2.2.2"; buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma jasper ]; enableParallelBuilding = true; src = fetchurl { - url = "http://sourceforge.net/projects/saga-gis/files/SAGA%20-%202.2/SAGA%202.2.1/saga_2.2.1.tar.gz"; - sha256 = "325e0890c28dc19c4ec727f58672be67480b2a4dd6604252c0cc4cc08aad34d0"; + url = "http://downloads.sourceforge.net/project/saga-gis/SAGA%20-%202.2/SAGA%202.2.2/saga-2.2.2.tar.gz"; + sha256 = "031cd70b7ec248f32f955a9316aefc7f7ab283c5129c49aa4bd748717d20357e"; }; meta = { diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix index 57dd49f7eb7c..0390021d8397 100644 --- a/pkgs/applications/graphics/freecad/default.nix +++ b/pkgs/applications/graphics/freecad/default.nix @@ -1,19 +1,19 @@ { stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts , boost, zlib, python, swig, gfortran, soqt, libf2c, makeWrapper -, matplotlib, pycollada, pyside, pysideShiboken }: +, matplotlib, pycollada, pyside, pysideTools, pysideShiboken }: stdenv.mkDerivation rec { name = "freecad-${version}"; - version = "0.14.3702"; + version = "0.15"; src = fetchurl { - url = "mirror://sourceforge/free-cad/${name}.tar.gz"; - sha256 = "1jcx7d3mp2wxkd20qdvr4vlf7h5wb0jgab9dl63sicdz88swy97f"; + url = https://github.com/FreeCAD/FreeCAD/archive/0.15.tar.gz; + sha256 = "1vndvywvq86hyhmg629bkn5ag4lk2mg1pl4dq7jvbjvbrczb12fc"; }; buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost zlib python swig gfortran soqt libf2c makeWrapper matplotlib - pycollada pyside pysideShiboken + pycollada pyside pysideShiboken pysideTools ]; enableParallelBuilding = true; @@ -23,13 +23,16 @@ stdenv.mkDerivation rec { export NIX_LDFLAGS="-L${gfortran.cc}/lib64 -L${gfortran.cc}/lib $NIX_LDFLAGS"; ''; + # Their main() removes PYTHONPATH=, and we rely on it. + preConfigure = '' + sed '/putenv("PYTHONPATH/d' -i src/Main/MainGui.cpp + ''; + postInstall = '' wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \ --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1 ''; - patches = [ ./pythonpath.patch ]; - meta = with stdenv.lib; { description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler"; homepage = http://www.freecadweb.org/; diff --git a/pkgs/applications/graphics/freecad/pythonpath.patch b/pkgs/applications/graphics/freecad/pythonpath.patch deleted file mode 100644 index 8b09a5748071..000000000000 --- a/pkgs/applications/graphics/freecad/pythonpath.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/src/Main/MainGui.cpp b/src/Main/MainGui.cpp -index 03407c5..b029384 100644 ---- a/src/Main/MainGui.cpp -+++ b/src/Main/MainGui.cpp -@@ -190,15 +190,15 @@ int main( int argc, char ** argv ) - // http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559846 - putenv("LANG=C"); - putenv("LC_ALL=C"); -- putenv("PYTHONPATH="); -+ //putenv("PYTHONPATH="); - #elif defined(FC_OS_MACOSX) - (void)QLocale::system(); - putenv("LANG=C"); - putenv("LC_ALL=C"); -- putenv("PYTHONPATH="); -+ //putenv("PYTHONPATH="); - #else - setlocale(LC_NUMERIC, "C"); -- _putenv("PYTHONPATH="); -+ //_putenv("PYTHONPATH="); - #endif - - // Name and Version of the Application diff --git a/pkgs/applications/graphics/imv/default.nix b/pkgs/applications/graphics/imv/default.nix index b5d44eb4ccef..462f657f2a7b 100644 --- a/pkgs/applications/graphics/imv/default.nix +++ b/pkgs/applications/graphics/imv/default.nix @@ -3,7 +3,7 @@ }: stdenv.mkDerivation rec { - name = "imv"; + name = "imv-${version}"; version = "1.0.0"; src = fetchFromGitHub { diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix new file mode 100644 index 000000000000..f1a46b63d588 --- /dev/null +++ b/pkgs/applications/graphics/phototonic/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, qt5, exiv2 }: + +stdenv.mkDerivation rec { + name = "phototonic-${version}"; + version = "1.7"; + + src = fetchFromGitHub { + repo = "phototonic"; + owner = "oferkv"; + rev = "v${version}"; + sha256 = "1agd3bsrpljd019qrjvlbim5l0bhpx53dhpc0gvyn0wmcdzn92gj"; + }; + + buildInputs = [ qt5.base exiv2 ]; + + configurePhase = '' + sed -i 's;/usr;;' phototonic.pro + qmake PREFIX="" + ''; + + installFlags = [ "INSTALL_ROOT=$(out)" ]; + + meta = with stdenv.lib; { + description = "An image viewer and organizer"; + homepage = http://oferkv.github.io/phototonic/; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ pSub ]; + }; +} diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index cbb72471de55..5e5371166eee 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite -, webkitgtk24x, pkgconfig, gnome3, gst_all_1, which, udev, libraw, glib, json_glib +, webkitgtk24x, pkgconfig, gnome3, gst_all_1, which, udev, libgudev, libraw, glib, json_glib , gettext, desktop_file_utils, lcms2, gdk_pixbuf, librsvg, makeWrapper , gnome_doc_utils, hicolor_icon_theme }: @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkitgtk24x pkgconfig gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee - which udev gnome3.gexiv2 hicolor_icon_theme + which udev libgudev gnome3.gexiv2 hicolor_icon_theme libraw json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg makeWrapper gnome_doc_utils gnome3.rest gnome3.defaultIconTheme ]; diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix index 7c68e94100f7..1943d24382ae 100644 --- a/pkgs/applications/graphics/simple-scan/default.nix +++ b/pkgs/applications/graphics/simple-scan/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool, libusb , libxml2, makeWrapper, pkgconfig, saneBackends, systemd, vala }: -let version = "3.19.1"; in +let version = "3.19.2"; in stdenv.mkDerivation rec { name = "simple-scan-${version}"; src = fetchurl { - sha256 = "1d2a8cncq36ly60jpz0fzdw1lgxynl6lyrlw0q66yijlxqn81ynr"; + sha256 = "08454ky855iaiq5wn9rdbfal3i4fjss5fn5mg6cmags50wy9spsg"; url = "https://launchpad.net/simple-scan/3.19/${version}/+download/${name}.tar.xz"; }; @@ -14,6 +14,13 @@ stdenv.mkDerivation rec { systemd vala ]; nativeBuildInputs = [ intltool itstool makeWrapper pkgconfig ]; + configureFlags = [ "--disable-packagekit" ]; + + preBuild = '' + # Clean up stale generated .c files still referencing packagekit headers: + make clean + ''; + enableParallelBuilding = true; doCheck = true; diff --git a/pkgs/applications/graphics/xaos/default.nix b/pkgs/applications/graphics/xaos/default.nix index 7e01d3847d56..44c8313d9c3a 100644 --- a/pkgs/applications/graphics/xaos/default.nix +++ b/pkgs/applications/graphics/xaos/default.nix @@ -1,34 +1,28 @@ -a @ { libXt, libX11, libXext, xextproto, xproto, gsl, aalib, zlib, intltool, gettext, perl, ... }: -let - fetchurl = a.fetchurl; +{ stdenv, fetchurl, aalib, gsl, libpng, libX11, xproto, libXext +, xextproto, libXt, zlib, gettext, intltool, perl }: + +stdenv.mkDerivation rec { + name = "xaos-${version}"; + version = "3.6"; - version = a.lib.attrByPath ["version"] "3.6" a; - buildInputs = with a; [ - aalib gsl libpng libX11 xproto libXext xextproto - libXt zlib gettext intltool perl - ]; -in -rec { src = fetchurl { - url = "mirror://sourceforge/xaos/xaos-${version}.tar.gz"; + url = "mirror://sourceforge/xaos/${name}.tar.gz"; sha256 = "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq"; }; - inherit buildInputs; - configureFlags = []; + buildInputs = [ + aalib gsl libpng libX11 xproto libXext xextproto + libXt zlib gettext intltool perl + ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["preConfigure" "doConfigure" "doMakeInstall"]; - - preConfigure = a.fullDepEntry ('' + preConfigure = '' sed -e s@/usr/@"$out/"@g -i configure $(find . -name 'Makefile*') mkdir -p $out/share/locale - '') ["doUnpack" "minInit" "defEnsureDir"]; + ''; - name = "xaos-" + version; meta = { homepage = http://xaos.sourceforge.net/; description = "Fractal viewer"; - license = a.stdenv.lib.licenses.gpl2Plus; + license = stdenv.lib.licenses.gpl2Plus; }; } diff --git a/pkgs/applications/kde-apps-15.12/ark.nix b/pkgs/applications/kde-apps-15.12/ark.nix new file mode 100644 index 000000000000..36a1ca7cfbd7 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/ark.nix @@ -0,0 +1,58 @@ +{ kdeApp +, lib +, extra-cmake-modules +, kdoctools +, karchive +, kconfig +, kcrash +, kdbusaddons +, ki18n +, kiconthemes +, khtml +, kio +, kservice +, kpty +, kwidgetsaddons +, libarchive +, p7zip +, unrar +, unzipNLS +, zip +}: + +let PATH = lib.makeSearchPath "bin" [ + p7zip unrar unzipNLS zip + ]; +in + +kdeApp { + name = "ark"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + karchive + kconfig + kcrash + kdbusaddons + kiconthemes + kservice + kpty + kwidgetsaddons + libarchive + ]; + propagatedBuildInputs = [ + khtml + ki18n + kio + ]; + postInstall = '' + wrapQtProgram "$out/bin/ark" \ + --prefix PATH : "${PATH}" + ''; + meta = { + license = with lib.licenses; [ gpl2 lgpl3 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/baloo-widgets.nix b/pkgs/applications/kde-apps-15.12/baloo-widgets.nix new file mode 100644 index 000000000000..a24928160df1 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/baloo-widgets.nix @@ -0,0 +1,35 @@ +{ kdeApp +, lib +, extra-cmake-modules +, kdoctools +, kconfig +, kio +, ki18n +, kservice +, kfilemetadata +, baloo +, kdelibs4support +}: + +kdeApp { + name = "baloo-widgets"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kconfig + kservice + ]; + propagatedBuildInputs = [ + baloo + kdelibs4support + kfilemetadata + ki18n + kio + ]; + meta = { + license = [ lib.licenses.lgpl21 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/default.nix b/pkgs/applications/kde-apps-15.12/default.nix new file mode 100644 index 000000000000..0c8c0780aaf2 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/default.nix @@ -0,0 +1,54 @@ +# Maintainer's Notes: +# +# Minor updates: +# 1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes +# releases updates that include only the changed packages; in this case, +# multiple URLs can be provided and the results will be merged. +# 2. Run ./manifest.sh and ./dependencies.sh. +# 3. Build and enjoy. +# +# Major updates: +# We prefer not to immediately overwrite older versions with major updates, so +# make a copy of this directory first. After copying, be sure to delete ./tmp +# if it exists. Then follow the minor update instructions. + +{ pkgs, debug ? false }: + +let + + inherit (pkgs) lib stdenv; + + srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; + mirror = "mirror://kde"; + + kdeApp = import ./kde-app.nix { + inherit stdenv lib; + inherit debug srcs; + }; + + packages = self: with self; { + inherit (pkgs.kdeApps_15_08) kdelibs ksnapshot; + + ark = callPackage ./ark.nix {}; + baloo-widgets = callPackage ./baloo-widgets.nix {}; + dolphin = callPackage ./dolphin.nix {}; + dolphin-plugins = callPackage ./dolphin-plugins.nix {}; + ffmpegthumbs = callPackage ./ffmpegthumbs.nix {}; + gpgmepp = callPackage ./gpgmepp.nix {}; + gwenview = callPackage ./gwenview.nix {}; + kate = callPackage ./kate.nix {}; + kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {}; + kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; }; + konsole = callPackage ./konsole.nix {}; + libkdcraw = callPackage ./libkdcraw.nix {}; + libkexiv2 = callPackage ./libkexiv2.nix {}; + libkipi = callPackage ./libkipi.nix {}; + okular = callPackage ./okular.nix {}; + print-manager = callPackage ./print-manager.nix {}; + + l10n = pkgs.recurseIntoAttrs (import ./l10n.nix { inherit callPackage lib pkgs; }); + }; + + newScope = scope: pkgs.kf516.newScope ({ inherit kdeApp; } // scope); + +in lib.makeScope newScope packages diff --git a/pkgs/applications/kde-apps-15.12/dolphin-plugins.nix b/pkgs/applications/kde-apps-15.12/dolphin-plugins.nix new file mode 100644 index 000000000000..72a08c732614 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/dolphin-plugins.nix @@ -0,0 +1,31 @@ +{ kdeApp +, lib +, extra-cmake-modules +, kdoctools +, kxmlgui +, ki18n +, kio +, kdelibs4support +, dolphin +}: + +kdeApp { + name = "dolphin-plugins"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kxmlgui + dolphin + ]; + propagatedBuildInputs = [ + kdelibs4support + ki18n + kio + ]; + meta = { + license = [ lib.licenses.gpl2 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/dolphin.nix b/pkgs/applications/kde-apps-15.12/dolphin.nix new file mode 100644 index 000000000000..3218146f510e --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/dolphin.nix @@ -0,0 +1,70 @@ +{ kdeApp +, lib +, extra-cmake-modules +, kdoctools +, makeQtWrapper +, kinit +, kcmutils +, kcoreaddons +, knewstuff +, ki18n +, kdbusaddons +, kbookmarks +, kconfig +, kio +, kparts +, solid +, kiconthemes +, kcompletion +, ktexteditor +, kwindowsystem +, knotifications +, kactivities +, phonon +, baloo +, baloo-widgets +, kfilemetadata +, kdelibs4support +}: + +kdeApp { + name = "dolphin"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + kinit + kcmutils + kcoreaddons + knewstuff + kdbusaddons + kbookmarks + kconfig + kparts + solid + kiconthemes + kcompletion + knotifications + phonon + baloo-widgets + ]; + propagatedBuildInputs = [ + baloo + kactivities + kdelibs4support + kfilemetadata + ki18n + kio + ktexteditor + kwindowsystem + ]; + postInstall = '' + wrapQtProgram "$out/bin/dolphin" + ''; + meta = { + license = with lib.licenses; [ gpl2 fdl12 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/fetchsrcs.sh b/pkgs/applications/kde-apps-15.12/fetchsrcs.sh new file mode 100755 index 000000000000..a5d568a2b6f7 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/fetchsrcs.sh @@ -0,0 +1,56 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p coreutils findutils gnused nix wget + +set -x + +# The trailing slash at the end is necessary! +WGET_ARGS='http://download.kde.org/unstable/applications/15.11.80/ -A *.tar.xz' + +mkdir tmp; cd tmp + +rm -f ../srcs.csv + +wget -nH -r -c --no-parent $WGET_ARGS + +find . | while read src; do + if [[ -f "${src}" ]]; then + # Sanitize file name + filename=$(basename "$src" | tr '@' '_') + nameVersion="${filename%.tar.*}" + name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,') + version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,') + echo "$name,$version,$src,$filename" >>../srcs.csv + fi +done + +cat >../srcs.nix <>../srcs.nix <>../srcs.nix + +rm -f ../srcs.csv + +cd .. diff --git a/pkgs/applications/kde-apps-15.12/ffmpegthumbs.nix b/pkgs/applications/kde-apps-15.12/ffmpegthumbs.nix new file mode 100644 index 000000000000..53e9d807d647 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/ffmpegthumbs.nix @@ -0,0 +1,21 @@ +{ kdeApp +, lib +, extra-cmake-modules +, ffmpeg +, kio +}: + +kdeApp { + name = "ffmpegthumbs"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + ffmpeg + kio + ]; + meta = { + license = with lib.licenses; [ gpl2 bsd3 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/gpgmepp.nix b/pkgs/applications/kde-apps-15.12/gpgmepp.nix new file mode 100644 index 000000000000..ac14573dcaa3 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/gpgmepp.nix @@ -0,0 +1,21 @@ +{ kdeApp +, lib +, extra-cmake-modules +, boost +, gpgme +}: + +kdeApp { + name = "gpgmepp"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + boost + gpgme + ]; + meta = { + license = with lib.licenses; [ lgpl21 bsd3 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/gwenview.nix b/pkgs/applications/kde-apps-15.12/gwenview.nix new file mode 100644 index 000000000000..732ac11e96d0 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/gwenview.nix @@ -0,0 +1,44 @@ +{ kdeApp +, lib +, extra-cmake-modules +, kdoctools +, makeQtWrapper +, baloo +, exiv2 +, kactivities +, kdelibs4support +, kio +, lcms2 +, phonon +, qtsvg +, qtx11extras +}: + +kdeApp { + name = "gwenview"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + exiv2 + lcms2 + phonon + qtsvg + ]; + propagatedBuildInputs = [ + baloo + kactivities + kdelibs4support + kio + qtx11extras + ]; + postInstall = '' + wrapQtProgram "$out/bin/gwenview" + ''; + meta = { + license = with lib.licenses; [ gpl2 fdl12 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/kate.nix b/pkgs/applications/kde-apps-15.12/kate.nix new file mode 100644 index 000000000000..91eeb2314a4c --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/kate.nix @@ -0,0 +1,69 @@ +{ kdeApp +, lib +, extra-cmake-modules +, kdoctools +, qtscript +, kactivities +, kconfig +, kcrash +, kguiaddons +, kiconthemes +, ki18n +, kinit +, kjobwidgets +, kio +, kparts +, ktexteditor +, kwindowsystem +, kxmlgui +, kdbusaddons +, kwallet +, plasma-framework +, kitemmodels +, knotifications +, threadweaver +, knewstuff +, libgit2 +}: + +kdeApp { + name = "kate"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + qtscript + kconfig + kcrash + kguiaddons + kiconthemes + kinit + kjobwidgets + kparts + kxmlgui + kdbusaddons + kwallet + kitemmodels + knotifications + threadweaver + knewstuff + libgit2 + ]; + propagatedBuildInputs = [ + kactivities + ki18n + kio + ktexteditor + kwindowsystem + plasma-framework + ]; + postInstall = '' + wrapQtProgram "$out/bin/kate" + wrapQtProgram "$out/bin/kwrite" + ''; + meta = { + license = with lib.licenses; [ gpl3 lgpl3 lgpl2 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/kde-app.nix b/pkgs/applications/kde-apps-15.12/kde-app.nix new file mode 100644 index 000000000000..242f3d9c793d --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/kde-app.nix @@ -0,0 +1,23 @@ +{ stdenv, lib, debug, srcs }: + +args: + +let + inherit (args) name; + sname = args.sname or name; + inherit (srcs."${sname}") src version; +in +stdenv.mkDerivation (args // { + name = "${name}-${version}"; + inherit src; + + cmakeFlags = + (args.cmakeFlags or []) + ++ [ "-DBUILD_TESTING=OFF" ] + ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; + + meta = { + platforms = lib.platforms.linux; + homepage = "http://www.kde.org"; + } // (args.meta or {}); +}) diff --git a/pkgs/applications/kde-apps-15.12/kde-locale-4.nix b/pkgs/applications/kde-apps-15.12/kde-locale-4.nix new file mode 100644 index 000000000000..4b612ee3e3c2 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/kde-locale-4.nix @@ -0,0 +1,20 @@ +name: args: + +{ kdeApp, automoc4, cmake, gettext, kdelibs, perl }: + +kdeApp (args // { + sname = "kde-l10n-${name}"; + name = "kde-l10n-${name}-qt4"; + + nativeBuildInputs = + [ automoc4 cmake gettext perl ] + ++ (args.nativeBuildInputs or []); + buildInputs = + [ kdelibs ] + ++ (args.buildInputs or []); + + preConfigure = '' + sed -e 's/add_subdirectory(5)//' -i CMakeLists.txt + ${args.preConfigure or ""} + ''; +}) diff --git a/pkgs/applications/kde-apps-15.12/kde-locale-5.nix b/pkgs/applications/kde-apps-15.12/kde-locale-5.nix new file mode 100644 index 000000000000..522fc542aeb2 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/kde-locale-5.nix @@ -0,0 +1,17 @@ +name: args: + +{ kdeApp, cmake, extra-cmake-modules, gettext, kdoctools }: + +kdeApp (args // { + sname = "kde-l10n-${name}"; + name = "kde-l10n-${name}-qt5"; + + nativeBuildInputs = + [ cmake extra-cmake-modules gettext kdoctools ] + ++ (args.nativeBuildInputs or []); + + preConfigure = '' + sed -e 's/add_subdirectory(4)//' -i CMakeLists.txt + ${args.preConfigure or ""} + ''; +}) diff --git a/pkgs/applications/kde-apps-15.12/kdegraphics-thumbnailers.nix b/pkgs/applications/kde-apps-15.12/kdegraphics-thumbnailers.nix new file mode 100644 index 000000000000..520bad0d066a --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/kdegraphics-thumbnailers.nix @@ -0,0 +1,23 @@ +{ kdeApp +, lib +, extra-cmake-modules +, kio +, libkexiv2 +, libkdcraw +}: + +kdeApp { + name = "kdegraphics-thumbnailers"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + kio + libkexiv2 + libkdcraw + ]; + meta = { + license = [ lib.licenses.lgpl21 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/kgpg.nix b/pkgs/applications/kde-apps-15.12/kgpg.nix new file mode 100644 index 000000000000..3ee925197189 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/kgpg.nix @@ -0,0 +1,38 @@ +{ kdeApp +, lib +, automoc4 +, cmake +, makeWrapper +, perl +, pkgconfig +, boost +, gpgme +, kdelibs +, kdepimlibs +, gnupg +}: + +kdeApp { + name = "kgpg"; + nativeBuildInputs = [ + automoc4 + cmake + makeWrapper + perl + pkgconfig + ]; + buildInputs = [ + boost + gpgme + kdelibs + kdepimlibs + ]; + postInstall = '' + wrapProgram "$out/bin/kgpg" \ + --prefix PATH : "${gnupg}/bin" + ''; + meta = { + license = [ lib.licenses.gpl2 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/konsole.nix b/pkgs/applications/kde-apps-15.12/konsole.nix new file mode 100644 index 000000000000..4b4cba2a3779 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/konsole.nix @@ -0,0 +1,68 @@ +{ kdeApp +, lib +, extra-cmake-modules +, kdoctools +, makeQtWrapper +, qtscript +, kbookmarks +, kcompletion +, kconfig +, kconfigwidgets +, kcoreaddons +, kguiaddons +, ki18n +, kiconthemes +, kinit +, kdelibs4support +, kio +, knotifications +, knotifyconfig +, kparts +, kpty +, kservice +, ktextwidgets +, kwidgetsaddons +, kwindowsystem +, kxmlgui +}: + +kdeApp { + name = "konsole"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + qtscript + kbookmarks + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kguiaddons + kiconthemes + kinit + kio + knotifications + knotifyconfig + kparts + kpty + kservice + ktextwidgets + kwidgetsaddons + kxmlgui + ]; + propagatedBuildInputs = [ + kdelibs4support + ki18n + kwindowsystem + ]; + postInstall = '' + wrapQtProgram "$out/bin/konsole" + ''; + meta = { + license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/ksnapshot.nix b/pkgs/applications/kde-apps-15.12/ksnapshot.nix new file mode 100644 index 000000000000..b757f4f04037 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/ksnapshot.nix @@ -0,0 +1,29 @@ +{ kdeApp +, lib +, automoc4 +, cmake +, perl +, pkgconfig +, kdelibs +, libkipi +, libXfixes +}: + +kdeApp { + name = "ksnapshot"; + nativeBuildInputs = [ + automoc4 + cmake + perl + pkgconfig + ]; + buildInputs = [ + kdelibs + libkipi + libXfixes + ]; + meta = { + license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/l10n.nix b/pkgs/applications/kde-apps-15.12/l10n.nix new file mode 100644 index 000000000000..a0605e3bd55d --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/l10n.nix @@ -0,0 +1,237 @@ +{ callPackage, pkgs, lib }: + +let + + kdeLocale4 = import ./kde-locale-4.nix; + kdeLocale5 = import ./kde-locale-5.nix; + +in + +lib.mapAttrs (name: attr: pkgs.recurseIntoAttrs attr) { + ar = { + qt4 = callPackage (kdeLocale4 "ar" {}) {}; + qt5 = callPackage (kdeLocale5 "ar" {}) {}; + }; + bg = { + qt4 = callPackage (kdeLocale4 "bg" {}) {}; + qt5 = callPackage (kdeLocale5 "bg" {}) {}; + }; + bs = { + qt4 = callPackage (kdeLocale4 "bs" {}) {}; + qt5 = callPackage (kdeLocale5 "bs" {}) {}; + }; + ca = { + qt4 = callPackage (kdeLocale4 "ca" {}) {}; + qt5 = callPackage (kdeLocale5 "ca" {}) {}; + }; + ca_valencia = { + qt4 = callPackage (kdeLocale4 "ca_valencia" {}) {}; + qt5 = callPackage (kdeLocale5 "ca_valencia" {}) {}; + }; + cs = { + qt4 = callPackage (kdeLocale4 "cs" {}) {}; + qt5 = callPackage (kdeLocale5 "cs" {}) {}; + }; + da = { + qt4 = callPackage (kdeLocale4 "da" {}) {}; + qt5 = callPackage (kdeLocale5 "da" {}) {}; + }; + de = { + qt4 = callPackage (kdeLocale4 "de" {}) {}; + qt5 = callPackage (kdeLocale5 "de" {}) {}; + }; + el = { + qt4 = callPackage (kdeLocale4 "el" {}) {}; + qt5 = callPackage (kdeLocale5 "el" {}) {}; + }; + en_GB = { + qt4 = callPackage (kdeLocale4 "en_GB" {}) {}; + qt5 = callPackage (kdeLocale5 "en_GB" {}) {}; + }; + eo = { + qt4 = callPackage (kdeLocale4 "eo" {}) {}; + qt5 = callPackage (kdeLocale5 "eo" {}) {}; + }; + es = { + qt4 = callPackage (kdeLocale4 "es" {}) {}; + qt5 = callPackage (kdeLocale5 "es" {}) {}; + }; + et = { + qt4 = callPackage (kdeLocale4 "et" {}) {}; + qt5 = callPackage (kdeLocale5 "et" {}) {}; + }; + eu = { + qt4 = callPackage (kdeLocale4 "eu" {}) {}; + qt5 = callPackage (kdeLocale5 "eu" {}) {}; + }; + fa = { + qt4 = callPackage (kdeLocale4 "fa" {}) {}; + qt5 = callPackage (kdeLocale5 "fa" {}) {}; + }; + fi = { + qt4 = callPackage (kdeLocale4 "fi" {}) {}; + qt5 = callPackage (kdeLocale5 "fi" {}) {}; + }; + fr = { + qt4 = callPackage (kdeLocale4 "fr" {}) {}; + qt5 = callPackage (kdeLocale5 "fr" {}) {}; + }; + ga = { + qt4 = callPackage (kdeLocale4 "ga" {}) {}; + qt5 = callPackage (kdeLocale5 "ga" {}) {}; + }; + gl = { + qt4 = callPackage (kdeLocale4 "gl" {}) {}; + qt5 = callPackage (kdeLocale5 "gl" {}) {}; + }; + he = { + qt4 = callPackage (kdeLocale4 "he" {}) {}; + qt5 = callPackage (kdeLocale5 "he" {}) {}; + }; + hi = { + qt4 = callPackage (kdeLocale4 "hi" {}) {}; + qt5 = callPackage (kdeLocale5 "hi" {}) {}; + }; + hr = { + qt4 = callPackage (kdeLocale4 "hr" {}) {}; + qt5 = callPackage (kdeLocale5 "hr" {}) {}; + }; + hu = { + qt4 = callPackage (kdeLocale4 "hu" {}) {}; + qt5 = callPackage (kdeLocale5 "hu" {}) {}; + }; + ia = { + qt4 = callPackage (kdeLocale4 "ia" {}) {}; + qt5 = callPackage (kdeLocale5 "ia" {}) {}; + }; + id = { + qt4 = callPackage (kdeLocale4 "id" {}) {}; + qt5 = callPackage (kdeLocale5 "id" {}) {}; + }; + is = { + qt4 = callPackage (kdeLocale4 "is" {}) {}; + qt5 = callPackage (kdeLocale5 "is" {}) {}; + }; + it = { + qt4 = callPackage (kdeLocale4 "it" {}) {}; + qt5 = callPackage (kdeLocale5 "it" {}) {}; + }; + ja = { + qt4 = callPackage (kdeLocale4 "ja" {}) {}; + qt5 = callPackage (kdeLocale5 "ja" {}) {}; + }; + kk = { + qt4 = callPackage (kdeLocale4 "kk" {}) {}; + qt5 = callPackage (kdeLocale5 "kk" {}) {}; + }; + km = { + qt4 = callPackage (kdeLocale4 "km" {}) {}; + qt5 = callPackage (kdeLocale5 "km" {}) {}; + }; + ko = { + qt4 = callPackage (kdeLocale4 "ko" {}) {}; + qt5 = callPackage (kdeLocale5 "ko" {}) {}; + }; + lt = { + qt4 = callPackage (kdeLocale4 "lt" {}) {}; + qt5 = callPackage (kdeLocale5 "lt" {}) {}; + }; + lv = { + qt4 = callPackage (kdeLocale4 "lv" {}) {}; + qt5 = callPackage (kdeLocale5 "lv" {}) {}; + }; + mr = { + qt4 = callPackage (kdeLocale4 "mr" {}) {}; + qt5 = callPackage (kdeLocale5 "mr" {}) {}; + }; + nb = { + qt4 = callPackage (kdeLocale4 "nb" {}) {}; + qt5 = callPackage (kdeLocale5 "nb" {}) {}; + }; + nds = { + qt4 = callPackage (kdeLocale4 "nds" {}) {}; + qt5 = callPackage (kdeLocale5 "nds" {}) {}; + }; + # TODO: build broken in 15.11.80; re-enable in next release + /* + nl = { + qt4 = callPackage (kdeLocale4 "nl" {}) {}; + qt5 = callPackage (kdeLocale5 "nl" {}) {}; + }; + */ + nn = { + qt4 = callPackage (kdeLocale4 "nn" {}) {}; + qt5 = callPackage (kdeLocale5 "nn" {}) {}; + }; + pa = { + qt4 = callPackage (kdeLocale4 "pa" {}) {}; + qt5 = callPackage (kdeLocale5 "pa" {}) {}; + }; + pl = { + qt4 = callPackage (kdeLocale4 "pl" {}) {}; + qt5 = callPackage (kdeLocale5 "pl" {}) {}; + }; + pt = { + qt4 = callPackage (kdeLocale4 "pt" {}) {}; + qt5 = callPackage (kdeLocale5 "pt" {}) {}; + }; + pt_BR = { + qt4 = callPackage (kdeLocale4 "pt_BR" {}) {}; + qt5 = callPackage (kdeLocale5 "pt_BR" {}) {}; + }; + ro = { + qt4 = callPackage (kdeLocale4 "ro" {}) {}; + qt5 = callPackage (kdeLocale5 "ro" {}) {}; + }; + ru = { + qt4 = callPackage (kdeLocale4 "ru" {}) {}; + qt5 = callPackage (kdeLocale5 "ru" {}) {}; + }; + sk = { + qt4 = callPackage (kdeLocale4 "sk" {}) {}; + qt5 = callPackage (kdeLocale5 "sk" {}) {}; + }; + sl = { + qt4 = callPackage (kdeLocale4 "sl" {}) {}; + qt5 = callPackage (kdeLocale5 "sl" {}) {}; + }; + sr = { + qt4 = callPackage (kdeLocale4 "sr" {}) {}; + qt5 = callPackage (kdeLocale5 "sr" { + preConfigure = '' + sed -e 's/add_subdirectory(kdesdk)//' -i 5/sr/data/CMakeLists.txt + ''; + }) {}; + }; + sv = { + qt4 = callPackage (kdeLocale4 "sv" {}) {}; + qt5 = callPackage (kdeLocale5 "sv" {}) {}; + }; + tr = { + qt4 = callPackage (kdeLocale4 "tr" {}) {}; + qt5 = callPackage (kdeLocale5 "tr" {}) {}; + }; + ug = { + qt4 = callPackage (kdeLocale4 "ug" {}) {}; + qt5 = callPackage (kdeLocale5 "ug" {}) {}; + }; + # TODO: build broken in 15.11.80; re-enable in next release + /* + uk = { + qt4 = callPackage (kdeLocale4 "uk" {}) {}; + qt5 = callPackage (kdeLocale5 "uk" {}) {}; + }; + */ + wa = { + qt4 = callPackage (kdeLocale4 "wa" {}) {}; + qt5 = callPackage (kdeLocale5 "wa" {}) {}; + }; + zh_CN = { + qt4 = callPackage (kdeLocale4 "zh_CN" {}) {}; + qt5 = callPackage (kdeLocale5 "zh_CN" {}) {}; + }; + zh_TW = { + qt4 = callPackage (kdeLocale4 "zh_TW" {}) {}; + qt5 = callPackage (kdeLocale5 "zh_TW" {}) {}; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/libkdcraw.nix b/pkgs/applications/kde-apps-15.12/libkdcraw.nix new file mode 100644 index 000000000000..319c7fc6583d --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/libkdcraw.nix @@ -0,0 +1,19 @@ +{ kdeApp +, lib +, extra-cmake-modules +, libraw +}: + +kdeApp { + name = "libkdcraw"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + libraw + ]; + meta = { + license = with lib.licenses; [ gpl2 lgpl21 bsd3 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/libkexiv2.nix b/pkgs/applications/kde-apps-15.12/libkexiv2.nix new file mode 100644 index 000000000000..afb1ac836537 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/libkexiv2.nix @@ -0,0 +1,19 @@ +{ kdeApp +, lib +, exiv2 +, extra-cmake-modules +}: + +kdeApp { + name = "libkexiv2"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + exiv2 + ]; + meta = { + license = with lib.licenses; [ gpl2 lgpl21 bsd3 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/libkipi.nix b/pkgs/applications/kde-apps-15.12/libkipi.nix new file mode 100644 index 000000000000..c23cd8578fb9 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/libkipi.nix @@ -0,0 +1,22 @@ +{ kdeApp +, lib +, extra-cmake-modules +, kconfig +, ki18n +, kservice +, kxmlgui +}: + +kdeApp { + name = "libkipi"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + kconfig ki18n kservice kxmlgui + ]; + meta = { + license = with lib.licenses; [ gpl2 lgpl21 bsd3 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/okular.nix b/pkgs/applications/kde-apps-15.12/okular.nix new file mode 100644 index 000000000000..0691325d7a52 --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/okular.nix @@ -0,0 +1,41 @@ +{ kdeApp +, lib +, automoc4 +, cmake +, perl +, pkgconfig +, kdelibs +, qimageblitz +, poppler_qt4 +, libspectre +, libkexiv2 +, djvulibre +, libtiff +, freetype +, ebook_tools +}: + +kdeApp { + name = "okular"; + nativeBuildInputs = [ + automoc4 + cmake + perl + pkgconfig + ]; + buildInputs = [ + kdelibs + qimageblitz + poppler_qt4 + libspectre + libkexiv2 + djvulibre + libtiff + freetype + ebook_tools + ]; + meta = { + license = with lib.licenses; [ gpl2 lgpl21 fdl12 bsd3 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/print-manager.nix b/pkgs/applications/kde-apps-15.12/print-manager.nix new file mode 100644 index 000000000000..b4eab372789d --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/print-manager.nix @@ -0,0 +1,47 @@ +{ kdeApp +, lib +, extra-cmake-modules +, qtdeclarative +, cups +, kconfig +, kconfigwidgets +, kdbusaddons +, kiconthemes +, ki18n +, kcmutils +, kio +, knotifications +, plasma-framework +, kwidgetsaddons +, kwindowsystem +, kitemviews +}: + +kdeApp { + name = "print-manager"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + cups + kconfig + kconfigwidgets + kdbusaddons + kiconthemes + kcmutils + knotifications + kwidgetsaddons + kitemviews + ]; + propagatedBuildInputs = [ + ki18n + kio + kwindowsystem + plasma-framework + qtdeclarative + ]; + meta = { + license = [ lib.licenses.gpl2 ]; + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/applications/kde-apps-15.12/srcs.nix b/pkgs/applications/kde-apps-15.12/srcs.nix new file mode 100644 index 000000000000..ffd12f9e242c --- /dev/null +++ b/pkgs/applications/kde-apps-15.12/srcs.nix @@ -0,0 +1,1925 @@ +# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh +{ fetchurl, mirror }: + +{ + akonadi = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/akonadi-15.11.80.tar.xz"; + sha256 = "02a4j9ydxqvjv5kpp8nlw7j0jil0ryqrv39ibypcfm73hx09xxkn"; + name = "akonadi-15.11.80.tar.xz"; + }; + }; + akonadi-calendar = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/akonadi-calendar-15.11.80.tar.xz"; + sha256 = "1cdyv10gfc5ygiz726vxzr17s6bk28bla7z8vidn9nkh922wn3k4"; + name = "akonadi-calendar-15.11.80.tar.xz"; + }; + }; + akonadi-search = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/akonadi-search-15.11.80.tar.xz"; + sha256 = "0749i1hqwyn4l12039vq2ckm72p9ajcmr9mljsn9vcil9cvd8g82"; + name = "akonadi-search-15.11.80.tar.xz"; + }; + }; + analitza = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/analitza-15.11.80.tar.xz"; + sha256 = "1x8l71acmg2fswwlc4pci6681nz7r1qsvbcfdw3alq76l28zmrhp"; + name = "analitza-15.11.80.tar.xz"; + }; + }; + ark = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ark-15.11.80.tar.xz"; + sha256 = "1sj6mkzxy4gw19yclps5jn54780is5vpr526bvmbsa2vgj8njxcw"; + name = "ark-15.11.80.tar.xz"; + }; + }; + artikulate = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/artikulate-15.11.80.tar.xz"; + sha256 = "0qxykga1kyc6viyqdsqngfvnrf0wk81h54ybrlq3bgkirnfmng07"; + name = "artikulate-15.11.80.tar.xz"; + }; + }; + audiocd-kio = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/audiocd-kio-15.11.80.tar.xz"; + sha256 = "0l4x2gm1f6qwzvdq57h0z1zw1qkg7dah5zb2gpjz6apggw4iah00"; + name = "audiocd-kio-15.11.80.tar.xz"; + }; + }; + baloo-widgets = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/baloo-widgets-15.11.80.tar.xz"; + sha256 = "11wf2gf64dd8xxyk32kviyxki8f0ddg86nzw5g19l9drspils6jh"; + name = "baloo-widgets-15.11.80.tar.xz"; + }; + }; + blinken = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/blinken-15.11.80.tar.xz"; + sha256 = "1lib5mq4xy8xphxfa3ljcdzqp1kd08f1zc7ch6sfb124dv9yzpln"; + name = "blinken-15.11.80.tar.xz"; + }; + }; + bomber = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/bomber-15.11.80.tar.xz"; + sha256 = "1rldcx532llxy22y6r1lvz6y8zh66mby5in59snzp5gv1bj6aq89"; + name = "bomber-15.11.80.tar.xz"; + }; + }; + bovo = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/bovo-15.11.80.tar.xz"; + sha256 = "1ypna943rq6sidx2zc23r8mm61jfhsc28bdi74v1qg4ishpsjls9"; + name = "bovo-15.11.80.tar.xz"; + }; + }; + cantor = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/cantor-15.11.80.tar.xz"; + sha256 = "0pfksygz9ng1c4vf3wfnw6w9dfr133hn7xnfdd2vymqh6bws8b34"; + name = "cantor-15.11.80.tar.xz"; + }; + }; + cervisia = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/cervisia-15.11.80.tar.xz"; + sha256 = "0hrbxd3db71kcnvjv64184c3cqankzdnfyfjj4ar1sznvvl29836"; + name = "cervisia-15.11.80.tar.xz"; + }; + }; + dolphin = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/dolphin-15.11.80.tar.xz"; + sha256 = "1c7i3akafqhrrv6aq992fl9a9ki2mgs6y9cd6ha320x6npl1f1rj"; + name = "dolphin-15.11.80.tar.xz"; + }; + }; + dolphin-plugins = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/dolphin-plugins-15.11.80.tar.xz"; + sha256 = "0vn02bjwch54cg1rfrad12g773r3slhdnl9kpfy1kgjra5p2vdm9"; + name = "dolphin-plugins-15.11.80.tar.xz"; + }; + }; + dragon = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/dragon-15.11.80.tar.xz"; + sha256 = "1vv8kxrz2444n8ffi4vq99vi7a64ywbhmy4dx6k055hzpcmh5005"; + name = "dragon-15.11.80.tar.xz"; + }; + }; + ffmpegthumbs = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ffmpegthumbs-15.11.80.tar.xz"; + sha256 = "0zcaz96rd178w22cqmlay3iq2gb3j6snyy2fd0x4xnzmhmwnvxm6"; + name = "ffmpegthumbs-15.11.80.tar.xz"; + }; + }; + filelight = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/filelight-15.11.80.tar.xz"; + sha256 = "0i2iwrq83j2jv4kw3nakiprxdk8i9zk700pvcm9p89ls2h91gv0k"; + name = "filelight-15.11.80.tar.xz"; + }; + }; + gpgmepp = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/gpgmepp-15.11.80.tar.xz"; + sha256 = "14igg9kpkv1762q9jjzdc3289swj5l2a21q9xj3smabf7b3mzm3d"; + name = "gpgmepp-15.11.80.tar.xz"; + }; + }; + granatier = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/granatier-15.11.80.tar.xz"; + sha256 = "11rsgjl9fkdhwwmszj3sx97mmrks77qhj9zfwb4rgd67q6q8vrzm"; + name = "granatier-15.11.80.tar.xz"; + }; + }; + gwenview = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/gwenview-15.11.80.tar.xz"; + sha256 = "1w67bgbsfykg0lsh7vapimgp3wmlygdq9pcwdrbdscymwhhpirj3"; + name = "gwenview-15.11.80.tar.xz"; + }; + }; + jovie = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/jovie-15.11.80.tar.xz"; + sha256 = "1mlwm31dbph2dzsjg64rbjq7nr3i6fnh5h45xlmbq6fi1906h9kw"; + name = "jovie-15.11.80.tar.xz"; + }; + }; + juk = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/juk-15.11.80.tar.xz"; + sha256 = "0lc0x5pscqnzi5mhwsdd0qrqi8b8nwsqbqplfrbk4zlg5dvql7nl"; + name = "juk-15.11.80.tar.xz"; + }; + }; + kaccessible = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kaccessible-15.11.80.tar.xz"; + sha256 = "0vg684xnr46iipil058vwwa75rigq3hdq2isfzhi5qxxm9n1n6ri"; + name = "kaccessible-15.11.80.tar.xz"; + }; + }; + kaccounts-integration = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kaccounts-integration-15.11.80.tar.xz"; + sha256 = "0sbihlzd837q1p52vjc5ym7c5vsms00rl7l5wa72pd8q9haqabz8"; + name = "kaccounts-integration-15.11.80.tar.xz"; + }; + }; + kaccounts-providers = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kaccounts-providers-15.11.80.tar.xz"; + sha256 = "12127sk2ki8hxrwap7mazz6ksqn5wf6wh6h3qb5sw1k8ngmqaxqd"; + name = "kaccounts-providers-15.11.80.tar.xz"; + }; + }; + kajongg = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kajongg-15.11.80.tar.xz"; + sha256 = "017x84r78kf25hv9xl7ac9hsrkzxdxdzgdxhq74mgw3lsnp9vrvp"; + name = "kajongg-15.11.80.tar.xz"; + }; + }; + kalarmcal = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kalarmcal-15.11.80.tar.xz"; + sha256 = "1h11r2j2iw2cpd2javzpsnspjzy6h5bypj29j426m77b00d8jyaw"; + name = "kalarmcal-15.11.80.tar.xz"; + }; + }; + kalgebra = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kalgebra-15.11.80.tar.xz"; + sha256 = "160m1jvfx03dafvzz37jap023p9ap0b2f59r9ayaf1y7ldagdip5"; + name = "kalgebra-15.11.80.tar.xz"; + }; + }; + kalzium = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kalzium-15.11.80.tar.xz"; + sha256 = "0hw9a18h3ldvilz6aawnph62mc6v9yggapkyf478d9m7faqdpmll"; + name = "kalzium-15.11.80.tar.xz"; + }; + }; + kamera = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kamera-15.11.80.tar.xz"; + sha256 = "0zhi6aimih3szdph4vn0s7a48bn97glp0kxdy6mfkcmx4hgv59v8"; + name = "kamera-15.11.80.tar.xz"; + }; + }; + kanagram = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kanagram-15.11.80.tar.xz"; + sha256 = "1hhpzk4yf9pxmdkydwazdvzm3iayh07wwp1p06nhd91zxgjh696y"; + name = "kanagram-15.11.80.tar.xz"; + }; + }; + kapman = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kapman-15.11.80.tar.xz"; + sha256 = "1kdjdngsdm95w8skr21722nmv4h860gaa2zifbzkn387k348n23s"; + name = "kapman-15.11.80.tar.xz"; + }; + }; + kapptemplate = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kapptemplate-15.11.80.tar.xz"; + sha256 = "0xs5x6hlsm41axavdr3dbaqhcr5ncjigwxzcvr0d3v58k4w55va5"; + name = "kapptemplate-15.11.80.tar.xz"; + }; + }; + kate = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kate-15.11.80.tar.xz"; + sha256 = "0503hzhys5004d8f72j8q5vifi39shfkdvj3kvs1wy4naipg6906"; + name = "kate-15.11.80.tar.xz"; + }; + }; + katomic = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/katomic-15.11.80.tar.xz"; + sha256 = "0brp5zxaaw9ymyvdbw47c72s9ms6q0prgn327qmnzjpcvi1nagiv"; + name = "katomic-15.11.80.tar.xz"; + }; + }; + kblackbox = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kblackbox-15.11.80.tar.xz"; + sha256 = "06qpbivv7jmj900pizs35kivsyz34z6smw3vjmczh5cg6wccjwwc"; + name = "kblackbox-15.11.80.tar.xz"; + }; + }; + kblocks = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kblocks-15.11.80.tar.xz"; + sha256 = "0rf60pa73kj5zcyvswpx0pwwrkxif2z8gj75cj1qg20nl15xzcv9"; + name = "kblocks-15.11.80.tar.xz"; + }; + }; + kblog = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kblog-15.11.80.tar.xz"; + sha256 = "09ywpx0pkl518hshlcbqx5g7kfrivz0j440xkp7slzaw5ydslh9w"; + name = "kblog-15.11.80.tar.xz"; + }; + }; + kbounce = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kbounce-15.11.80.tar.xz"; + sha256 = "1brgv8zc9zw6hkg2315dhnqpk4s2wdv223pxxp7dqcjg28zmr8fs"; + name = "kbounce-15.11.80.tar.xz"; + }; + }; + kbreakout = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kbreakout-15.11.80.tar.xz"; + sha256 = "1rr606dgsj75cy665q94cdqz68glc0n8r59ihmwgjkz2xg06cpnc"; + name = "kbreakout-15.11.80.tar.xz"; + }; + }; + kbruch = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kbruch-15.11.80.tar.xz"; + sha256 = "1hqnxj4f005jbhhbhjac5lzpmhbfgmsw4mhqavw79v42nldmaygj"; + name = "kbruch-15.11.80.tar.xz"; + }; + }; + kcachegrind = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kcachegrind-15.11.80.tar.xz"; + sha256 = "0rc308n9yrjfmdg8v0fz4qmm9p8vvvihw9mvc7n31kpfwwlymx3n"; + name = "kcachegrind-15.11.80.tar.xz"; + }; + }; + kcalc = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kcalc-15.11.80.tar.xz"; + sha256 = "1dvnj2fnl6rjcfw373xplchzkkl63lr0h1b1d0h2l36i7j37g0ih"; + name = "kcalc-15.11.80.tar.xz"; + }; + }; + kcalcore = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kcalcore-15.11.80.tar.xz"; + sha256 = "1kxw4cvz72flb3587wzx1p8vykwhwjbsw2xq10z6zvk55s8y9g8h"; + name = "kcalcore-15.11.80.tar.xz"; + }; + }; + kcalutils = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kcalutils-15.11.80.tar.xz"; + sha256 = "0gnw0j92nk9gf40gn0ikbmij8qd3p8zsqwwcq8rbmrlh6g31cb94"; + name = "kcalutils-15.11.80.tar.xz"; + }; + }; + kcharselect = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kcharselect-15.11.80.tar.xz"; + sha256 = "0sdq3vwkcjm59gbyq7hz3lhpkwrhb6xv4rrdpw9wfhh50gy1ckif"; + name = "kcharselect-15.11.80.tar.xz"; + }; + }; + kcolorchooser = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kcolorchooser-15.11.80.tar.xz"; + sha256 = "1i2s7ay2r0ymfrhcnmvza627ni2m955c9m7c085h5qchgmljp994"; + name = "kcolorchooser-15.11.80.tar.xz"; + }; + }; + kcontacts = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kcontacts-15.11.80.tar.xz"; + sha256 = "1wa45vyd7j3zbi1wsz4z0mkhf2ii4qnb7pd8rshvh4z929f1kqg8"; + name = "kcontacts-15.11.80.tar.xz"; + }; + }; + kcron = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kcron-15.11.80.tar.xz"; + sha256 = "10dndgavnmwagkfylbji23kvyblnj5p7drygds6md0dqmcdnlvg6"; + name = "kcron-15.11.80.tar.xz"; + }; + }; + kde-baseapps = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-baseapps-15.11.80.tar.xz"; + sha256 = "14d5rx0rl6673h949b0c51pxx0a604wsv1sdwyd44ym6z7p5nvab"; + name = "kde-baseapps-15.11.80.tar.xz"; + }; + }; + kdebugsettings = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdebugsettings-15.11.80.tar.xz"; + sha256 = "1z0h2ng4v287bb1pjwfdq2slhy6ph516k458jyjsv2mgkjfi5fhi"; + name = "kdebugsettings-15.11.80.tar.xz"; + }; + }; + kde-dev-scripts = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-dev-scripts-15.11.80.tar.xz"; + sha256 = "001396pg0jgy3rdk44fi3c2bavqzbfryi75d0ldn33jzhpa2l7sl"; + name = "kde-dev-scripts-15.11.80.tar.xz"; + }; + }; + kde-dev-utils = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-dev-utils-15.11.80.tar.xz"; + sha256 = "0jkmgdap3win3znz089nc8znpa001scs0la7rni1a3fh7fm6x1pc"; + name = "kde-dev-utils-15.11.80.tar.xz"; + }; + }; + kdeedu-data = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdeedu-data-15.11.80.tar.xz"; + sha256 = "17mfb3xp5xpbx6wfs88frdqh9732jfliv4kq5nba8mh3h8vrnrrb"; + name = "kdeedu-data-15.11.80.tar.xz"; + }; + }; + kdegraphics-mobipocket = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdegraphics-mobipocket-15.11.80.tar.xz"; + sha256 = "1yydb4g0dd9pfq8lypp245y42zk18f63khp7na61c04k04d6vfwl"; + name = "kdegraphics-mobipocket-15.11.80.tar.xz"; + }; + }; + kdegraphics-strigi-analyzer = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdegraphics-strigi-analyzer-15.11.80.tar.xz"; + sha256 = "0z0gx48rjxad45ar4spppxndpr13zx4lvb8zx2whpdbhf43a8xng"; + name = "kdegraphics-strigi-analyzer-15.11.80.tar.xz"; + }; + }; + kdegraphics-thumbnailers = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdegraphics-thumbnailers-15.11.80.tar.xz"; + sha256 = "0gpwv1d8v2x631p2zdpq5b6wbr5zjvawh04pfajkbi45iby9z156"; + name = "kdegraphics-thumbnailers-15.11.80.tar.xz"; + }; + }; + kde-l10n-ar = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ar-15.11.80.tar.xz"; + sha256 = "07hdcqm0f5i47g7vzgdc7mhn03hv0nbrww24xqx7kmzxmq8ficik"; + name = "kde-l10n-ar-15.11.80.tar.xz"; + }; + }; + kde-l10n-bg = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-bg-15.11.80.tar.xz"; + sha256 = "1cx7vax6n27ai54zpxibi9q2v1ilkzw5vs4zk7y7fr3r8llsn3ci"; + name = "kde-l10n-bg-15.11.80.tar.xz"; + }; + }; + kde-l10n-bs = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-bs-15.11.80.tar.xz"; + sha256 = "1nw5h67j7qis4h127f101c5b5zc82r2pwfb7rhc0jg8fyxrkb0l9"; + name = "kde-l10n-bs-15.11.80.tar.xz"; + }; + }; + kde-l10n-ca = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ca-15.11.80.tar.xz"; + sha256 = "1x6p2bklh2qf047ws9jincbgk33c9xsg20xsyfazp7x4iyrsw3lv"; + name = "kde-l10n-ca-15.11.80.tar.xz"; + }; + }; + kde-l10n-ca_valencia = { + version = "ca_valencia-15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ca@valencia-15.11.80.tar.xz"; + sha256 = "1n58flzasr0r64pqhh8j7rizz0w3h9xdjhlj8c18mm50xyp011bq"; + name = "kde-l10n-ca_valencia-15.11.80.tar.xz"; + }; + }; + kde-l10n-cs = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-cs-15.11.80.tar.xz"; + sha256 = "0mnwbb9s2x2pl168awxygrah8a8yzn2zlsrh7fp9kbhiypwr8gvl"; + name = "kde-l10n-cs-15.11.80.tar.xz"; + }; + }; + kde-l10n-da = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-da-15.11.80.tar.xz"; + sha256 = "0igc9dzj7l7n4kznlij0myvqsdcm2a2hf80j23wh810d1fkgg16a"; + name = "kde-l10n-da-15.11.80.tar.xz"; + }; + }; + kde-l10n-de = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-de-15.11.80.tar.xz"; + sha256 = "1mwaiapzailc644j5qcmac3m3h5jg7swia21gshdpywcjisrrka7"; + name = "kde-l10n-de-15.11.80.tar.xz"; + }; + }; + kde-l10n-el = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-el-15.11.80.tar.xz"; + sha256 = "1f0nj7lh2hgs6yxwxcgmc9ydiy294d2pfxffqg3nvk6r7qxxr62i"; + name = "kde-l10n-el-15.11.80.tar.xz"; + }; + }; + kde-l10n-en_GB = { + version = "en_GB-15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-en_GB-15.11.80.tar.xz"; + sha256 = "05kxsfmj6p3w10ily3yn3l53zgjib0v10whq8ls5l99aygws90y3"; + name = "kde-l10n-en_GB-15.11.80.tar.xz"; + }; + }; + kde-l10n-eo = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-eo-15.11.80.tar.xz"; + sha256 = "1wial0ky930cg66a5f0a7j7f57m7c8nyj62v6c66irdskfm5gh9d"; + name = "kde-l10n-eo-15.11.80.tar.xz"; + }; + }; + kde-l10n-es = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-es-15.11.80.tar.xz"; + sha256 = "02jz8lm6rz14vp0abycnyghwz87vc6qca2371p8bnsz4sggqbarj"; + name = "kde-l10n-es-15.11.80.tar.xz"; + }; + }; + kde-l10n-et = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-et-15.11.80.tar.xz"; + sha256 = "1da4jz8a8ixkalwvf27mknchrr761a0rifjghjl2wlr463ivba4q"; + name = "kde-l10n-et-15.11.80.tar.xz"; + }; + }; + kde-l10n-eu = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-eu-15.11.80.tar.xz"; + sha256 = "1l0clwn2h6ph6jgnv3vrfx2ww04rm55byrndivm78x1i8vci8jx0"; + name = "kde-l10n-eu-15.11.80.tar.xz"; + }; + }; + kde-l10n-fa = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-fa-15.11.80.tar.xz"; + sha256 = "0v2vcpyvih2xmx69yg1d9wyh988f3439g66vk01wqp2gsa505r1p"; + name = "kde-l10n-fa-15.11.80.tar.xz"; + }; + }; + kde-l10n-fi = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-fi-15.11.80.tar.xz"; + sha256 = "0shxcr6xndxz2136nx1qhm4kbfcgxw3j8fnby1jgjqz8shfjz318"; + name = "kde-l10n-fi-15.11.80.tar.xz"; + }; + }; + kde-l10n-fr = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-fr-15.11.80.tar.xz"; + sha256 = "1b1cs3fwzknhm3rd2ipbgx63wkn7idck825wvpjbgipg65q6a788"; + name = "kde-l10n-fr-15.11.80.tar.xz"; + }; + }; + kde-l10n-ga = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ga-15.11.80.tar.xz"; + sha256 = "05z536w3djr5p89vbyc1rj8d9z4cwgym74fv08jaz816iq1cz8ww"; + name = "kde-l10n-ga-15.11.80.tar.xz"; + }; + }; + kde-l10n-gl = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-gl-15.11.80.tar.xz"; + sha256 = "0jrv68qjcrikgpnqsgdgxj6nl0m2prbgj418fjns1c4c4lna43qk"; + name = "kde-l10n-gl-15.11.80.tar.xz"; + }; + }; + kde-l10n-he = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-he-15.11.80.tar.xz"; + sha256 = "0h71g3rqsvfwkvj2rwf6c0mma6qmp2h0nrbc3biqijgjxl8vyd5s"; + name = "kde-l10n-he-15.11.80.tar.xz"; + }; + }; + kde-l10n-hi = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-hi-15.11.80.tar.xz"; + sha256 = "1blwzqk0v9455c1lsvb9q5qf0x2lj0zj5av8vxbicfd35hr6hc6y"; + name = "kde-l10n-hi-15.11.80.tar.xz"; + }; + }; + kde-l10n-hr = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-hr-15.11.80.tar.xz"; + sha256 = "11zz6zjk13hqd9i409786d6xinkpyaynlza2dkql104kzymbyknf"; + name = "kde-l10n-hr-15.11.80.tar.xz"; + }; + }; + kde-l10n-hu = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-hu-15.11.80.tar.xz"; + sha256 = "18hzyyv5ijl29b27q9jfm9sq0w82638yb4gjabq7rkngy0h2v02x"; + name = "kde-l10n-hu-15.11.80.tar.xz"; + }; + }; + kde-l10n-ia = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ia-15.11.80.tar.xz"; + sha256 = "013acls9vqfhpr6yzfpg6c3yn87myrznq2qxm2n4lgmksibw8l38"; + name = "kde-l10n-ia-15.11.80.tar.xz"; + }; + }; + kde-l10n-id = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-id-15.11.80.tar.xz"; + sha256 = "0l1vsa5s6zdiymw67iy28fsarh2lgi4wpcma7nnbj90jf4l7zj0g"; + name = "kde-l10n-id-15.11.80.tar.xz"; + }; + }; + kde-l10n-is = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-is-15.11.80.tar.xz"; + sha256 = "07rs26zl15qar6pn6mg3ihfx78zakqn5mbvqv7f0zjsfd6fmmkxx"; + name = "kde-l10n-is-15.11.80.tar.xz"; + }; + }; + kde-l10n-it = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-it-15.11.80.tar.xz"; + sha256 = "0x7qi9rgma6l7i80r5i37jh35zfi4j6axk6ha1h9dbmyfw9p1fkr"; + name = "kde-l10n-it-15.11.80.tar.xz"; + }; + }; + kde-l10n-ja = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ja-15.11.80.tar.xz"; + sha256 = "0dh8k8gyimzdhmycz8711l2hn0rddprywqz1brs7m43shx8cqxk7"; + name = "kde-l10n-ja-15.11.80.tar.xz"; + }; + }; + kde-l10n-kk = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-kk-15.11.80.tar.xz"; + sha256 = "1r9w4yw3fc4v0pgy130phvapy69p1b7j1gzayg60lakckr3wbpd8"; + name = "kde-l10n-kk-15.11.80.tar.xz"; + }; + }; + kde-l10n-km = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-km-15.11.80.tar.xz"; + sha256 = "10swsr4zvrv42d2i2w45kqmaqkba7an7w6f519qqsnmp4ykcl0dk"; + name = "kde-l10n-km-15.11.80.tar.xz"; + }; + }; + kde-l10n-ko = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ko-15.11.80.tar.xz"; + sha256 = "07ly80fbz0kqiam3ykfilv6q4y0pa6nzi9chxas830xzzkygri9k"; + name = "kde-l10n-ko-15.11.80.tar.xz"; + }; + }; + kde-l10n-lt = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-lt-15.11.80.tar.xz"; + sha256 = "11xq8wv3rcg8yz76mnb0052xd6h8l5wis5c9k6lrpqik57kg06ic"; + name = "kde-l10n-lt-15.11.80.tar.xz"; + }; + }; + kde-l10n-lv = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-lv-15.11.80.tar.xz"; + sha256 = "0wxd9cbzgw404zvi94zs71sx65cai8xhks8jb6j5g0086iscar5a"; + name = "kde-l10n-lv-15.11.80.tar.xz"; + }; + }; + kde-l10n-mr = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-mr-15.11.80.tar.xz"; + sha256 = "116pk7fzba0k32pl8mdgaq54xxhqg43y7vv1ra0dgilf0znpibyv"; + name = "kde-l10n-mr-15.11.80.tar.xz"; + }; + }; + kde-l10n-nb = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-nb-15.11.80.tar.xz"; + sha256 = "03y3qbf8nfbqh0c2saznv12igg82bj56i791ksxcphlm5065rlzq"; + name = "kde-l10n-nb-15.11.80.tar.xz"; + }; + }; + kde-l10n-nds = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-nds-15.11.80.tar.xz"; + sha256 = "0wr842xfclxbx5w30f2aig2rdq5p2vrhd91kr5v9zcidgddms2fj"; + name = "kde-l10n-nds-15.11.80.tar.xz"; + }; + }; + kde-l10n-nl = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-nl-15.11.80.tar.xz"; + sha256 = "110fwbf2b6ss21vrswj3d3d9zlr1n2p44vs3znwcrv9pjds2v8jg"; + name = "kde-l10n-nl-15.11.80.tar.xz"; + }; + }; + kde-l10n-nn = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-nn-15.11.80.tar.xz"; + sha256 = "073zcpwx8acv1hdwkk8w7nzkrg6qfb4w4lvah8gkgjhl2r6h4lkr"; + name = "kde-l10n-nn-15.11.80.tar.xz"; + }; + }; + kde-l10n-pa = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-pa-15.11.80.tar.xz"; + sha256 = "1x99m4rj99wdlyiqmgl9vs125vdjl2g46nk1q0xb2xz7znn003na"; + name = "kde-l10n-pa-15.11.80.tar.xz"; + }; + }; + kde-l10n-pl = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-pl-15.11.80.tar.xz"; + sha256 = "0hxsdbcclgnalkzpvrl948l4yb122lg8bhxg0mkcm23jmvi594cv"; + name = "kde-l10n-pl-15.11.80.tar.xz"; + }; + }; + kde-l10n-pt = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-pt-15.11.80.tar.xz"; + sha256 = "1wijadwzv119dyx7wpddwiyc4jip1lqwkhb01dvyq1dzzkjf39f4"; + name = "kde-l10n-pt-15.11.80.tar.xz"; + }; + }; + kde-l10n-pt_BR = { + version = "pt_BR-15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-pt_BR-15.11.80.tar.xz"; + sha256 = "19ki8sf4mj8fjrf2f7a43bj8bnqg9bc0m6982ba558nxdb3lr7fs"; + name = "kde-l10n-pt_BR-15.11.80.tar.xz"; + }; + }; + kde-l10n-ro = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ro-15.11.80.tar.xz"; + sha256 = "1p79xvd49vs81gn18pzmpjz6qy974ryn3ywvqda920nb1wfaqh1k"; + name = "kde-l10n-ro-15.11.80.tar.xz"; + }; + }; + kde-l10n-ru = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ru-15.11.80.tar.xz"; + sha256 = "04x6ym1gs1n6krg9k876gfk7d4ljrxvwv5lmagmjadx7dhfvy4ym"; + name = "kde-l10n-ru-15.11.80.tar.xz"; + }; + }; + kde-l10n-sk = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-sk-15.11.80.tar.xz"; + sha256 = "0mdy9fhppnm5nkanb7q2myinngmnf6hq3iywvhg66iv6nsmbjdw9"; + name = "kde-l10n-sk-15.11.80.tar.xz"; + }; + }; + kde-l10n-sl = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-sl-15.11.80.tar.xz"; + sha256 = "06nd0wjni4sfmiza6wb8m3mdrbkkvk0k5ymvar396wh8037mjp64"; + name = "kde-l10n-sl-15.11.80.tar.xz"; + }; + }; + kde-l10n-sr = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-sr-15.11.80.tar.xz"; + sha256 = "1pj9k4j6c5hfzl1lz7vyakggl6p8drrfy5ln7m69s1qy4skraf8x"; + name = "kde-l10n-sr-15.11.80.tar.xz"; + }; + }; + kde-l10n-sv = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-sv-15.11.80.tar.xz"; + sha256 = "18p880a66iz258lbc8hn3h217qcigi3glzml5r9yq2d8kmr1gfwg"; + name = "kde-l10n-sv-15.11.80.tar.xz"; + }; + }; + kde-l10n-tr = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-tr-15.11.80.tar.xz"; + sha256 = "0r3sb0i1c0zzywsvkxzmhr67592ss6xzdaqmams6qa37znpxwjw3"; + name = "kde-l10n-tr-15.11.80.tar.xz"; + }; + }; + kde-l10n-ug = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ug-15.11.80.tar.xz"; + sha256 = "0daw8qi6bn26xhvxnz3rs7xxqi5azhmj57ay8p62p84d6wfbswsw"; + name = "kde-l10n-ug-15.11.80.tar.xz"; + }; + }; + kde-l10n-uk = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-uk-15.11.80.tar.xz"; + sha256 = "0sfgsj4n0v0c99lmzbicjsyysf1n49413509lh0ljgmsr7v4mskw"; + name = "kde-l10n-uk-15.11.80.tar.xz"; + }; + }; + kde-l10n-wa = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-wa-15.11.80.tar.xz"; + sha256 = "04v29qq4n48lkql4nyxx4v95jl9v4gh5wxjqrimycw3n2xmrlbnb"; + name = "kde-l10n-wa-15.11.80.tar.xz"; + }; + }; + kde-l10n-zh_CN = { + version = "zh_CN-15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-zh_CN-15.11.80.tar.xz"; + sha256 = "15aa0b3bry1x87v9vwsylp06wzirq98jii1qfbkvh4cf17l23yvb"; + name = "kde-l10n-zh_CN-15.11.80.tar.xz"; + }; + }; + kde-l10n-zh_TW = { + version = "zh_TW-15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-zh_TW-15.11.80.tar.xz"; + sha256 = "0llisjlc6w13gqya7qgq9cxrqh8aicpz2q4z4afn770dqm02jbvn"; + name = "kde-l10n-zh_TW-15.11.80.tar.xz"; + }; + }; + kdenetwork-filesharing = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdenetwork-filesharing-15.11.80.tar.xz"; + sha256 = "0rip7k13lfpblg2lbpj6y1dj6j0gmr6ydqdqkcnb37lgrjr1cmn0"; + name = "kdenetwork-filesharing-15.11.80.tar.xz"; + }; + }; + kdenetwork-strigi-analyzers = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdenetwork-strigi-analyzers-15.11.80.tar.xz"; + sha256 = "097m04s0vflpfpkbf55k4drbs9w8mp1a80chwyn623mmvg2bdr92"; + name = "kdenetwork-strigi-analyzers-15.11.80.tar.xz"; + }; + }; + kdenlive = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdenlive-15.11.80.tar.xz"; + sha256 = "0ms8q5daq8kklv73yhyh8905766zy6v26gbjcrsj4pvql3r6rbs4"; + name = "kdenlive-15.11.80.tar.xz"; + }; + }; + kdepim = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdepim-15.11.80.tar.xz"; + sha256 = "0zjrjlsd49c3zk0l12b9ijl62y8jmgkmllgvxkpzrblpn1mqjjls"; + name = "kdepim-15.11.80.tar.xz"; + }; + }; + kdepimlibs = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdepimlibs-15.11.80.tar.xz"; + sha256 = "06z926a68b8k02w89qqddlarcnrr8wrpgvgg021xqnykgar3dy7h"; + name = "kdepimlibs-15.11.80.tar.xz"; + }; + }; + kdepim-runtime = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdepim-runtime-15.11.80.tar.xz"; + sha256 = "07xirx1z54xa7r4gcqfp0sz3r0vgi5f75klcmwna21j53hzc387r"; + name = "kdepim-runtime-15.11.80.tar.xz"; + }; + }; + kde-runtime = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kde-runtime-15.11.80.tar.xz"; + sha256 = "1470pp11nc8z1x6wr5b8cpvx6fzflzx2ds06zl2yrq96acl5g8sp"; + name = "kde-runtime-15.11.80.tar.xz"; + }; + }; + kdesdk-kioslaves = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdesdk-kioslaves-15.11.80.tar.xz"; + sha256 = "1gm8k4xnkija07kssakpli32isf5455hfvq5pnciqlzf7lllmib7"; + name = "kdesdk-kioslaves-15.11.80.tar.xz"; + }; + }; + kdesdk-strigi-analyzers = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdesdk-strigi-analyzers-15.11.80.tar.xz"; + sha256 = "0h6pnssm3nfnk3fqva3qwbkw82vxrzkg7incg2qzpvk0pwbxgyz9"; + name = "kdesdk-strigi-analyzers-15.11.80.tar.xz"; + }; + }; + kdesdk-thumbnailers = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdesdk-thumbnailers-15.11.80.tar.xz"; + sha256 = "0wm4gy020lz7mlgn6naixy4fz72xscdlg1vmpw37p4dmxzphmdxy"; + name = "kdesdk-thumbnailers-15.11.80.tar.xz"; + }; + }; + kdewebdev = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdewebdev-15.11.80.tar.xz"; + sha256 = "00qmfas4d2r1gh8w421zmxyfra1xbc76zdisyv48phhw80rpqwyx"; + name = "kdewebdev-15.11.80.tar.xz"; + }; + }; + kdf = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdf-15.11.80.tar.xz"; + sha256 = "19gazwf02kzga0980y6ixj5l56hjmzfms51zh0n7wl1cr8dbgg5i"; + name = "kdf-15.11.80.tar.xz"; + }; + }; + kdiamond = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kdiamond-15.11.80.tar.xz"; + sha256 = "0pp01c8n9m208hknigwcq5nvw5anf4621kip232iibw7pkwk8x2i"; + name = "kdiamond-15.11.80.tar.xz"; + }; + }; + kfloppy = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kfloppy-15.11.80.tar.xz"; + sha256 = "1935k4gm32kspjvb05jr24q1b3r31f96vs9g2s6b9s5a63b89w5j"; + name = "kfloppy-15.11.80.tar.xz"; + }; + }; + kfourinline = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kfourinline-15.11.80.tar.xz"; + sha256 = "0y5hv4gr0nyilizcd90xka34n6xgqzgh9gh8gy8mw76xklnd1mfd"; + name = "kfourinline-15.11.80.tar.xz"; + }; + }; + kgeography = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kgeography-15.11.80.tar.xz"; + sha256 = "01jzl84dc6jf48dx4i6vdv9mgnjvv92ssnamqkgs4jw2iva22s6f"; + name = "kgeography-15.11.80.tar.xz"; + }; + }; + kget = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kget-15.11.80.tar.xz"; + sha256 = "17q7vpnx89zrgqgybxc1vjc596vgh82fpanqfbym5n0bxcpap8q5"; + name = "kget-15.11.80.tar.xz"; + }; + }; + kgoldrunner = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kgoldrunner-15.11.80.tar.xz"; + sha256 = "0k815mkmd82aa6djyblm71ddl94796b52c0gf6c5dsg42r29w10f"; + name = "kgoldrunner-15.11.80.tar.xz"; + }; + }; + kgpg = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kgpg-15.11.80.tar.xz"; + sha256 = "0p088fb8mhfgvp0zihdda0554yw8k90f1xkd6hc4c9ngjc7d2pjf"; + name = "kgpg-15.11.80.tar.xz"; + }; + }; + khangman = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/khangman-15.11.80.tar.xz"; + sha256 = "1lz2qgqddq18dczs9cax0r5pay9yxqn63j7msch0y99x33hfyidn"; + name = "khangman-15.11.80.tar.xz"; + }; + }; + kholidays = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kholidays-15.11.80.tar.xz"; + sha256 = "086d0vbzz2xcq6ibd7ia97lz89452gz3cxb879rvqxz3cyhhyfwr"; + name = "kholidays-15.11.80.tar.xz"; + }; + }; + kidentitymanagement = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kidentitymanagement-15.11.80.tar.xz"; + sha256 = "1j159alnxhvq4mpd2vr7jnj091x58gv47ms1rxk865xc66xv956s"; + name = "kidentitymanagement-15.11.80.tar.xz"; + }; + }; + kig = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kig-15.11.80.tar.xz"; + sha256 = "0w19w1bmj2grinq6s7biqqbdv9njdwqsynncb605ldwfvxnyyw7w"; + name = "kig-15.11.80.tar.xz"; + }; + }; + kigo = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kigo-15.11.80.tar.xz"; + sha256 = "169cl12z1mjk4jn3c1ncq2q5adravsqraqxp7zq63yz819mv2mxj"; + name = "kigo-15.11.80.tar.xz"; + }; + }; + killbots = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/killbots-15.11.80.tar.xz"; + sha256 = "13l02ndf3nyqq2qisfb4ap87z5jf1iplcs7mdj2iswmr57vpc16g"; + name = "killbots-15.11.80.tar.xz"; + }; + }; + kimap = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kimap-15.11.80.tar.xz"; + sha256 = "12wcgjgkg8fk91g7f9g7kw2sp1783kv478m521rhl1cy345250sw"; + name = "kimap-15.11.80.tar.xz"; + }; + }; + kio-extras = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kio-extras-15.11.80.tar.xz"; + sha256 = "19i8dgs5spayilhc7wyn2g5f30yy9dkzn7vzj2fxd3bwvl8agn2a"; + name = "kio-extras-15.11.80.tar.xz"; + }; + }; + kiriki = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kiriki-15.11.80.tar.xz"; + sha256 = "0zrpvz8av3xcnlmms7akis1897pyqc6j9ysmv36gg4bsjj2g7ng3"; + name = "kiriki-15.11.80.tar.xz"; + }; + }; + kiten = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kiten-15.11.80.tar.xz"; + sha256 = "0ci4wq5hp4dbmrb511m1pz6kyr2knl7aa82sd9pphndfg64l0mpi"; + name = "kiten-15.11.80.tar.xz"; + }; + }; + kjumpingcube = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kjumpingcube-15.11.80.tar.xz"; + sha256 = "121dd6gly5dqr85rvwnqaf9ssbaqlmhlg0crcs3idj9dwag9abvi"; + name = "kjumpingcube-15.11.80.tar.xz"; + }; + }; + kldap = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kldap-15.11.80.tar.xz"; + sha256 = "1y5g13amhl14wdbb4sxdndrhcixc9xq0glrz17wz42w2jvsf1nsb"; + name = "kldap-15.11.80.tar.xz"; + }; + }; + klettres = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/klettres-15.11.80.tar.xz"; + sha256 = "1yiaz0ac9s99blqkb70228k5c575z05flqwmn1g13gdh8cyp41pj"; + name = "klettres-15.11.80.tar.xz"; + }; + }; + klickety = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/klickety-15.11.80.tar.xz"; + sha256 = "09801vm45llrd8h1r9xb4ch1za98scihs655d0g8v938zqm0mzsz"; + name = "klickety-15.11.80.tar.xz"; + }; + }; + klines = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/klines-15.11.80.tar.xz"; + sha256 = "1ssg07a48ymh3kl7pgd9wvfqf1q4kysl3c2ygiassl2dzk8inn6c"; + name = "klines-15.11.80.tar.xz"; + }; + }; + kmag = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmag-15.11.80.tar.xz"; + sha256 = "0pdm8jj8h0r2xny1aa3nkrbyl4kvmamx49m3cvyv9kcnvabs6hhs"; + name = "kmag-15.11.80.tar.xz"; + }; + }; + kmahjongg = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmahjongg-15.11.80.tar.xz"; + sha256 = "036wckckjdm1hwpb4lpw5djm41faih22466abmqiw6327dddwysy"; + name = "kmahjongg-15.11.80.tar.xz"; + }; + }; + kmailtransport = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmailtransport-15.11.80.tar.xz"; + sha256 = "0wl27x4z31lpbphx8bsb8kacpnbgcjds4a6ipdgp2xcxqxfixxdl"; + name = "kmailtransport-15.11.80.tar.xz"; + }; + }; + kmbox = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmbox-15.11.80.tar.xz"; + sha256 = "0ijdzizjc2vz3w684ny8rj92hpjmcsaqmh9q1vp2ffjfvz5qjppm"; + name = "kmbox-15.11.80.tar.xz"; + }; + }; + kmime = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmime-15.11.80.tar.xz"; + sha256 = "1m6n6waap6y9afff5cqldi08dwl5kk002y13m8l8yjxk056qgw06"; + name = "kmime-15.11.80.tar.xz"; + }; + }; + kmines = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmines-15.11.80.tar.xz"; + sha256 = "0h29ibkcwlwj3npmkdwii652n5gwhl8xvm31xng93ap98qaawp1b"; + name = "kmines-15.11.80.tar.xz"; + }; + }; + kmix = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmix-15.11.80.tar.xz"; + sha256 = "0vry36l9rjbq44z022q4m1zgdgmhw9n7yr7920zq0wiq64qpm98w"; + name = "kmix-15.11.80.tar.xz"; + }; + }; + kmousetool = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmousetool-15.11.80.tar.xz"; + sha256 = "0hby69lj0n5swn4zk8mxiba27g4x8ci1cwcc9pxgbn7yc241zbhb"; + name = "kmousetool-15.11.80.tar.xz"; + }; + }; + kmouth = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmouth-15.11.80.tar.xz"; + sha256 = "1mi0lm725s22nal01w7jzq4lfybk0qdln84q5yficpx13f7917fn"; + name = "kmouth-15.11.80.tar.xz"; + }; + }; + kmplot = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kmplot-15.11.80.tar.xz"; + sha256 = "1979nlcgil7qg334944p439nvq4hnc2nlql321s06dp03a8k6cf5"; + name = "kmplot-15.11.80.tar.xz"; + }; + }; + knavalbattle = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/knavalbattle-15.11.80.tar.xz"; + sha256 = "12wbj8nrzjydykvfj1hgpgmwivsipzd5fw5w9k9yi30bgvnryjxw"; + name = "knavalbattle-15.11.80.tar.xz"; + }; + }; + knetwalk = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/knetwalk-15.11.80.tar.xz"; + sha256 = "15w99pigi8q0282j9sl98lddrivdm510q3pk3pm2mwwc7pi9gpc9"; + name = "knetwalk-15.11.80.tar.xz"; + }; + }; + kolf = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kolf-15.11.80.tar.xz"; + sha256 = "1rdj30lyihhn1d64d3k0viw0x1acn3j6cwqjsvzcd50zbhrkcj85"; + name = "kolf-15.11.80.tar.xz"; + }; + }; + kollision = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kollision-15.11.80.tar.xz"; + sha256 = "1hycqsp4j3rargpprfwqshmmr4g4vjd8145a0782ha0cj14ndrr8"; + name = "kollision-15.11.80.tar.xz"; + }; + }; + kolourpaint = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kolourpaint-15.11.80.tar.xz"; + sha256 = "1walxy7i9b6anb3sa4nj43m8n4mkcnm87i92fjspb7hm029bj8z1"; + name = "kolourpaint-15.11.80.tar.xz"; + }; + }; + kompare = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kompare-15.11.80.tar.xz"; + sha256 = "10qvjqvy1dgzw1ywbza8z4ia2hcman0nlha7czy0lr2phf05rw8b"; + name = "kompare-15.11.80.tar.xz"; + }; + }; + konquest = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/konquest-15.11.80.tar.xz"; + sha256 = "0jkjncr5kb5qdqykvc4wksv5kj75fijnb6mzahx6ivcgaxp4jff8"; + name = "konquest-15.11.80.tar.xz"; + }; + }; + konsole = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/konsole-15.11.80.tar.xz"; + sha256 = "0vgzqnd27ab48rc6mb8hqhr8yk0qf8ygz0mgbhz4aswwk08dm0k0"; + name = "konsole-15.11.80.tar.xz"; + }; + }; + kontactinterface = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kontactinterface-15.11.80.tar.xz"; + sha256 = "0ywjvwx3y007mi1g0r9gq1vrcqdfgipk5jralxb91mzxrml2af8a"; + name = "kontactinterface-15.11.80.tar.xz"; + }; + }; + kopete = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kopete-15.11.80.tar.xz"; + sha256 = "0jk39agyl9nx4gkwff23aiq3lmnaz4w9xcfbhm906p7072ma82zj"; + name = "kopete-15.11.80.tar.xz"; + }; + }; + kpat = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kpat-15.11.80.tar.xz"; + sha256 = "07vchzgf5g92g6zf9slg3x0166fs9s6imysvs2lhin9adwawpbfj"; + name = "kpat-15.11.80.tar.xz"; + }; + }; + kpimtextedit = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kpimtextedit-15.11.80.tar.xz"; + sha256 = "1lx2a183p97ixx65f4aqn0k5avb124sm2rzgpj5mjnhqwxfc3fs7"; + name = "kpimtextedit-15.11.80.tar.xz"; + }; + }; + kppp = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kppp-15.11.80.tar.xz"; + sha256 = "1j2kyp3jagp2grhbp5hcszq7h3lz43x8k2mfh5cahfkkzn88yqws"; + name = "kppp-15.11.80.tar.xz"; + }; + }; + kqtquickcharts = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kqtquickcharts-15.11.80.tar.xz"; + sha256 = "1ssbljhwj5idci7z9hd70pv7b7bmrc87x4k0fxpqayclgwi0iijf"; + name = "kqtquickcharts-15.11.80.tar.xz"; + }; + }; + krdc = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/krdc-15.11.80.tar.xz"; + sha256 = "1vhd01zf8w8555pp6b5d9vn92y0nm4r4cksiwvklqsrlv4p3yscc"; + name = "krdc-15.11.80.tar.xz"; + }; + }; + kremotecontrol = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kremotecontrol-15.11.80.tar.xz"; + sha256 = "19hmq74nx074h5vhdcxkdqqdz58vkwpspc3dbyk8lypwd28xb09d"; + name = "kremotecontrol-15.11.80.tar.xz"; + }; + }; + kreversi = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kreversi-15.11.80.tar.xz"; + sha256 = "1zd3lds1rrvbwxrv7qm2pm4pb0ki8szzv1bxpf18kywvw6kb40cr"; + name = "kreversi-15.11.80.tar.xz"; + }; + }; + krfb = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/krfb-15.11.80.tar.xz"; + sha256 = "10873di286pgzadlrz4c96b4j2kajxin2wmys7y2lbv6cf0vya2i"; + name = "krfb-15.11.80.tar.xz"; + }; + }; + kross-interpreters = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kross-interpreters-15.11.80.tar.xz"; + sha256 = "0zl0f3gh80inmb2wv1jpsxqd0pqaiaa6hkma756mhgxjb90shz3m"; + name = "kross-interpreters-15.11.80.tar.xz"; + }; + }; + kruler = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kruler-15.11.80.tar.xz"; + sha256 = "188mya8phcjlp1a8cf2mkkmrg38bwgclgqm36wk181f03cvrqwhi"; + name = "kruler-15.11.80.tar.xz"; + }; + }; + ksaneplugin = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ksaneplugin-15.11.80.tar.xz"; + sha256 = "1n42i649vcgmv80vacvf1xwa99ay1sz1csi6jc1y09qk83cwdfpa"; + name = "ksaneplugin-15.11.80.tar.xz"; + }; + }; + kscd = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kscd-15.11.80.tar.xz"; + sha256 = "1xgb7qvqhg9mlxi09ggqs2l6ybs6wilabp6hbzk1r1zqf44fvvh1"; + name = "kscd-15.11.80.tar.xz"; + }; + }; + kshisen = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kshisen-15.11.80.tar.xz"; + sha256 = "0wzran4wdb4zjf4qzj08hzzf3mqzi6dds0yhfv2mwwpw59bba2y4"; + name = "kshisen-15.11.80.tar.xz"; + }; + }; + ksirk = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ksirk-15.11.80.tar.xz"; + sha256 = "0ciab5mxqli299x084cig8vrlxsirzjvqxzmvk6pz0jf4g8jl797"; + name = "ksirk-15.11.80.tar.xz"; + }; + }; + ksnakeduel = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ksnakeduel-15.11.80.tar.xz"; + sha256 = "1p0fcjm06a9klb9hrclxs5jskflfb5c3ix7w3b23ql1798nml4f3"; + name = "ksnakeduel-15.11.80.tar.xz"; + }; + }; + kspaceduel = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kspaceduel-15.11.80.tar.xz"; + sha256 = "116bjbp5771p6plvamd8iybnj3cx2xi07qhrd2ky8jbxrbbzvmya"; + name = "kspaceduel-15.11.80.tar.xz"; + }; + }; + ksquares = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ksquares-15.11.80.tar.xz"; + sha256 = "0k3h1r5h8bdvs7sk39nh371pdibgl8xmgp3w0xj95q3ya6587zqg"; + name = "ksquares-15.11.80.tar.xz"; + }; + }; + kstars = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kstars-15.11.80.tar.xz"; + sha256 = "1djzvsk91hpxlnmymn1148lr9kdyvwsn2krfrs8wg3f2wy20shjr"; + name = "kstars-15.11.80.tar.xz"; + }; + }; + ksudoku = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ksudoku-15.11.80.tar.xz"; + sha256 = "0cv9ax2iarz5fy46jp53sgmqw58maasnmp8zky8sm0xz4slphcmq"; + name = "ksudoku-15.11.80.tar.xz"; + }; + }; + ksystemlog = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ksystemlog-15.11.80.tar.xz"; + sha256 = "0iah8676h10y5dlw4n9qxy0kxp7n7wzwkvkgvmxzapzvxly2jpdl"; + name = "ksystemlog-15.11.80.tar.xz"; + }; + }; + kteatime = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kteatime-15.11.80.tar.xz"; + sha256 = "0ylkhi0i3w7m4jn3bdvnq0wvamj546mk4dggd4ivkwbbf1csbwi2"; + name = "kteatime-15.11.80.tar.xz"; + }; + }; + ktimer = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktimer-15.11.80.tar.xz"; + sha256 = "0jv5xzpczwz6mrp2dpynq5bfa90my6pdrndjrz7qa09g9zi9k0wk"; + name = "ktimer-15.11.80.tar.xz"; + }; + }; + ktnef = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktnef-15.11.80.tar.xz"; + sha256 = "0s1x877vrzhjyxvm317i0xyc589awkfgyq6cp3yjr3sdyb21bklr"; + name = "ktnef-15.11.80.tar.xz"; + }; + }; + ktouch = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktouch-15.11.80.tar.xz"; + sha256 = "1ys3flgmwqryvk39b8405gf2v8qdj9prz7iz9kx0ncb353fz1fd0"; + name = "ktouch-15.11.80.tar.xz"; + }; + }; + ktp-accounts-kcm = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-accounts-kcm-15.11.80.tar.xz"; + sha256 = "0kdc96lxzyp7gc9iva6q0dawcw1naw0rdzmcvr254dvk5pwz8wcq"; + name = "ktp-accounts-kcm-15.11.80.tar.xz"; + }; + }; + ktp-approver = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-approver-15.11.80.tar.xz"; + sha256 = "03f39h4ppwy92w18wn2n4m5gwiryahj49nmbcsfhvha0va0892fa"; + name = "ktp-approver-15.11.80.tar.xz"; + }; + }; + ktp-auth-handler = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-auth-handler-15.11.80.tar.xz"; + sha256 = "0wcz1wjz2r3r86cfvp2wyfcbnvar0alyil7zv8hizzyickwsb3y7"; + name = "ktp-auth-handler-15.11.80.tar.xz"; + }; + }; + ktp-common-internals = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-common-internals-15.11.80.tar.xz"; + sha256 = "1gq6mpa0mrfyiv9kiyy39fh28xvwj9vivn3p8nhx5zmai37l5ds4"; + name = "ktp-common-internals-15.11.80.tar.xz"; + }; + }; + ktp-contact-list = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-contact-list-15.11.80.tar.xz"; + sha256 = "14az86dv3jmb5x26vgn2wqnys77nz9rjscp6n6hvpqcyp6g5h075"; + name = "ktp-contact-list-15.11.80.tar.xz"; + }; + }; + ktp-contact-runner = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-contact-runner-15.11.80.tar.xz"; + sha256 = "0qp7mgn46favlz1a9xv9rv4pbykmc5m5csv3mbrq6pndpihdfbxq"; + name = "ktp-contact-runner-15.11.80.tar.xz"; + }; + }; + ktp-desktop-applets = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-desktop-applets-15.11.80.tar.xz"; + sha256 = "1l6z58g0p5xlc0l9z9xgkw3sv7jx4kdwp8jpx1v8m513r8szfwgg"; + name = "ktp-desktop-applets-15.11.80.tar.xz"; + }; + }; + ktp-filetransfer-handler = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-filetransfer-handler-15.11.80.tar.xz"; + sha256 = "019h5q83593yg2mgknv8yzfq3bl2vjfkf0dwv7mb6ykf6bsb9630"; + name = "ktp-filetransfer-handler-15.11.80.tar.xz"; + }; + }; + ktp-kded-module = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-kded-module-15.11.80.tar.xz"; + sha256 = "1mf9mya8r6lrmbr26pdp9d7hdp1irsba46zlr859hjl6pqa10i3b"; + name = "ktp-kded-module-15.11.80.tar.xz"; + }; + }; + ktp-send-file = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-send-file-15.11.80.tar.xz"; + sha256 = "1d265x89854xvxdxqa9z37r6m13kiplawkxq5l4cy5hlwmvp3ivm"; + name = "ktp-send-file-15.11.80.tar.xz"; + }; + }; + ktp-text-ui = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktp-text-ui-15.11.80.tar.xz"; + sha256 = "0mixwwqwx4z8m0kaj0wfn5zczq08w18ascl9r78mvx6p1946m86q"; + name = "ktp-text-ui-15.11.80.tar.xz"; + }; + }; + ktuberling = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/ktuberling-15.11.80.tar.xz"; + sha256 = "1gpsimdx0l9ml9f8nfqbqm2jmj60w3bni1s23iyc62b96pazx9a4"; + name = "ktuberling-15.11.80.tar.xz"; + }; + }; + kturtle = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kturtle-15.11.80.tar.xz"; + sha256 = "13z9rsk0ikg1q312wkag8njgw5921nhfmd57bdfa6p0w971wndm4"; + name = "kturtle-15.11.80.tar.xz"; + }; + }; + kubrick = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kubrick-15.11.80.tar.xz"; + sha256 = "11kccqc8vs6cvwzabq80bwyn4f1qypln807m7xx5g3p07qzplc28"; + name = "kubrick-15.11.80.tar.xz"; + }; + }; + kuser = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kuser-15.11.80.tar.xz"; + sha256 = "0ima6v48i0cd1kizadla6zm40hdmdp3b4phq8lmai1vqhy9890h8"; + name = "kuser-15.11.80.tar.xz"; + }; + }; + kwalletmanager = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kwalletmanager-15.11.80.tar.xz"; + sha256 = "1fg9qjlb12wnxrdz9f6yvvs4ybwwwp3n73nsmq6igms2rw00ixaf"; + name = "kwalletmanager-15.11.80.tar.xz"; + }; + }; + kwordquiz = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/kwordquiz-15.11.80.tar.xz"; + sha256 = "00pv1q2d0ccihwbvsk51hblzc2vvnw81lrla7a77bdgk266b2q3c"; + name = "kwordquiz-15.11.80.tar.xz"; + }; + }; + libkcddb = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkcddb-15.11.80.tar.xz"; + sha256 = "0dm8vi0h84zm84jjqrlgpc5n8shwlipd3dmm3ndl31jx3wmm4cca"; + name = "libkcddb-15.11.80.tar.xz"; + }; + }; + libkcompactdisc = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkcompactdisc-15.11.80.tar.xz"; + sha256 = "0q6yvjzjlkc5pmjqrxphk4n7va6hcr903vkamvnbhn559qv3j11x"; + name = "libkcompactdisc-15.11.80.tar.xz"; + }; + }; + libkdcraw = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkdcraw-15.11.80.tar.xz"; + sha256 = "1s7cz3wh4066wyixbzvczba94v5fizwmcnl6waazgnabr8djy75r"; + name = "libkdcraw-15.11.80.tar.xz"; + }; + }; + libkdeedu = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkdeedu-15.11.80.tar.xz"; + sha256 = "0xmfv692x6s6c350l324mi69512sbmqscx26hv3827sm02lxi3nj"; + name = "libkdeedu-15.11.80.tar.xz"; + }; + }; + libkdegames = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkdegames-15.11.80.tar.xz"; + sha256 = "1pkl30ijnbmzc8gs1ib5l7qvmnb2a59smakaipji2n6pcik5xdi5"; + name = "libkdegames-15.11.80.tar.xz"; + }; + }; + libkeduvocdocument = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkeduvocdocument-15.11.80.tar.xz"; + sha256 = "0p7mbw5xm7ywrz36rs8xpcnjm4w844jgjcciv0r4qwbpvcxm38kh"; + name = "libkeduvocdocument-15.11.80.tar.xz"; + }; + }; + libkexiv2 = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkexiv2-15.11.80.tar.xz"; + sha256 = "0pis24db80l9w62v6axy9137rdgpsdlfrzf9k3yi63x0qs037k5c"; + name = "libkexiv2-15.11.80.tar.xz"; + }; + }; + libkface = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkface-15.11.80.tar.xz"; + sha256 = "0mr52fn3j71y0qaxn4wdz7lrk8ylmlj965jvilgzpnf97jdhy8bc"; + name = "libkface-15.11.80.tar.xz"; + }; + }; + libkgeomap = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkgeomap-15.11.80.tar.xz"; + sha256 = "1nwzakm5njilqpa7fslgz4gcy02b1kzhnrckm867qavn8qmy0j56"; + name = "libkgeomap-15.11.80.tar.xz"; + }; + }; + libkipi = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkipi-15.11.80.tar.xz"; + sha256 = "1qmpbrmpm8hbrfwjihpg3gks177cvwc99rmb9bvphi2q8xg49xzn"; + name = "libkipi-15.11.80.tar.xz"; + }; + }; + libkmahjongg = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkmahjongg-15.11.80.tar.xz"; + sha256 = "192az0z4hwqcn8j02g17fxc44blv615vn345svrxbmxinr1cc18q"; + name = "libkmahjongg-15.11.80.tar.xz"; + }; + }; + libkomparediff2 = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libkomparediff2-15.11.80.tar.xz"; + sha256 = "1zv6y7j4dna6m51xqs0i3sjd3xxy7bqb8jwrqpjls2fy4x55cnv2"; + name = "libkomparediff2-15.11.80.tar.xz"; + }; + }; + libksane = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/libksane-15.11.80.tar.xz"; + sha256 = "1ljqv14x29pqzm7nd7rg3p447q188m1266b2sgvyrpvgg340ynrp"; + name = "libksane-15.11.80.tar.xz"; + }; + }; + lokalize = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/lokalize-15.11.80.tar.xz"; + sha256 = "0n6mg6r3hlm9m19kbw2nrfimjhvf23l33wcfwdb66hq05z5fqacz"; + name = "lokalize-15.11.80.tar.xz"; + }; + }; + lskat = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/lskat-15.11.80.tar.xz"; + sha256 = "0c30dcsydvzc469gxbv0y0g1v9mg745ajng18sv9jrsgrc9594vv"; + name = "lskat-15.11.80.tar.xz"; + }; + }; + marble = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/marble-15.11.80.tar.xz"; + sha256 = "1ks031ypb4himg0jiw1vql0isli1hyaz7kmagvby4il7cw4gdgf3"; + name = "marble-15.11.80.tar.xz"; + }; + }; + mplayerthumbs = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/mplayerthumbs-15.11.80.tar.xz"; + sha256 = "0snn5jmpsyczxxyfp5ka5mkymldy7pjb2jqjc092aci6w1mmkvsd"; + name = "mplayerthumbs-15.11.80.tar.xz"; + }; + }; + okteta = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/okteta-15.11.80.tar.xz"; + sha256 = "06334p934fyajaqg7pz8wqyzcmghymhanfnyz6y1cqaqrkf16n0s"; + name = "okteta-15.11.80.tar.xz"; + }; + }; + okular = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/okular-15.11.80.tar.xz"; + sha256 = "0ny8r7shnl7qjdzb0m9rmcq3y7scpfycxz7rcxv8x52v0vqkqgh8"; + name = "okular-15.11.80.tar.xz"; + }; + }; + palapeli = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/palapeli-15.11.80.tar.xz"; + sha256 = "02w0m3piw15x0bmkh6ap6il13yj5r0kszwrq47k6ildl96a0zbdd"; + name = "palapeli-15.11.80.tar.xz"; + }; + }; + parley = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/parley-15.11.80.tar.xz"; + sha256 = "06na0w14f5r322ybn38qal57arrjv3brlbmlb4bw196467cw773i"; + name = "parley-15.11.80.tar.xz"; + }; + }; + picmi = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/picmi-15.11.80.tar.xz"; + sha256 = "1m5b0ziz0pa7j5awis78brx1dsp8rwpg08lbkjvr09l20xb0n0mj"; + name = "picmi-15.11.80.tar.xz"; + }; + }; + poxml = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/poxml-15.11.80.tar.xz"; + sha256 = "1p7h7q0dgynyd1187bgavfbpgn2g8km8rf8gzwya7wn8nz152xff"; + name = "poxml-15.11.80.tar.xz"; + }; + }; + print-manager = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/print-manager-15.11.80.tar.xz"; + sha256 = "102h4h4qk0hnkak1sh5bmbvhnrr2bhrsqs45j1zyql0na63b5gy1"; + name = "print-manager-15.11.80.tar.xz"; + }; + }; + rocs = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/rocs-15.11.80.tar.xz"; + sha256 = "0i05lsvzbcsxqr70a2xsdgq6j5xcbm54g4jw0ifh3jvpr0yrmgb4"; + name = "rocs-15.11.80.tar.xz"; + }; + }; + signon-kwallet-extension = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/signon-kwallet-extension-15.11.80.tar.xz"; + sha256 = "0crq69px0gbcw7h6bgbjad35djh3lm9jniblj6avkz8plj0j16z5"; + name = "signon-kwallet-extension-15.11.80.tar.xz"; + }; + }; + spectacle = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/spectacle-15.11.80.tar.xz"; + sha256 = "1p39qxr67iy6lda2j9ar0aq1sg29gp9ds29aqbs3rx9m56rn8h6q"; + name = "spectacle-15.11.80.tar.xz"; + }; + }; + step = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/step-15.11.80.tar.xz"; + sha256 = "0ggm9rqzjw1aljhmxnc6n428zkp0c1ik3lldaxi576z5ipvvgwnd"; + name = "step-15.11.80.tar.xz"; + }; + }; + svgpart = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/svgpart-15.11.80.tar.xz"; + sha256 = "0fq69li2z2nqj0xrsd010d9gfpc39r8k5fxbzlfravi12big0yhk"; + name = "svgpart-15.11.80.tar.xz"; + }; + }; + sweeper = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/sweeper-15.11.80.tar.xz"; + sha256 = "1yw1f1j2qzzpqzr3iz0fyi8kmd369i94gx0njv2iqm1jakk1hqfc"; + name = "sweeper-15.11.80.tar.xz"; + }; + }; + syndication = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/syndication-15.11.80.tar.xz"; + sha256 = "06y5wz7asa4f1a7j7arhggwyv5cikn52d0h38ybxa9vjcmkn5nw5"; + name = "syndication-15.11.80.tar.xz"; + }; + }; + umbrello = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/umbrello-15.11.80.tar.xz"; + sha256 = "1kpag8f6r3cfp77z8lb8hbpq2djqg718bs6hs8wi99y2zy85xwr6"; + name = "umbrello-15.11.80.tar.xz"; + }; + }; + zeroconf-ioslave = { + version = "15.11.80"; + src = fetchurl { + url = "${mirror}/unstable/applications/15.11.80/src/zeroconf-ioslave-15.11.80.tar.xz"; + sha256 = "1kpahrs8p9l52hgkm3whryvwcbw9fzn4l4yxq93ijzac0m8gpqwr"; + name = "zeroconf-ioslave-15.11.80.tar.xz"; + }; + }; +} diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 6bd176d73577..f394b6e8105e 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/kovidgoyal/calibre/releases/download/v${meta.version}/${name}.tar.xz"; - sha256 = "0d1sn2wc6h3c5girllsmnqg3jhmkal693ww3j6cj1mz2rraw45xr"; + sha256 = "1ffqvnjqmplcpa398809gp4d4l7nqc6k8ky255mdkabfcdvf3kk3"; }; inherit python; @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - version = "2.44.0"; + version = "2.44.1"; description = "Comprehensive e-book software"; homepage = http://calibre-ebook.com; license = licenses.gpl3; diff --git a/pkgs/applications/misc/dmenu2/default.nix b/pkgs/applications/misc/dmenu2/default.nix index 54aec8606cd4..9dca8f983a4b 100644 --- a/pkgs/applications/misc/dmenu2/default.nix +++ b/pkgs/applications/misc/dmenu2/default.nix @@ -24,6 +24,6 @@ stdenv.mkDerivation rec { homepage = https://bitbucket.org/melek/dmenu2; license = stdenv.lib.licenses.mit; maintainers = with maintainers; [ cstrahan ]; - platforms = with platforms; all; + platforms = platforms.all; }; } diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix index d81061f32072..061a10c6a9f2 100644 --- a/pkgs/applications/misc/eaglemode/default.nix +++ b/pkgs/applications/misc/eaglemode/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { description = "Zoomable User Interface"; license = licenses.gpl3; maintainers = with maintainers; [ viric ]; - platforms = with platforms; linux; + platforms = platforms.linux; hydraPlatforms = []; }; } diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 4ac4c93471e9..1b2e518c5a76 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { name = "electrum-${version}"; - version = "2.5.1"; + version = "2.5.4"; src = fetchurl { - url = "https://download.electrum.org/Electrum-${version}.tar.gz"; - sha256 = "0wjqf2ifw1ww6iyj0h0i63zjmy0yhmzl91sgc5hc4j2x5bd2c3am"; + url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; + sha256 = "18saa2rg07vfp9scp3i8s0wi2pqw9s8l8b44gq43zzl41120zc60"; }; propagatedBuildInputs = with pythonPackages; [ diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix new file mode 100644 index 000000000000..8c4fa09a214e --- /dev/null +++ b/pkgs/applications/misc/emem/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, jdk }: + +stdenv.mkDerivation rec { + pname = "emem"; + version = "0.2.11"; + name = "${pname}-${version}"; + + inherit jdk; + + src = fetchurl { + url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar"; + sha256 = "0b514nc1s5jff3586jmfx9js57j7hl8zdwi2jxlwiavwv46rl436"; + }; + + buildInputs = [ ]; + + phases = [ "buildPhase" "installPhase" ]; + + buildPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/java + ''; + + installPhase = '' + cp $src $out/share/java + + cat > $out/bin/emem < source.nix +# ruby generate_sources.rb > sources.nix { version = "#{real_version}"; sources = [ EOH -sources.each do |source| - puts(%Q| { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|) +locale_arch_path_tuples.zip(hashes) do |tuple, hash| + locale, arch, path = tuple + + puts(%Q| { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|) end puts(<<'EOF') diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix index 2008822fddc7..acbcd0757976 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix @@ -1,188 +1,188 @@ -# This file is generated from generate_nix.rb. DO NOT EDIT. +# This file is generated from generate_sources.rb. DO NOT EDIT. # Execute the following command in a temporary directory to update the file. # -# ruby generate_source.rb > source.nix +# ruby generate_sources.rb > sources.nix { - version = "41.0.2"; + version = "42.0"; sources = [ - { locale = "ach"; arch = "linux-i686"; sha1 = "f28f6b40891d3e2626c752e94cb671bcd16cf09c"; } - { locale = "ach"; arch = "linux-x86_64"; sha1 = "b09ff7642423f0c94cd0acea890618dbb986b30a"; } - { locale = "af"; arch = "linux-i686"; sha1 = "98f6805e3fad98b1ff0ae260318566b279748927"; } - { locale = "af"; arch = "linux-x86_64"; sha1 = "1297fe1d68644b30d72f74010b4e93cb705ce084"; } - { locale = "an"; arch = "linux-i686"; sha1 = "0b9bf558713e7172aa1d6082b2ee706772dd7f50"; } - { locale = "an"; arch = "linux-x86_64"; sha1 = "e1a041106bb1e823359cc8aba5d6774e5622c065"; } - { locale = "ar"; arch = "linux-i686"; sha1 = "7dc31eb10e280c847b003167cba3566c7566eb8f"; } - { locale = "ar"; arch = "linux-x86_64"; sha1 = "2ac37f86880230b589bede4326f3a9fc51dc04a6"; } - { locale = "as"; arch = "linux-i686"; sha1 = "7157ef7c0cddaf2b5203134dd1a9c59257ba4e7b"; } - { locale = "as"; arch = "linux-x86_64"; sha1 = "2f8f4e33a321dc1a5f2ccf6c12ab564ef47c1351"; } - { locale = "ast"; arch = "linux-i686"; sha1 = "517d6cea54258e6f37534b7c59b00633e50264ba"; } - { locale = "ast"; arch = "linux-x86_64"; sha1 = "de74737e383ef9eb33ba9894bead1249d5bdfa17"; } - { locale = "az"; arch = "linux-i686"; sha1 = "2cb8468902daf4237ec3a307d89523db08256c17"; } - { locale = "az"; arch = "linux-x86_64"; sha1 = "26556ef189be09392a6dc2f057ab2eb78f1b86d8"; } - { locale = "be"; arch = "linux-i686"; sha1 = "c27213ffcd4718d5669dfca004ec3517264d1181"; } - { locale = "be"; arch = "linux-x86_64"; sha1 = "5c50b0b407268161ebaa1a6a1cdc67b4c66ac387"; } - { locale = "bg"; arch = "linux-i686"; sha1 = "6d8af51f1278731da288ef3638687a31fbc77335"; } - { locale = "bg"; arch = "linux-x86_64"; sha1 = "cd697af203a4c82afe06271059ba03ff01d81606"; } - { locale = "bn-BD"; arch = "linux-i686"; sha1 = "1b24d5641b50a2f22e72429d65a2c3bb266fb534"; } - { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "e470a6bc6b82c3145bc074b0a8f3b9bfff9bb219"; } - { locale = "bn-IN"; arch = "linux-i686"; sha1 = "0b2fe41d3ed5ccd9ceb941bdf72c27919258cd92"; } - { locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "9c0253add017c3747fc59b89561baa1e348207f6"; } - { locale = "br"; arch = "linux-i686"; sha1 = "ed0292dda6fc1a42d636a10bb0c45f8918e9dc18"; } - { locale = "br"; arch = "linux-x86_64"; sha1 = "6f3dfed52c47f940de86a42598f7df81ff33f8ca"; } - { locale = "bs"; arch = "linux-i686"; sha1 = "9c78bd5b4f5be28557cb0576a0faa43b674ce481"; } - { locale = "bs"; arch = "linux-x86_64"; sha1 = "a2d41fb95f6c8acf6cc5b1bfd0dec5bce661a2e9"; } - { locale = "ca"; arch = "linux-i686"; sha1 = "9e0149621e049af657f1533a2ceebeb303eea9ff"; } - { locale = "ca"; arch = "linux-x86_64"; sha1 = "686bf22667c5c621e2182626edc21cb549253f8e"; } - { locale = "cs"; arch = "linux-i686"; sha1 = "38d487b5c1193608a3c4f9e83978c34f5c70e668"; } - { locale = "cs"; arch = "linux-x86_64"; sha1 = "2031026f3989429b87eaba9ceef96b7b59921725"; } - { locale = "cy"; arch = "linux-i686"; sha1 = "27f44852ca65bb2dd61375d7d52eb4a7b30d5cbe"; } - { locale = "cy"; arch = "linux-x86_64"; sha1 = "148da60b7247c602082c99ae451e62261602d6c4"; } - { locale = "da"; arch = "linux-i686"; sha1 = "4bec4af409742393fc91ff74689ede4dc872b0c2"; } - { locale = "da"; arch = "linux-x86_64"; sha1 = "e7a918306d7195a97933761699b74920b9d6bd2e"; } - { locale = "de"; arch = "linux-i686"; sha1 = "9295267b1d2e308335166e9ceaeedb7c223c6f5c"; } - { locale = "de"; arch = "linux-x86_64"; sha1 = "adab84a80a4cd32be09c6a90e47f99b4428024bb"; } - { locale = "dsb"; arch = "linux-i686"; sha1 = "79687bd933bb08a9c789976913a5ae7d90d4ef15"; } - { locale = "dsb"; arch = "linux-x86_64"; sha1 = "4c307bc31606a579b007cee13d1e7bf3a14f5286"; } - { locale = "el"; arch = "linux-i686"; sha1 = "02d0e04554ef168b84143b78180b9280c4ce4410"; } - { locale = "el"; arch = "linux-x86_64"; sha1 = "8c84668f4a856a5b5bcedc694d261bbeab71dfea"; } - { locale = "en-GB"; arch = "linux-i686"; sha1 = "c5949c47c761ee65707877a9449cd4f9aff3a76a"; } - { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "c9a2fb70e37861983d33b5fe0c999e6091671fc1"; } - { locale = "en-US"; arch = "linux-i686"; sha1 = "c6fc2b42f50ae06c7fd91823ed61d755e0356d9b"; } - { locale = "en-US"; arch = "linux-x86_64"; sha1 = "68664136ec20e48faa4516d6a7d48081a365d3b2"; } - { locale = "en-ZA"; arch = "linux-i686"; sha1 = "4393198c2b4849d840b0e9c1e5ccbf20cbc9cf79"; } - { locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "e533254eb720b64ca76ab3507a422e923048a7b7"; } - { locale = "eo"; arch = "linux-i686"; sha1 = "b4ebd01b5491c5ba159cf239783e4e5caef04690"; } - { locale = "eo"; arch = "linux-x86_64"; sha1 = "b25dc3f751e89e517f8cb1850ada4fdfbadf9f4a"; } - { locale = "es-AR"; arch = "linux-i686"; sha1 = "0839ccab9c807979f56346dc2470a56f5581ae68"; } - { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "a82c320792f2ea05b29c5bc5ed643035d442fb95"; } - { locale = "es-CL"; arch = "linux-i686"; sha1 = "9d9d9261fbb51a830a10e83037b22e447ad6c27d"; } - { locale = "es-CL"; arch = "linux-x86_64"; sha1 = "07dee6c8bc2c980ecb8cd8cbb5a63600cf362f5f"; } - { locale = "es-ES"; arch = "linux-i686"; sha1 = "b01a5d91bdaade225269d3cf11d2084cfd4761cf"; } - { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "4bfbf00ea35a78de8b090c08757f670c4627eef2"; } - { locale = "es-MX"; arch = "linux-i686"; sha1 = "7f23abb538237c2ee92877d8f101f4673ac0f2da"; } - { locale = "es-MX"; arch = "linux-x86_64"; sha1 = "cc75fba6bf1744d22aa74608bf09671b9d81506e"; } - { locale = "et"; arch = "linux-i686"; sha1 = "b4805599f84bbde52e46c2d171eca6107cba2aba"; } - { locale = "et"; arch = "linux-x86_64"; sha1 = "2893a417c825ea340c4ff1002679d0b2fd832903"; } - { locale = "eu"; arch = "linux-i686"; sha1 = "9f44826b49aa5302e1219f593b53d91ae9b158ab"; } - { locale = "eu"; arch = "linux-x86_64"; sha1 = "01367745cf5e68adedba8459e837d15d4be6bdb4"; } - { locale = "fa"; arch = "linux-i686"; sha1 = "776a0d78acc1f4cf4f1f6bfb6dfad251ad3ffd97"; } - { locale = "fa"; arch = "linux-x86_64"; sha1 = "aaa3ee98401cbe9d1e55284260077117eb80b6c2"; } - { locale = "ff"; arch = "linux-i686"; sha1 = "1294a53f08e1527b215ced2ac588c1f8c4f64c76"; } - { locale = "ff"; arch = "linux-x86_64"; sha1 = "ea127b16239a3c7916399f824ea0f06201509271"; } - { locale = "fi"; arch = "linux-i686"; sha1 = "84075e77d0cf621992620c9b1783da1306a83d95"; } - { locale = "fi"; arch = "linux-x86_64"; sha1 = "1c944f62ead881b5b48288afefb925db7cfbacde"; } - { locale = "fr"; arch = "linux-i686"; sha1 = "30eeed505e00b77aad1a31a969db78191e87cf87"; } - { locale = "fr"; arch = "linux-x86_64"; sha1 = "562f2d0c347dc531c8ac663e9ece59691394b148"; } - { locale = "fy-NL"; arch = "linux-i686"; sha1 = "8679515a53b1ef3f763c7b569ab326704988ca82"; } - { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "d8f3db4850fe58c7d059c368993f066d241b021f"; } - { locale = "ga-IE"; arch = "linux-i686"; sha1 = "508a198d8b02b25587d40ad246d5bdc1a44988b9"; } - { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "1a335d85bb0173b71de3d70c1d147cb905166e92"; } - { locale = "gd"; arch = "linux-i686"; sha1 = "316a75f2ee606b19eb83c5b8cd57258a8a6dc1dc"; } - { locale = "gd"; arch = "linux-x86_64"; sha1 = "55504df9a96de3319d2b3610512a6e2a2eed9cb9"; } - { locale = "gl"; arch = "linux-i686"; sha1 = "06be057d4d5480e239b5e368d16efe72c75196a2"; } - { locale = "gl"; arch = "linux-x86_64"; sha1 = "9026a4497593920a004cc1aec8ef0353144a56da"; } - { locale = "gu-IN"; arch = "linux-i686"; sha1 = "1149415676f1e3b9c9280c0579e0daff1da4b729"; } - { locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "6b0047659dbe79c57949baf759ab17c498208d58"; } - { locale = "he"; arch = "linux-i686"; sha1 = "118dd35ef57c44057da4808884fbc8f8c8181246"; } - { locale = "he"; arch = "linux-x86_64"; sha1 = "c37aa77d1ff50384c6482efd67fa2fd3c9a13f9f"; } - { locale = "hi-IN"; arch = "linux-i686"; sha1 = "d9259311610b6fe978f2e45beda9f2a1b78c6cfa"; } - { locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "b68136415d53dfb865fe82132457abf5016f4df0"; } - { locale = "hr"; arch = "linux-i686"; sha1 = "a6a6e98ac3932b5332b423a730806e4ee4bf834f"; } - { locale = "hr"; arch = "linux-x86_64"; sha1 = "34b8017490d86359fa6530fa5c3b1b5b15975c28"; } - { locale = "hsb"; arch = "linux-i686"; sha1 = "f8560358636bfd0d705b963b248dcdce34bbdb5d"; } - { locale = "hsb"; arch = "linux-x86_64"; sha1 = "287aba425ef473b8fe5c0ff0a8d75fafd8448bf2"; } - { locale = "hu"; arch = "linux-i686"; sha1 = "6cbe1731f7d28f91e4ce86e2d8a9816fc35eb3bd"; } - { locale = "hu"; arch = "linux-x86_64"; sha1 = "797ef6d8493bf3515ba25096dc8daeea8b9513f4"; } - { locale = "hy-AM"; arch = "linux-i686"; sha1 = "f2b64ab6b75736d93c8480854dc56563624c2b9d"; } - { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "8609dd55931b027665e3763ca13b7e6b9a313ca1"; } - { locale = "id"; arch = "linux-i686"; sha1 = "698a344f8ecf81f2d1a8526a32e3771e8461e809"; } - { locale = "id"; arch = "linux-x86_64"; sha1 = "291eb09d08e552231726639c9055d53ca5c2c016"; } - { locale = "is"; arch = "linux-i686"; sha1 = "fb30ef94ce3f31e65c67f176ed7adb59d91cf81e"; } - { locale = "is"; arch = "linux-x86_64"; sha1 = "ad932eb32b20745f34f91fdd91dc32bda217b19f"; } - { locale = "it"; arch = "linux-i686"; sha1 = "eae49df656303ae15411d398f998b21bd0e1657d"; } - { locale = "it"; arch = "linux-x86_64"; sha1 = "5461ae930d32eb51f2ffdcfc5bc22104454088df"; } - { locale = "ja"; arch = "linux-i686"; sha1 = "addac275389073eef9d0fbc296738eb3a61d532d"; } - { locale = "ja"; arch = "linux-x86_64"; sha1 = "6e07be0a7261d18b081241d237acb5c8d3f1b3b1"; } - { locale = "kk"; arch = "linux-i686"; sha1 = "85e79bf11e71b9163fa44e9bae325d10b8efd761"; } - { locale = "kk"; arch = "linux-x86_64"; sha1 = "1bab828e561666296b5e81bc191139d0f1609764"; } - { locale = "km"; arch = "linux-i686"; sha1 = "9651d39d746ceaadef2b7eda2bdb766beb4bf649"; } - { locale = "km"; arch = "linux-x86_64"; sha1 = "3d5ab65a949d78d8be8fc5ef7da2bbfe4fb76175"; } - { locale = "kn"; arch = "linux-i686"; sha1 = "ce1ba808ae2433cec57c7f46288cc5b19e127fc6"; } - { locale = "kn"; arch = "linux-x86_64"; sha1 = "8ab3ac9d4e1fcb034a726c85f4de64e8908a752f"; } - { locale = "ko"; arch = "linux-i686"; sha1 = "34914da7a6e0f1806f04fcb4327a7debdb90a2ea"; } - { locale = "ko"; arch = "linux-x86_64"; sha1 = "6084229e0f1b0861ad35ac958e8d788918955f1d"; } - { locale = "lij"; arch = "linux-i686"; sha1 = "a768cadd13ae282e977b44f18e71d232aeba5f56"; } - { locale = "lij"; arch = "linux-x86_64"; sha1 = "e47841fd4827a907380fe605643898dd8d88cf99"; } - { locale = "lt"; arch = "linux-i686"; sha1 = "10e8a3d6833f904d181daf974b6da2792681f824"; } - { locale = "lt"; arch = "linux-x86_64"; sha1 = "411ce9b9b89722de20310bc32b38edb82454ff58"; } - { locale = "lv"; arch = "linux-i686"; sha1 = "8d2ec7350ba90242a152024681e0812a6260f064"; } - { locale = "lv"; arch = "linux-x86_64"; sha1 = "9035394603007edd34946d32230386e4ebf861ce"; } - { locale = "mai"; arch = "linux-i686"; sha1 = "2df94bc41f93706d671de419481d8c90468b9fb0"; } - { locale = "mai"; arch = "linux-x86_64"; sha1 = "6f534e605bc96dfde98b699ca8b31d7b542f3342"; } - { locale = "mk"; arch = "linux-i686"; sha1 = "6d83eec6d7b54dad5c926da0efe7f205442ec7f8"; } - { locale = "mk"; arch = "linux-x86_64"; sha1 = "7e1c3bddcbeadebcaf1a2c0d30940617662f998d"; } - { locale = "ml"; arch = "linux-i686"; sha1 = "7b8cfb0adf27ca3cbe70b90b45a15e6ce17ecd6c"; } - { locale = "ml"; arch = "linux-x86_64"; sha1 = "8dada691c38ea84829e8f097d3a4c8c8f92b5dbb"; } - { locale = "mr"; arch = "linux-i686"; sha1 = "2f2558df6b06b948e1d80a6721021aff6080e23e"; } - { locale = "mr"; arch = "linux-x86_64"; sha1 = "6f6fda2c3c4194f4ec309c0ff9585c8f5f764f13"; } - { locale = "ms"; arch = "linux-i686"; sha1 = "3006ffc5a77760fb42f3e3ec47185f09cdb2bd71"; } - { locale = "ms"; arch = "linux-x86_64"; sha1 = "a5f6a23ba5ee065186fd6abde7678218013a1904"; } - { locale = "nb-NO"; arch = "linux-i686"; sha1 = "b4418503c6d4c6eb558f5ecbf752014e4daa9940"; } - { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "8551b8464566f57313b394de089545c5e3d30673"; } - { locale = "nl"; arch = "linux-i686"; sha1 = "e2fb71322600bee83e601309c956c8192dbdf2d7"; } - { locale = "nl"; arch = "linux-x86_64"; sha1 = "042a29623fca08048dddb2e3ecbde03fd4453d36"; } - { locale = "nn-NO"; arch = "linux-i686"; sha1 = "f72a166a539df1e45f8d9c5cd5529b2d0d01e813"; } - { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "f66d7d7f6218cd0f320ad1061aead0733ccab242"; } - { locale = "or"; arch = "linux-i686"; sha1 = "81f146d076fc68fd87956001b31a34adac1d1af0"; } - { locale = "or"; arch = "linux-x86_64"; sha1 = "87d7d7a747f83a26b1f9b501d902e88032af38da"; } - { locale = "pa-IN"; arch = "linux-i686"; sha1 = "49239260e0abb385e5b3c6ae23c0a809306402e8"; } - { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "105fae6a1e1e9a4ae186054c6bcb418ab607d587"; } - { locale = "pl"; arch = "linux-i686"; sha1 = "4f5d41cbe93f931d3751b7cf229ea0781edf9c7c"; } - { locale = "pl"; arch = "linux-x86_64"; sha1 = "0cce4925e602d36e9c25a6691b60dc61680c45bb"; } - { locale = "pt-BR"; arch = "linux-i686"; sha1 = "3b98ed2e3186ef2b6cd418fa45faec6a5acbbdd2"; } - { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "ccaab26ba92b44b60a1de4e1d75504e0233cbc76"; } - { locale = "pt-PT"; arch = "linux-i686"; sha1 = "159941d190c72b219586450acf1214f039d7207b"; } - { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "c650d657e97653364926ad1b877d3a186d3d6dca"; } - { locale = "rm"; arch = "linux-i686"; sha1 = "2b79dbc77bbf971a2856ae80107fabe0aa0e18cb"; } - { locale = "rm"; arch = "linux-x86_64"; sha1 = "e8584e6791dd50626cd9dcafe45e5536a1eb35fd"; } - { locale = "ro"; arch = "linux-i686"; sha1 = "8083ae297080f3543751a24ca3f8638a8bbc2a02"; } - { locale = "ro"; arch = "linux-x86_64"; sha1 = "43967d6adbe01454696de9330f056731048458a9"; } - { locale = "ru"; arch = "linux-i686"; sha1 = "c939bd0154475d4c3153446b6f6de1d5e17b1215"; } - { locale = "ru"; arch = "linux-x86_64"; sha1 = "58bc5cb7c33063455ea2ed79da9b9c38d2a8e061"; } - { locale = "si"; arch = "linux-i686"; sha1 = "4f66548142a828b9331f9588955eeae7ff8b4ffd"; } - { locale = "si"; arch = "linux-x86_64"; sha1 = "795f8920aafdf38feae90d6cf9013bb4da4d275c"; } - { locale = "sk"; arch = "linux-i686"; sha1 = "7fc858a8bea682e6c4b0b46dc0036f5b33d569b6"; } - { locale = "sk"; arch = "linux-x86_64"; sha1 = "15c049314dd8beb396c4f8f169b5c5d522d53d31"; } - { locale = "sl"; arch = "linux-i686"; sha1 = "2abcb66b66093b4b5a5c502d50b395d3967d5375"; } - { locale = "sl"; arch = "linux-x86_64"; sha1 = "deda484b890c22c0c15845891eb5ece860ecbca2"; } - { locale = "son"; arch = "linux-i686"; sha1 = "b031c68c64e77ae2e6332c141f367052afb571ba"; } - { locale = "son"; arch = "linux-x86_64"; sha1 = "2e6b18cb89b6bb6299caa0dd3c128e170984f394"; } - { locale = "sq"; arch = "linux-i686"; sha1 = "88295bd36eaa1ec0ba42b1b2eb8af581ef2efe51"; } - { locale = "sq"; arch = "linux-x86_64"; sha1 = "8e8b4782d6352bfe055482c2d82bc5356bb8059c"; } - { locale = "sr"; arch = "linux-i686"; sha1 = "399cd05823725f4e5d5514aad3c32716a7b69fb3"; } - { locale = "sr"; arch = "linux-x86_64"; sha1 = "d78069ed45897c256860cb7a2be74c42906f277c"; } - { locale = "sv-SE"; arch = "linux-i686"; sha1 = "90b136366b4309258417725c7979e424cd20236e"; } - { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "e604010468adfb6d6925c3d6e82b95a6836bd645"; } - { locale = "ta"; arch = "linux-i686"; sha1 = "d81a2a85e1f01f55d8e65b82d703a89391aff87a"; } - { locale = "ta"; arch = "linux-x86_64"; sha1 = "dbbd03bf0deae8dd50c264217c38d66eb8f6abb6"; } - { locale = "te"; arch = "linux-i686"; sha1 = "b9e27b19acdf0c6c97b85361e51d04ef4dfb71ef"; } - { locale = "te"; arch = "linux-x86_64"; sha1 = "a78bffc96adcedc797cd328c3aeda5cb59ff5154"; } - { locale = "th"; arch = "linux-i686"; sha1 = "df7728a57a7f46035b5a5b491c34110a1871316c"; } - { locale = "th"; arch = "linux-x86_64"; sha1 = "8ccd4665a12b5db9ab8457c2363243a1cbcd05ed"; } - { locale = "tr"; arch = "linux-i686"; sha1 = "49dca58d2925f70c8ec7fd7d28d04475c05acff1"; } - { locale = "tr"; arch = "linux-x86_64"; sha1 = "ae887516cf189462a38240d62a608f1bd86713fa"; } - { locale = "uk"; arch = "linux-i686"; sha1 = "fa1d11f740987538c0ca3967b3428a341e2f1c8d"; } - { locale = "uk"; arch = "linux-x86_64"; sha1 = "f65ae80186d0fa616197ee46968ec94c0dbebc2d"; } - { locale = "uz"; arch = "linux-i686"; sha1 = "69b24ed58ca2db356bf97c809f91b3551e9f1b20"; } - { locale = "uz"; arch = "linux-x86_64"; sha1 = "2fb40c9c55f1e0eb83602fa7cb06415846657b67"; } - { locale = "vi"; arch = "linux-i686"; sha1 = "1817398c00bfff76c09151450cba4e901c0fd93a"; } - { locale = "vi"; arch = "linux-x86_64"; sha1 = "f754bb817367da0640e6bfbe53129a4221250751"; } - { locale = "xh"; arch = "linux-i686"; sha1 = "8c3a7a0da6775d06b75d74e763add35eb2b02969"; } - { locale = "xh"; arch = "linux-x86_64"; sha1 = "724db968c33bfd30540ddb36f8d26e19073aa328"; } - { locale = "zh-CN"; arch = "linux-i686"; sha1 = "de2b4c514a237f120bb0d9de5039a75b8bb519b0"; } - { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "6b6f8caece54a911124b33c3fce9233d760ae46e"; } - { locale = "zh-TW"; arch = "linux-i686"; sha1 = "aa85f39ee92c62d2d1809cf50e158f04a1bb88ea"; } - { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "0f859da4a12559d8b28411b5206b17739ddf869b"; } + { locale = "ach"; arch = "linux-i686"; sha256 = "f45ceba774989f09e6adb226f0e189c69092d9eccf67722b1876695d94b6a988"; } + { locale = "ach"; arch = "linux-x86_64"; sha256 = "78f64d02e5a1548e0b9b9f9c36f1eb151dbc0212805f09658d61a35c8ef94380"; } + { locale = "af"; arch = "linux-i686"; sha256 = "a3cb08c2d3879d46a2fe6b9567664d4c4a996bf10560079936d221e9588c5b76"; } + { locale = "af"; arch = "linux-x86_64"; sha256 = "c580f19ac9909d28e5f3d55c3347893e088471a0fc7f4cb2e42fb1481218a1d3"; } + { locale = "an"; arch = "linux-i686"; sha256 = "61a4fa6a4c3a8c814d3d81bf51e1780c148e366fe1355e621523f419d5e4c583"; } + { locale = "an"; arch = "linux-x86_64"; sha256 = "2bbc6591669258fbc46944577ce6a4a091772b1cb8a4430d88d3f1b911da770c"; } + { locale = "ar"; arch = "linux-i686"; sha256 = "1aa9e3e21c3d678135f009f8541999a18ea38ade9ae3d21b8da07a60d22eab91"; } + { locale = "ar"; arch = "linux-x86_64"; sha256 = "eef01a5315eab457073ff01a51382a46200e84a6e87a91a3e38ab865b3304430"; } + { locale = "as"; arch = "linux-i686"; sha256 = "e3949cd85c439f72e8051ece5c22b18f6802e29311b84c5e88b124ea72ced52f"; } + { locale = "as"; arch = "linux-x86_64"; sha256 = "59178756fcd409765ff88324133bccdd0e43d2961a0fa15e2e53f7ed4fea3bac"; } + { locale = "ast"; arch = "linux-i686"; sha256 = "88440f3f572421c0a7c2e95f3517289a33de474766185bacc0b93ef09673f1df"; } + { locale = "ast"; arch = "linux-x86_64"; sha256 = "ce6fec215b11ecc2e5bd74d2dc47a09de9bcbf3df18e8f270c83967e605985a7"; } + { locale = "az"; arch = "linux-i686"; sha256 = "1b0e3ce4799e4cf3bf6129298895e8aa48c38b6b138c5ebfdd694ae8811e51af"; } + { locale = "az"; arch = "linux-x86_64"; sha256 = "6e0b73fc25a68d57117259043fd5bbd6dfbc8e32ba4090233303c5bf57d858b4"; } + { locale = "be"; arch = "linux-i686"; sha256 = "c50492edb43b2d306c664bb174f89392e68a530eec4fef2aa39335b9d12b0e32"; } + { locale = "be"; arch = "linux-x86_64"; sha256 = "2057d21e45538be260d723cf11bb36e32c79d87530fc19852a2f342d825d75cc"; } + { locale = "bg"; arch = "linux-i686"; sha256 = "f87522d234e50d50509ead2800a804131b769235006aada0a379e46d290b6cc1"; } + { locale = "bg"; arch = "linux-x86_64"; sha256 = "8793acfd7bbcc47e9ee19cfc2cb265a71f7dea5e98222fc541ae66c29bd8c39d"; } + { locale = "bn-BD"; arch = "linux-i686"; sha256 = "d55de132e4d6c49053d2c843f91f7410188f62ee3e4bb56ac8b4370f55475274"; } + { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "a5798d40795689f2c92cfd8cc3605c4a30e23e39d8db43a8e7415cb9e4c75a55"; } + { locale = "bn-IN"; arch = "linux-i686"; sha256 = "28fd24e8e3069de9d1f81aff9e3671a806470e56f17ab0193566c8709eb1c268"; } + { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "dd5b97f1b3acdb2ab1a2f75b4c236ce2b68365840ea6b3703969e57b2eaaf927"; } + { locale = "br"; arch = "linux-i686"; sha256 = "5dd3132f6543c7dd5bf062d1222782b4bfd38b3f95088e2881c0b6f4362f1e3d"; } + { locale = "br"; arch = "linux-x86_64"; sha256 = "69ff22dc400cbaa75e9799929fd2496e8e2db6c5549d848abf642f58e73ad825"; } + { locale = "bs"; arch = "linux-i686"; sha256 = "bfe4feb86124cde6ebd0e2449b5301657f1d62a073e98c888e81307832441b45"; } + { locale = "bs"; arch = "linux-x86_64"; sha256 = "878712c2ff34e27181f8477440b2489c8c4c8b1cd2f6a03724ee4b9b5eabd031"; } + { locale = "ca"; arch = "linux-i686"; sha256 = "a5fd111a60b81a11b233bc2720ca58a307d883a84cb2212644dc07a0acd8ed88"; } + { locale = "ca"; arch = "linux-x86_64"; sha256 = "c8df6e52d22907615c0198a9c061d5836e43427e66964d9235662d1673ec0573"; } + { locale = "cs"; arch = "linux-i686"; sha256 = "6f0ad2a1ec219a8aef9c762235fafc8113a06754aaab2c141812f9f062c1a0c4"; } + { locale = "cs"; arch = "linux-x86_64"; sha256 = "d4a1c8becbeb05da17ffb6d1ba8625b7286a1591fc5f141202542ce769c29c13"; } + { locale = "cy"; arch = "linux-i686"; sha256 = "4bae504ae202fbc75244fd476de80857dc33fe6a7dd3da2555e7efba279a5089"; } + { locale = "cy"; arch = "linux-x86_64"; sha256 = "2133795258e00be82219dbd5f288ab76e5b218a4d298224fedcaf02ddc049b07"; } + { locale = "da"; arch = "linux-i686"; sha256 = "64fbcfa9c645dd0986b85de286347eb223c81db45e405b2e29df47527edfe55a"; } + { locale = "da"; arch = "linux-x86_64"; sha256 = "58af00c544e5a2c9a98cc2cb896db80052ee12e31d4215ae4b08862ac3d3caa3"; } + { locale = "de"; arch = "linux-i686"; sha256 = "b8a48b676494ec7c9af8d24678dd1c719871c297887431b9360dea67d9bafb48"; } + { locale = "de"; arch = "linux-x86_64"; sha256 = "8d6bc67c1db287c00c8782cb33b03ba0076f1b89064cdd0ddefcb37bffddbc68"; } + { locale = "dsb"; arch = "linux-i686"; sha256 = "955968db11698942a86b79a9f5258c4636121e9c3350dfad70eab375f87c08e3"; } + { locale = "dsb"; arch = "linux-x86_64"; sha256 = "f34efb2d427e23ea34a1f24cbbe32d6ce384e1e4055a83afc1d336bb31481095"; } + { locale = "el"; arch = "linux-i686"; sha256 = "bff3a1efcaed403d2e465b92a88076fc0525534593d977423811c30a4abc757a"; } + { locale = "el"; arch = "linux-x86_64"; sha256 = "0d83d214eb61c3d248291141fa6b5e29d72f62a030be39dc4ee7c1781424c421"; } + { locale = "en-GB"; arch = "linux-i686"; sha256 = "593041d5b07665134bd61866b706e11f10168df72c9a033034e95fdecaa6f65c"; } + { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "eab33978a3cd15ad3ed86efd72eda53e65f6addfd352f1f372d8133fea7edc6b"; } + { locale = "en-US"; arch = "linux-i686"; sha256 = "2c44f8ef07896f3e4c4ee555e35ebe5658f2721fdbdee4c70b153387472b781e"; } + { locale = "en-US"; arch = "linux-x86_64"; sha256 = "e3077ca9aa246154acad2a264489e7cc68864035873e6c6d54b7fb3f9b832fd7"; } + { locale = "en-ZA"; arch = "linux-i686"; sha256 = "8b78e83769d468dd7d5e9964ca99fd745f82341f8a426e7af82671c4515c8e70"; } + { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "631da5975f08807bfa4519c1265d082bb6de8ba6b39bbf6c903e08cf5c85b2a3"; } + { locale = "eo"; arch = "linux-i686"; sha256 = "16556716bb0cfcfade4c705bc641317c423dda976f68a1a78bf1b1df08883725"; } + { locale = "eo"; arch = "linux-x86_64"; sha256 = "cb21a5ea8cb9ded9eb729864d20a538275b8f29e9b7a10ea9d9dcb2b7a2368b3"; } + { locale = "es-AR"; arch = "linux-i686"; sha256 = "3b830fc45a2ad62253d51eb53ae2cf6345bcc2a348e43e5aa19a001506fe3f6e"; } + { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "9ede597d11d798c4369b74e74a67564152a793f4d2a655f422176a1e03d0f6f9"; } + { locale = "es-CL"; arch = "linux-i686"; sha256 = "1384df5e31f49f8f647e21f1d5d4f3a2229dce389857219745d2e2e325c894b4"; } + { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "e1a56a69687e9fe0979602b9256b5f8f3e05596e8af23fc78b0459ad66950158"; } + { locale = "es-ES"; arch = "linux-i686"; sha256 = "258a3ded204f66d20370f4ca34d668da38921302ba6844bb6b49525a911ef1f5"; } + { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "6563107eaadfad91f29b5d3084068ddf2b2959723f0bf38f8287e9b71dfafe68"; } + { locale = "es-MX"; arch = "linux-i686"; sha256 = "00253b3a1c28f55199c74d1cce9fa1aff5cf6a7b3f77385f18836b36c961cbd1"; } + { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "897bfc04b17334ac1499a50c0fede1dda4dd9f667801d50a3c7221409158a39a"; } + { locale = "et"; arch = "linux-i686"; sha256 = "fb4c11f82c492d02f15817c19d4450049ce8532741d6c2733302e06a77ed768a"; } + { locale = "et"; arch = "linux-x86_64"; sha256 = "9e4c22e0e430bab1a85d83f8e77245390ecadc2af9c6fc6d408a1ccb388b5c5c"; } + { locale = "eu"; arch = "linux-i686"; sha256 = "4be07916499253dee47572b0fe03318050f601ecd34a2578e3daaa2423ea0223"; } + { locale = "eu"; arch = "linux-x86_64"; sha256 = "414366c5de7bd58f620a86d69b3fc618b4f2a41103e073197ed6f6326cb34173"; } + { locale = "fa"; arch = "linux-i686"; sha256 = "84dd27e9f3f3736c2364f995b460a401ceccb5df88b9420fc5c4e10bed714ebd"; } + { locale = "fa"; arch = "linux-x86_64"; sha256 = "e1e19b3a13e48ae5db809d781ed94a079dfcc23fef7b084e18589863fdda1e16"; } + { locale = "ff"; arch = "linux-i686"; sha256 = "7de7ded84b96c8208796336b079294cb163e5a1717e7f0263fdbdf061bbd77a2"; } + { locale = "ff"; arch = "linux-x86_64"; sha256 = "0c57b47227db17ec0b5cf05b2c839d01ef09e85e062af145cb063e9b431201a0"; } + { locale = "fi"; arch = "linux-i686"; sha256 = "7bd42dd0dc3f3a9328f41f06f5f4409b611d17e1f3c71dc68b4f87aa1a5403ef"; } + { locale = "fi"; arch = "linux-x86_64"; sha256 = "32aed7d397353791d0eeb4d64003ddc0206f43308020e4e003877741bbc4246a"; } + { locale = "fr"; arch = "linux-i686"; sha256 = "274fb64798147b96c49117444a55b0d27da1ce58c64d0c72a8f4f2445ef8dcfa"; } + { locale = "fr"; arch = "linux-x86_64"; sha256 = "17f3af176ce83481678ba5b496a6c576af1ad01a858714cec0c613219ef78105"; } + { locale = "fy-NL"; arch = "linux-i686"; sha256 = "ef2a32e783456b8be56cc2fe16c4c9f80e174f5cbea5fcb0ffaa9dccc498c1bc"; } + { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "76742465bfb95935e3f5531ef52f0d13021454887f20b5c60d903142e8bf29b7"; } + { locale = "ga-IE"; arch = "linux-i686"; sha256 = "e23cd7c54f08fd952c40d88811ac0a8be7c54b8c44e8e948961c063bd833d720"; } + { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "5f37a8add1753e41a75a1cd8f1edeeae0da89987939684e4f7ef46e139c0f2b6"; } + { locale = "gd"; arch = "linux-i686"; sha256 = "1f65eeaa2e213a9a1bd48e12b978faf21a5cbc4db4e6257edd373c7f08fc63a6"; } + { locale = "gd"; arch = "linux-x86_64"; sha256 = "25398b31be953a54107a38ea9476047e0ad6de8083d1330594522d261ef4f5de"; } + { locale = "gl"; arch = "linux-i686"; sha256 = "13ec763f279c39b0a0082fde0331cde9cc3d9a3aa5155b8853c7acb92bd18d0b"; } + { locale = "gl"; arch = "linux-x86_64"; sha256 = "46208cc319062483f85c5d801bc4822869bce916f78d2dd36670592794a266c3"; } + { locale = "gu-IN"; arch = "linux-i686"; sha256 = "fad30f5fdcf5622b80f391bf2e957466e8955f23b91be2022ab5cc550b993d08"; } + { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "4ef6713e394c72b5d9a5d49899ef952a4587a2f1e0b52307b5062d6807de8ba0"; } + { locale = "he"; arch = "linux-i686"; sha256 = "211cafe7a39b45ca1cf471b2029f8981a26517114fcad3b40f0c5cd702988ee5"; } + { locale = "he"; arch = "linux-x86_64"; sha256 = "ad85f5b69ff0d15f0eb17e81e5976635b3319f583938e0c2dcf59badcea71cc2"; } + { locale = "hi-IN"; arch = "linux-i686"; sha256 = "8ec9ccd458b231d873e4272968be09b50d1629280014deacb2a74a754123208e"; } + { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "1c78e8adb1047be3be2bb6bae776d1fb3e32b6bd888877d33abcbd56b858f70b"; } + { locale = "hr"; arch = "linux-i686"; sha256 = "64436c22be8c7a873634de4d7677c93427c9307be40a95fa73dc509d32900a20"; } + { locale = "hr"; arch = "linux-x86_64"; sha256 = "4485174c761aa49bebc7bbdd5d50ceb2ca70477560406b880181ee4ab5f51b26"; } + { locale = "hsb"; arch = "linux-i686"; sha256 = "d5e6eb225d04124a9582e31de8c996512b9816bcaa72c4ef8d373f3cb77536be"; } + { locale = "hsb"; arch = "linux-x86_64"; sha256 = "65642995943763d35a9816a02d95d3ad7c26f388a731749c96446308bad0d13d"; } + { locale = "hu"; arch = "linux-i686"; sha256 = "2e4a1602fe3dc83f99b60df358e809cfc831d0c173d0fb1a0b5d0bcc8d5fd0be"; } + { locale = "hu"; arch = "linux-x86_64"; sha256 = "39592f757f6066e060446cf9ac051cad58ae5e457dea5d28be8e6573a7712b3b"; } + { locale = "hy-AM"; arch = "linux-i686"; sha256 = "e11c1f746e472855c99706d597107426e4f411ed6ab8f3066417a4bf788f6db7"; } + { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "34fb58fc187a4afafe45f8b9463f725404bfc9fbb8374bbccd95fbe6a6127cfa"; } + { locale = "id"; arch = "linux-i686"; sha256 = "33c1870c5be769d051ff52d0512253316357925c4074c9760ffdd7ae5eb38680"; } + { locale = "id"; arch = "linux-x86_64"; sha256 = "f10a83c55a7164a88c387cff02d5fbca483901b8bface790fd064dc456637004"; } + { locale = "is"; arch = "linux-i686"; sha256 = "312eb8e2613e6723182f1392b0d654488facd31866922241ec7366be3259b42c"; } + { locale = "is"; arch = "linux-x86_64"; sha256 = "d850e5c4e18b1f3daeec9508f3d1a19771109a449a8b40106e20154c3128a43a"; } + { locale = "it"; arch = "linux-i686"; sha256 = "782d2e791c1c241e068a7041244def8d3983c7d65372b8297f54010ed2723db5"; } + { locale = "it"; arch = "linux-x86_64"; sha256 = "dcec427d3c22e7081d4657ea336aa3a2d1b728cc2ae917aadd89f1021fa53e44"; } + { locale = "ja"; arch = "linux-i686"; sha256 = "8f36b884b8480a225a68a1f3583408132b58511bd3666a04c21a88d8ab9e1387"; } + { locale = "ja"; arch = "linux-x86_64"; sha256 = "2727864ae1ebc4e0186214297d59cc531a06306059ccfd4a59d83a084cef81c0"; } + { locale = "kk"; arch = "linux-i686"; sha256 = "50d46466bd31723f3116db503dba0b5d095679233ded63173b8b31740afa8ecc"; } + { locale = "kk"; arch = "linux-x86_64"; sha256 = "5ae23bb07acdbfb45e49eb4afdbb6c84a00331f8c5c9824b9756e2e87f927934"; } + { locale = "km"; arch = "linux-i686"; sha256 = "13e32146820f31f0c87f38b3cb636a6a25c5bdb2dbf3befc909f459b33c0ac71"; } + { locale = "km"; arch = "linux-x86_64"; sha256 = "f81eebb081309200f2cec0cf742ac3aebe06ac09948a05af0961a572bc06b0a1"; } + { locale = "kn"; arch = "linux-i686"; sha256 = "8db58576cbd2cb8f8c61d4278dcd0594c92fa707770255f1397272dacfb420c6"; } + { locale = "kn"; arch = "linux-x86_64"; sha256 = "3a2002a54057c062ef720894147486c68b60e21c4bc57435b2ab1fe0f03f11e7"; } + { locale = "ko"; arch = "linux-i686"; sha256 = "0e0f221ec6917635ea8519473a447ee8a572a439cfd2f5de1e1b4d63cfb1e1a8"; } + { locale = "ko"; arch = "linux-x86_64"; sha256 = "ea4dfbad71d63702377b6a1641667b88ffa270cf37f77e223a88ed2ed6385f3f"; } + { locale = "lij"; arch = "linux-i686"; sha256 = "92af63912444d8ccc43f4b0fa1ec25ad988db4117dc15e58a31c2b783e2922dd"; } + { locale = "lij"; arch = "linux-x86_64"; sha256 = "c93f0e90125fb58b6f9d3281ac580bf46ce7481bbcb5d0162661c7049e7116e8"; } + { locale = "lt"; arch = "linux-i686"; sha256 = "ff6a933c13e5d0bcab3e09915c09489d441f191f06a915ac5953334ae2a613bb"; } + { locale = "lt"; arch = "linux-x86_64"; sha256 = "d82c44370c3b86230c86933a91e533e51c1ff6c6e515ee6a2b53d7aca105694c"; } + { locale = "lv"; arch = "linux-i686"; sha256 = "7595254788ecc0845cd98f9524e20ef0dc2ec01c6efc3e8289b7c930b37fc604"; } + { locale = "lv"; arch = "linux-x86_64"; sha256 = "a349ae40d4bd2bc0be0517bcd2f3149796687a1a3bf31527e92d7bae3020e839"; } + { locale = "mai"; arch = "linux-i686"; sha256 = "4ef3e22d7bea09ccf7a75759725cd3db5ffec1b486026f3d0afee06293e01c3f"; } + { locale = "mai"; arch = "linux-x86_64"; sha256 = "2a6c645773c6ec3230ae66f850d151fd8ccbe4d65e5d3b241948341b003c2fe8"; } + { locale = "mk"; arch = "linux-i686"; sha256 = "d50d81cb4eab09166d6636c2964143b5fa7cdf909b5eb2eddb2103679f86ba71"; } + { locale = "mk"; arch = "linux-x86_64"; sha256 = "51a4c986a7b85ad140d0fc0e952426d103307013bce72e395873171afa8d0a8f"; } + { locale = "ml"; arch = "linux-i686"; sha256 = "57d9e6ec5ddbf3eea9e07d85d5d84998e70a764260d73f38d32fe71a55ac3720"; } + { locale = "ml"; arch = "linux-x86_64"; sha256 = "50cf19e1b07ea43dffe37a59fdc969d8e8d46df100c15455e4ac2d4b202a00d7"; } + { locale = "mr"; arch = "linux-i686"; sha256 = "98b4d4ac2148e37b741842386333707d8789b2cfacf7ecd7adab3162c43307d8"; } + { locale = "mr"; arch = "linux-x86_64"; sha256 = "77e825a071f826c5668475e33a6a06f3fe3e49306e045fbc9a0a76843e66eb7d"; } + { locale = "ms"; arch = "linux-i686"; sha256 = "a8c2c8db2ecb76070d54a5cc8cf6c31027a843490a54875e4b66e8e3dd212fa4"; } + { locale = "ms"; arch = "linux-x86_64"; sha256 = "54d387432363074ff79a72f6a517b86b7fd76637caa5389a09f7e3ec11965512"; } + { locale = "nb-NO"; arch = "linux-i686"; sha256 = "a2f14933978e45ab472a85bf6278879617b61273f3358c67e6180171d6e9ab5c"; } + { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "578da776b395c07ccf7525f7f7c2a807daf994807a30f2a0c2bee9d2ea6b977c"; } + { locale = "nl"; arch = "linux-i686"; sha256 = "49e079241dcea98a08d27708d918dcc9e530f30368b9b67006f16fc5e24ab29d"; } + { locale = "nl"; arch = "linux-x86_64"; sha256 = "b165e97cf3408ef9c7d04f25b7b15924954ed65c78e25c853fb33bd98c751bda"; } + { locale = "nn-NO"; arch = "linux-i686"; sha256 = "aad675288be4c1c6e4751b3c32f3e5e569e8348a580e7c2497ab61cbd2fe733b"; } + { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "c1128bde1d7030d367cf14833c8a775f1a8790a6a159171cfe55ab369f803b84"; } + { locale = "or"; arch = "linux-i686"; sha256 = "28fc9d508d0f86da87060080bea805fc089cb297a82849d7b75fde1d7c35dea8"; } + { locale = "or"; arch = "linux-x86_64"; sha256 = "f3879c6bc8b24d4cccbd559b4ee480ee42008187aac403c35a82fa3aa67cf733"; } + { locale = "pa-IN"; arch = "linux-i686"; sha256 = "262a496547689093ee22ce31b056cc1727cba9a690ea2fd5729e0694e710e6b5"; } + { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "67c9a3db932ee1e890f2b0373b160f7a1db2481263919179f34d24e1bb73869d"; } + { locale = "pl"; arch = "linux-i686"; sha256 = "6b561482f0289c085cccd3d331bf7135cec47bf4e56d5a23c86341191e175484"; } + { locale = "pl"; arch = "linux-x86_64"; sha256 = "c47b600afa999bc38eaf964def0d8e3e64a6f8dc2ebee14b125885773be37527"; } + { locale = "pt-BR"; arch = "linux-i686"; sha256 = "df1f14d353406d367f7c9a3fbec66544ad8ae8f70cd8cf2b8dedcea40f3acd04"; } + { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "fe07b106b9783d3b91f31deb55ddf006cbe51e485d6bbf181025edadce7e587f"; } + { locale = "pt-PT"; arch = "linux-i686"; sha256 = "6a4e39b78336f07463887a712a3b5a11f9d9f3be4d2e1be36970d17a554b9d39"; } + { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "1df70f54c4e59625740635c99a900738f25ae67707536c86511d98253a1b7207"; } + { locale = "rm"; arch = "linux-i686"; sha256 = "9e56b6a6831877bf5cf9c3299ab305ec06014044285dc635dc4951403024e1c4"; } + { locale = "rm"; arch = "linux-x86_64"; sha256 = "2d89a4dc8590db8a54c7f2d9d126222ce152eff831170b497b657b64df1cbef3"; } + { locale = "ro"; arch = "linux-i686"; sha256 = "f7006e2dc8a99c47bafcaae9138f752fd9ee014969ee6db5e440724cf124ce9c"; } + { locale = "ro"; arch = "linux-x86_64"; sha256 = "6b42002b7ba893675ab6da994c0e43129ab2cb4bd3ed361c0f2a116167960ace"; } + { locale = "ru"; arch = "linux-i686"; sha256 = "b7eef5ad76fdc48894be4b20ccd19d42c966235905c8362b2e262c9da729fac7"; } + { locale = "ru"; arch = "linux-x86_64"; sha256 = "efde30e2e473b667b134487c2e16459e72eb41a63c916a660cba847ee9c5ee7b"; } + { locale = "si"; arch = "linux-i686"; sha256 = "365eeb713360303af2880362aca5edb62a3370ec0a65eebb1fd72cf11a509543"; } + { locale = "si"; arch = "linux-x86_64"; sha256 = "43338a5a36278e07d76316eee4b7e0aa07a99123f1ea124650ea5357288b6daa"; } + { locale = "sk"; arch = "linux-i686"; sha256 = "c552413717efe35a1b70d4745c9ed3ecf50eead210225daf1b922d25022026ee"; } + { locale = "sk"; arch = "linux-x86_64"; sha256 = "fb92a066a27de4328dd4aa5ae4091513ee021a94167ca7f2174cd1809f311799"; } + { locale = "sl"; arch = "linux-i686"; sha256 = "5ede91c27358d812a7fe0f4cfc4516d5802e516c0c4c3ede44f5535dff04ca87"; } + { locale = "sl"; arch = "linux-x86_64"; sha256 = "f301a92ea7d165d20c23af0d4004a679f6dc1f7574cd34bd92be4cae7d36eaa6"; } + { locale = "son"; arch = "linux-i686"; sha256 = "816ef59d8ab566967c38944df4884a75e1d15f5906bef59c534e80f1f4d31d1b"; } + { locale = "son"; arch = "linux-x86_64"; sha256 = "0bf5149fdffd060773b82c575dbc981e420deb0719a8f4fff9a03c6ba571d5db"; } + { locale = "sq"; arch = "linux-i686"; sha256 = "3e43a60388d2cceb306d7a70e984ded6dacb0a968b78ed8a4032ac60d7c1cc6c"; } + { locale = "sq"; arch = "linux-x86_64"; sha256 = "6c0fa8dcf9359e8aa1244512f1d264b8684191f4bfb062c802f21009862c26e6"; } + { locale = "sr"; arch = "linux-i686"; sha256 = "1df63b2753dd55d69d0990f3f34f9574dd34289cb64726da45fcc891b6a83088"; } + { locale = "sr"; arch = "linux-x86_64"; sha256 = "01dec866a74a56fe8652e5b75731c7f508637e875c62a84805fcc0e4636c9e67"; } + { locale = "sv-SE"; arch = "linux-i686"; sha256 = "6f3f5b62e475ce4128e11f62a556505e00d5b8dfbd374ae747a16d6f161059dd"; } + { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "0b3cfbb77d291a7fbb14b61c1bb1936dcec5f66af55c3c0b92e9dd4299c9b897"; } + { locale = "ta"; arch = "linux-i686"; sha256 = "357f182c2df19bdd97834bb714f979253bb4a16029d115a12e66bb7c20ff5a1a"; } + { locale = "ta"; arch = "linux-x86_64"; sha256 = "013d771a256e84d6faf97c84edd5ed25bd5d700712f9aa4aef54ff257b530c21"; } + { locale = "te"; arch = "linux-i686"; sha256 = "59ba28b5c3aefa5455af1f1b549018dda9d544aca4829190af4e361b2eb164f0"; } + { locale = "te"; arch = "linux-x86_64"; sha256 = "e181876679ef2c5a289d5697fefde0acc64c936237b907fab7e6d000cbaee5a4"; } + { locale = "th"; arch = "linux-i686"; sha256 = "57545f48f6c1ff7a5ba2aa43d61446aca4d9e8f5f6f1bf70cdbb75d72d4b9713"; } + { locale = "th"; arch = "linux-x86_64"; sha256 = "e2c70247a333447f100bfb87be9f9f7e6f3398ac22623627b016e046afcd7a26"; } + { locale = "tr"; arch = "linux-i686"; sha256 = "f0d6f1053ffc9396657485f58c3bd33ee616a1b474b72a78e0b14960a0818646"; } + { locale = "tr"; arch = "linux-x86_64"; sha256 = "101763b31f615b301b1e040df7a0219456446695f9edf75580ce6fbcf061142b"; } + { locale = "uk"; arch = "linux-i686"; sha256 = "d0c5854b736bfc7f263f7a515a477e209c90fe7d5ed0ca64dd7d16f3d68a6671"; } + { locale = "uk"; arch = "linux-x86_64"; sha256 = "3b78c94708d5b5798e30bbf9956619b694c3484672d0e3f473dbbd8898f3c8c4"; } + { locale = "uz"; arch = "linux-i686"; sha256 = "0870ba372c7abfa95bc9da5d5b7f501b3137208d084f25a3ca88a09c8395ec6b"; } + { locale = "uz"; arch = "linux-x86_64"; sha256 = "87f6ea282450521a786944d516c26ff8cbe14a2f24df11fa80c343aca5dcbd3f"; } + { locale = "vi"; arch = "linux-i686"; sha256 = "088be2a9815914a8637163493636acaae40c0348e1b7f064b1ea5181c114a77e"; } + { locale = "vi"; arch = "linux-x86_64"; sha256 = "b68fc3fc98ecba457ffac3e191b1ef6c1512b826a9dd1b9a301858b8051453c2"; } + { locale = "xh"; arch = "linux-i686"; sha256 = "83095d26d9a73c3113a98c902f31565a3e358ee1aa4ec37976fb72cbc8470845"; } + { locale = "xh"; arch = "linux-x86_64"; sha256 = "642026251591bc1eb1ca1200db1b232981d019d8664cfa216777e12b591606d4"; } + { locale = "zh-CN"; arch = "linux-i686"; sha256 = "a3289ad36a1a3b5affc721a7a2b509d9151049e50209f62c92592d7cd17c96d8"; } + { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "f53e14f1ce29b172acba3d58b5ca6da3ff03a121aaf224949a88a2fed96aaa9d"; } + { locale = "zh-TW"; arch = "linux-i686"; sha256 = "a471944312b7f2a04a0f1df4a897f63c41cd74c0645d890d95bce6d725a2ae2d"; } + { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "d0d201cff0b8dcc59224645d4f4ab15fa14fe131a30897242e5692729894abed"; } ]; } diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix new file mode 100644 index 000000000000..b05da9c67000 --- /dev/null +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -0,0 +1,120 @@ +{ stdenv, buildEnv, fetchurl, patchelf, bash + +# Linked dynamic libraries. +, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr +, libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite +, alsaLib, libXdamage, libXtst, libXrandr, expat, cups +, dbus_libs, gtk, gdk_pixbuf, gcc + +# Will crash without. +, udev + +# Loaded at runtime. +, libexif + +# Additional dependencies according to other distros. +## Ubuntu +, liberation_ttf, curl, utillinux, xdg_utils, wget +## Arch Linux. +, flac, harfbuzz, icu, libpng, libopus, snappy, speechd +## Gentoo +, bzip2, libcap + +# Which distribution channel to use. +, channel ? "stable" + +# Necessary for USB audio devices. +, pulseSupport ? true, libpulseaudio ? null + +}: + +with stdenv.lib; + +with (import ../chromium/source/update.nix { + inherit (stdenv) system; +}).getChannel channel; + +let + dist = if channel == "dev" then "unstable" else channel; + + opusWithCustomModes = libopus.override { + withCustomModes = true; + }; + + env = buildEnv { + name = "google-chrome-env"; + paths = [ + glib fontconfig freetype pango cairo libX11 libXi atk gconf nss nspr + libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite + alsaLib libXdamage libXtst libXrandr expat cups + dbus_libs gtk gdk_pixbuf gcc + udev + libexif + liberation_ttf curl utillinux xdg_utils wget + flac harfbuzz icu libpng opusWithCustomModes snappy speechd + bzip2 libcap + ] + ++ optional pulseSupport libpulseaudio; + }; +in stdenv.mkDerivation rec { + inherit version; + + name = "google-chrome-${version}"; + + src = fetchurl binary; + + buildInputs = [ env patchelf ]; + + unpackPhase = '' + ar x $src + tar xf data.tar.xz + ''; + + installPhase = '' + exe=$out/bin/google-chrome-${dist} + rpath="${env}/lib:${env}/lib64" + + mkdir -p $out/bin $out/share + + cp -a opt/* $out/share + cp -a usr/share/* $out/share + + substituteInPlace $out/share/applications/google-chrome.desktop \ + --replace /usr/bin/google-chrome-${dist} $exe + substituteInPlace $out/share/gnome-control-center/default-apps/google-chrome.xml \ + --replace /opt/google/chrome/google-chrome $exe + substituteInPlace $out/share/menu/google-chrome.menu \ + --replace /opt $out/share \ + --replace $out/share/google/chrome/google-chrome $exe + + for icon_file in $out/share/google/chrome/product_logo_*[0-9].png; do + num_and_suffix="''${icon_file##*logo_}" + icon_size="''${num_and_suffix%.*}" + logo_output_prefix="$out/share/icons/hicolor" + logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps" + mkdir -p "$logo_output_path" + mv "$icon_file" "$logo_output_path/google-chrome.png" + done + + cat > $exe << EOF + #!${bash}/bin/sh + export LD_LIBRARY_PATH=$rpath\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} + export PATH=${env}/bin\''${PATH:+:\$PATH} + $out/share/google/chrome/google-chrome "\$@" + EOF + chmod +x $exe + + for elf in $out/share/google/chrome/{chrome,chrome-sandbox,nacl_helper}; do + patchelf --set-rpath $rpath $elf + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf + done + ''; + + meta = { + description = "A freeware web browser developed by Google"; + homepage = "https://www.google.com/chrome/browser/"; + license = licenses.unfree; + maintainers = [ maintainers.msteen ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix index b8aa17803e9f..81a05b360162 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix @@ -32,6 +32,6 @@ stdenv.mkDerivation rec { homepage = http://fribid.se; license = with licenses; [ gpl2 mpl10 ]; maintainers = [ maintainers.edwtjo ]; - platforms = with platforms; linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/cluster/chronos/default.nix b/pkgs/applications/networking/cluster/chronos/default.nix index 596163336f7b..974c085bdc16 100644 --- a/pkgs/applications/networking/cluster/chronos/default.nix +++ b/pkgs/applications/networking/cluster/chronos/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { license = licenses.asl20; description = "Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules"; maintainers = with maintainers; [ offline ]; - platforms = with platforms; unix; + platforms = platforms.unix; broken = true; # doesn't build http://hydra.nixos.org/build/25768319 }; } diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix index 6f92ca5a6b70..bb7a60f2b27f 100644 --- a/pkgs/applications/networking/cluster/mesos/default.nix +++ b/pkgs/applications/networking/cluster/mesos/default.nix @@ -137,6 +137,6 @@ in stdenv.mkDerivation rec { license = licenses.asl20; description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks"; maintainers = with maintainers; [ cstrahan offline rushmorem ]; - platforms = with platforms; linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index 2b3296d502d7..dc11c086f9f5 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -20,11 +20,11 @@ let # NOTE: When updating, please also update in current stable, as older versions stop working - version = "3.10.9"; + version = "3.10.11"; sha256 = { - "x86_64-linux" = "1kg6x1z8if63s15464xiz59qwncb5xhv108icicb5s2yhjzzyi29"; - "i686-linux" = "172x9f7x425w5ljr6xa0srvv19qysmvr3gs3jkbmnxfwrfxyxf79"; + "x86_64-linux" = "1bs8bscg9sihpmcdrsi1y4128a03s82fwb4df459afx459i7ir82"; + "i686-linux" = "0cl868m303fsqv5ac8d8ygjywm6wgmirs60f35l1piv13cyj92ll"; }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); arch = diff --git a/pkgs/applications/networking/feedreaders/rsstail/default.nix b/pkgs/applications/networking/feedreaders/rsstail/default.nix index 1a36dd8ae205..62054ef0613d 100644 --- a/pkgs/applications/networking/feedreaders/rsstail/default.nix +++ b/pkgs/applications/networking/feedreaders/rsstail/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ''; homepage = http://www.vanheusden.com/rsstail/; license = licenses.gpl2Plus; - platforms = with platforms; linux; + platforms = platforms.linux; maintainers = with maintainers; [ nckx ]; }; } diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix index b29165fde97c..2c3b502e3c35 100644 --- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix @@ -1,7 +1,8 @@ -{ fetchurl, stdenv +{ fetchurl, stdenv, wrapGAppsHook , curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, hicolor_icon_theme , libarchive, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager , openldap , perl, pkgconfig, poppler, python, shared_mime_info, webkitgtk2 +, glib_networking, gsettings_desktop_schemas # Build options # TODO: A flag to build the manual. @@ -55,8 +56,8 @@ stdenv.mkDerivation { ''; buildInputs = - [ curl dbus dbus_glib gtk gnutls hicolor_icon_theme - libetpan perl pkgconfig python + [ curl dbus dbus_glib gtk gnutls gsettings_desktop_schemas hicolor_icon_theme + libetpan perl pkgconfig python wrapGAppsHook ] ++ optional enableSpellcheck enchant ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ] @@ -91,6 +92,9 @@ stdenv.mkDerivation { enableParallelBuilding = true; + wrapPrefixVariables = [ "GIO_EXTRA_MODULES" ]; + GIO_EXTRA_MODULES = "${glib_networking}/lib/gio/modules"; + postInstall = '' mkdir -p $out/share/applications cp claws-mail.desktop $out/share/applications diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix index dda847fde079..241cfbd5bca7 100644 --- a/pkgs/applications/networking/remote/putty/default.nix +++ b/pkgs/applications/networking/remote/putty/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut, libtool }: stdenv.mkDerivation rec { - version = "0.65"; + version = "0.66"; name = "putty-${version}"; src = fetchurl { url = "http://the.earth.li/~sgtatham/putty/latest/${name}.tar.gz"; - sha256 = "180ccrsyh775hdmxqdnbclfbvsfdp2zk3gsadpa53sj497yw2hym"; + sha256 = "14r9yfqjs61l82q09m8zifgcxrzvs6dvgx32ndl5i1jldkv14wzy"; }; preConfigure = '' diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix index eaa1c5e318aa..fdc27b63e9e3 100644 --- a/pkgs/applications/networking/remote/x2goclient/default.nix +++ b/pkgs/applications/networking/remote/x2goclient/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { description = "Graphical NoMachine NX3 remote desktop client"; homepage = http://x2go.org/; license = licenses.gpl2; - platforms = with platforms; linux; + platforms = platforms.linux; maintainers = with maintainers; [ nckx ]; }; diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 40e3fdef9803..65f3f256368e 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { name = "wireshark-${variant}-${version}"; src = fetchurl { - url = "http://www.wireshark.org/download/src/wireshark-${version}.tar.bz2"; + url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.bz2"; sha256 = "0b7rc1l1gvzcz7gfa6g7pcn32zrcfiqjx0rxm6cg3q1cwwa1qjn7"; }; diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix index ca4c6d24315b..73ab0baca25f 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.6.1"; + name = "znc-1.6.2"; src = fetchurl { url = "http://znc.in/releases/${name}.tar.gz"; - sha256 = "0h61nv5kx9k8prmhsffxhlprf7gjcq8vqhjjmqr6v3glcirkjjds"; + sha256 = "14q5dyr5zg99hm6j6g1gilcn1zf7dskhxfpz3bnkyhy6q0kpgwgf"; }; buildInputs = [ openssl pkgconfig ] diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix new file mode 100644 index 000000000000..df6eabbcff0b --- /dev/null +++ b/pkgs/applications/office/gnucash/2.6.nix @@ -0,0 +1,100 @@ +{ fetchurl, stdenv, pkgconfig, libxml2, libxslt, perl, perlPackages, gconf, guile +, intltool, glib, gtk, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice +, webkit, glibcLocales, gsettings_desktop_schemas, makeWrapper, dconf, file +, gettext, swig, slibGuile, enchant, bzip2, isocodes +}: + +/* +Two cave-ats right now: + 1. HTML reports are broken + 2. You need to have dconf installed (GNOME3 should have it automatically, + otherwise put it in environment.systemPackages), for settings +*/ + +stdenv.mkDerivation rec { + name = "gnucash-2.6.9"; + + src = fetchurl { + url = "mirror://sourceforge/gnucash/${name}.tar.bz2"; + sha256 = "0iw25l1kv60cg6fd2vg11mcvzmjqnc5p9lp3rjy06ghkjfrn3and"; + }; + + buildInputs = [ + # general + intltool pkgconfig libxml2 libxslt glibcLocales file gettext swig enchant + bzip2 isocodes + # glib, gtk... + glib gtk goffice webkit + # gnome... + dconf gconf libgnomecanvas gsettings_desktop_schemas + # financial + libofx aqbanking gwenhywfar + # perl + perl perlPackages.FinanceQuote perlPackages.DateManip + # guile + guile slibGuile + # build + makeWrapper + ]; + + patchPhase = '' + patchShebangs ./src + ''; + + configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking"; + + + postInstall = '' + # Auto-updaters don't make sense in Nix. + rm $out/bin/gnc-fq-update + + #sed -i $out/bin/update-gnucash-gconf \ + # -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|' + + for prog in $(echo "$out/bin/"*) + do + # Don't wrap the gnc-fq-* scripts, since gnucash calls them as + # "perl